Ontech 9035/9040/9015 reverse engineering

Berätta om dina pågående projekt.
ds77
Inlägg: 2207
Blev medlem: 24 juli 2008, 09:38:07
Ort: småland

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av ds77 »

Det kan ju vara så att de sett denna tråden och egentligen inte alls reagerat på trafiken...
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Tja det är ju säkert ganska enkelt att koppla ihop mig med en användare i deras användarregister....

Men jag tror nog att de fick ett larm i deras system, de ser ju både att det finns dataanvändning och att kontot knutet till den dataanvändningen inte loggar några mätvärde.

Blir de fakturerade per MB av telit är det ju inte så konstigt att de vill hålla koll på sim-korten de skickar ut inte missbrukas och har rutiner för detta.

Jag är glad att de upptäckte det så fort så jag inte hann börja köra skarpt, nu har jag möjlighet att hitta ett annat kort...
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

För att gå tillbaka till protokollet kan man konstatera att temeraturen verkligen lagras i två byte.
En för heltalsdelen, i det lite underliga formatet: faktiskt temperatur + 100, undra vad det var för fel på vanliga int8 sättet..
Andra byten innehåller 0-100, decimaldelen i hundradelar....
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Suck, alla mina enheter är ju programmerade för radio kanal 2, då är det ju dumt att jag inte listade ut var den ligger nånstans...
Får bli en trial and error scanning och hoppas på att jag lyckas hitta den... de bör ju använda cc2500 channel selector för att välja frekvens, det är bara 255 att prova med.

De börjar räkna frå 2403.5 och varje kanal är 37.49kHz.
Slutar då bandet på 2500 behövs det 2574 kanaler, så antingen skiftar de inte kanal så eller använder bara en liten bit av bandet.
Det sägs att det använder 16 olika kanaler..

edit:
0x11 verkar vara rätt setting för kanal 2
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

ett antal enheter, vissa med externa givare.
Tre olika typer av paket,
de med längden 0x0B från relä till master
de med längden 0x0D från master till relä
och med längden 0x05 som inte riktigt är klarställt vad de gör.
Första byten är To: addr (0x01 är masterenheten)
Andra är From: addr

Kod: Markera allt

Datum  Klocka   diff   data
170328 090535 1	0b 01 04 34 22 01 01 78 58 7a 03 00 ec 82 
170328 090536 1	0b 01 03 37 22 01 01 78 39 68 37 00 05 83 
170328 090623 47	0d 05 01 61 25 01 01 77 5a 78 5e 00 d4 b9 1f 83 
170328 090735 72	0b 01 04 21 22 01 01 79 05 7a 10 00 1e 85 
170328 090736 1	0b 01 03 34 22 01 01 78 3a 68 37 00 05 83 
170328 090804 28	0b 01 06 2d 22 01 01 78 57 5d 49 00 07 83 
170328 090806 2	0b 01 02 28 22 01 01 78 57 79 50 00 06 82 
170328 090833 27	05 06 01 2a 02 00 37 81 
170328 090935 62	0b 01 04 2c 22 00 01 79 13 7a 19 00 1e 86 
170328 091002 27	0b 01 05 13 05 01 01 77 59 79 01 00 06 82 
170328 091004 2	0b 01 06 2b 22 01 01 78 58 5d 45 00 05 82 
170328 091008 4	0b 01 02 09 22 01 01 78 62 79 44 00 ea 85 
170328 091034 26	05 06 01 2b 02 00 37 84 
170328 091105 31	0b 01 03 32 22 01 01 78 39 68 3a 00 06 83 
170328 091135 30	0b 01 04 2d 22 00 01 78 62 7a 22 00 1e 85 
170328 091202 27	0b 01 05 18 05 01 01 77 59 78 61 00 e9 83 
170328 091233 31	05 06 01 2b 02 00 37 83 
170328 091235 2	0b 01 02 27 22 01 01 79 13 79 56 00 06 83 
170328 091303 28	0b 01 06 2d 22 01 01 78 61 5f 30 00 1e 84 
170328 091305 2	0b 01 03 35 22 01 01 78 3d 68 36 00 06 83 
170328 091335 30	0b 01 04 30 22 01 01 78 62 7a 22 00 ea 83 
170328 091401 26	0b 01 05 17 05 01 01 77 5a 78 63 00 eb 83 
170328 091434 33	05 06 01 22 02 00 36 82 
170328 091435 1	0b 01 02 2e 22 00 01 79 13 7a 0b 00 05 82 
170328 091535 60	0b 01 04 25 22 00 01 79 13 7a 2f 00 1e 84 
170328 091604 29	0b 01 06 0e 22 01 01 78 61 5f 21 00 e3 84 
170328 091635 31	05 06 01 2b 02 00 37 82 
170328 091706 31	0b 01 02 28 22 01 01 78 60 7a 30 00 07 83 
170328 091735 29	0b 01 04 20 22 00 01 79 00 7a 2e 00 1e 85 
170328 091800 25	0b 01 05 1a 05 01 01 77 59 78 5b 00 ec 85 
170328 091805 5	0b 01 06 2e 22 00 01 79 08 5d 3b 00 1d 84 
170328 091834 29	05 06 01 2e 02 00 37 81 
170328 092005 91	0b 01 06 2b 22 00 01 78 57 5d 34 00 06 82 
170328 092006 1	0b 01 04 30 22 01 01 78 59 7a 2f 00 ee 84 
170328 092007 1	0b 01 02 26 22 01 01 78 62 7a 02 00 06 83 
170328 092034 27	05 06 01 2b 02 00 36 82 
170328 092107 33	0b 01 03 35 22 01 01 78 44 68 33 00 05 82 
170328 092132 25	0b 01 05 1d 05 01 01 77 59 78 59 00 06 82 
170328 092206 34	0b 01 06 22 22 01 01 78 44 5d 33 00 1e 84 
170328 092207 1	0b 01 04 27 22 00 01 79 12 7b 02 00 1e 84 
170328 092235 28	05 06 01 2f 02 00 37 81 
170328 092329 54	0b 01 05 1a 05 01 01 77 54 78 58 00 ea 84 
170328 092405 36	0b 01 04 24 22 00 01 79 13 7b 30 00 1e 85 
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Givarvärdena beter sig oväntat vid negativa temperaturer.

Skulle gissa att man borde vända på decimaldelen om heltalet är negativt... Alltså borde det som idag presenteras som -1,2 visas som -1,8. Det borde förklara de ca 1 grad uppåtgående sågformade kurvorna...
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
AndLi
Inlägg: 17051
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Ontech 9035/9040/9015 reverse engineering

Inlägg av AndLi »

Undra om det är ett sammanträffande, från senaste releasen av ontech firmware "Förbättrat mätning av minustemperaturer"

Konverteringen av negativa temperaturer är lite skum....
För värden där byte[0] är >=100 använder jag byte[0]-100+byte[1]/100.

För värden där byte[0] är <100 och byte[1] < 50 använder man byte[0]-100-byte[1]/100
Och för värden där byte[0] är <100 och byte[1] > 50 använder man byte[0]-100-byte[1]/100+2

Man blir ju nyfiken på hur implementationen ser ut för att få till sambandet mellan byte[1] > 50 och att temperaturen ska höjas två grader...
Skriv svar