Test 0 - Počáteční základní pokus s termočlánkem
Tento dokument obsahuje moje první poznatky z práce s €Labem. Proto obsahuje jen ty největší základy, a některé věci (příkazy označené jako ???) jsou pouhé hypotézy. Pro přesný popis komunikace se prosím vraťte zpět.
Inicializace
Pakety 134-141 = inicializace €Labu
- 134 + 141 = požadavek pro vstup dat (bez parametru) + odpověď (8 bajtů: 0d 45 75 72 6f 4c 61 62 (
-EuroLab) + 56 bajtů zbytek (0x08-0x3f) odpověďní pakety, viz níže)
- 137 + 138 = požadavek pro výstup dat (8 bajtů: 03 01 0b c0 60 5c 0b 00) + odpověď bez dat
- 139 + 140 = požadavek pro výstup dat (8 bajtů: 04 01 0b c0 60 5c 0b 00) + odpověď bet dat
Přenos dat
Pakety 142-145, ... = data
(pakety 382-893 obsahují čtení paměti EEPROM z termočlánku)
(pakety ~1100-1200 je prudký nárůst teploty od ~26 °C na ~34 °C, viz video)
Požadavek se vždy skládá ze 4 paket:
- Požadavek od hosta pro vstup dat
- Požadavek od hosta pro výstup dat (8 bajtů - příkazová paketa, viz níže)
- Odpověď od €Labu na požadavek pro výstup dat
- Odpověď od €Labu na požadavek pro vstup dat (64 bajtů - odpověďní paketa, viz níže)
Formát příkazové pakety z Coache - 8 bajtů
adresa data v číselné formě
0x00 cc cc pp c0 60 5c 0b 00
cc cc = příkaz, pp = parametr (pokud není uveden, jeho hodnota je vždy 00)
Seznam zjištěných příkazů:
- 03 01 = odeslat současné napětí portu 1 (potenciálně nízké napětí?) (zdá se, že odpověď je 6 bitů MSB + 6 bitů LSB, při nezapojeném senzoru 00 00)
- 03 03 = ??? (paketa 155 (před čtením EEPROM), odpověď často vysoká hodnota (3f 3b až 3f 3f), že by čtení vysokého napětí portu 1?)
- 03 06 = ??? (že by čtení vysokého napětí portu 2?)
- 14 00 = čtení EEPROM z portu 1 (odpověď často 00 01, viz data termočlánku) (pakety 382-893 obsahují parametry 00-7F v sekvenci!)
- když není zapojená žádná EEPROM, tak odpověď €Labu je 03 ff
- když je, tak odpověď je 00 + data z adresy parametru
- 14 01 = čtení EEPROM z portu 2 (s největší pravděpodobností)
Chování Coache, když je v hledacím režimu (neví o žádných čidlech, čeká na zapojení)
- 14 00 → 03 ff (přečíst 1. bajt EEPROM na portu 1)
- 03 03 → 3f 3f (přečíst raw 1. port?)
- 14 01 → 03 ff (přečíst 1. bajt EEPROM na portu 2)
- 03 06 → 3f 3f (přečíst raw 2. port?)
Chování Coache, když běží port 1 (termočlánek)
- 14 00 → 00 01 (přečíst 1. bajt EEPROM na portu 1)
- 03 01 → rr rr (přečíst napětí portu 1)
- 03 01 → rr rr (přečíst napětí portu 1)
- 03 01 → rr rr (přečíst napětí portu 1)
- 03 01 → rr rr (přečíst napětí portu 1)
- 03 01 → rr rr (přečíst napětí portu 1)
- 14 01 → 03 ff (přečíst 1. bajt EEPROM na portu 2)
- 03 06 → 3f 3f (přečíst raw 2. port?)
- 03 01 → rr rr (přečíst napětí portu 1)
- 03 01 → rr rr (přečíst napětí portu 1)
- 03 01 → rr rr (přečíst napětí portu 1)
- 03 01 → rr rr (přečíst napětí portu 1)
- 03 01 → rr rr (přečíst napětí portu 1)
Formát odpovědní pakety z €Labu s odpovědí na příkaz - 64 bajtů
adresa data v číselné formě v ASCII
0x00 rr rr pp c0 60 5c 0b 00 20 76 65 72 2e 31 2e 31 ....`\.. ver.1.1
0x10 20 20 43 6f 70 79 72 69 67 68 74 20 32 30 30 37 Copyright 2007
0x20 20 43 4d 41 20 41 6d 73 74 65 72 64 61 6d 0d 0a CMA Amsterdam..
0x30 00 10 00 54 20 05 a9 10 12 40 20 03 10 65 90 44 ...T ....@ ..e.D
- 0x00-0x01 (rr rr) = samotná odpověď s daty
- 0x02-0x07 = data z předchozího požadavku od hosta
- 0x08-0x30 = ověřovací řetězec €Labu (poslední bajt (0x30) je s největší pravděpodobností nulový terminátor, pokud ne, tak patří do zbytku)
- 0x31-0x3f = zbytek, nemám ponětí, co to je, ale je to pokaždé stejné (třeba sériové číslo?)
ověřovací řetězec €Labu v ASCII (0x08-0x30) s převedenými únikovými znaky: " ver.1.1 Copyright 2007 CMA Amsterdam\r\n" (bez uvozovek)
Přílohy
Výpis paměti EEPROM termočlánku 0135i (neznámý ID)
adresa data v číselné formě v ASCII
0x00 01 2a 01 02 88 04 13 81 54 68 65 72 6d 6f 63 6f .*......Thermoco
0x10 75 70 6c 65 20 31 31 30 00 00 00 00 54 65 6d 70 uple 110....Temp
0x20 31 31 30 00 00 00 00 00 01 45 05 01 00 00 80 3f 110......E.....?
0x30 00 00 80 3f b4 00 00 00 01 0e 01 00 00 a0 c1 00 ...?............
0x40 00 dc 42 0d 03 00 d7 a3 d2 c1 77 be e8 41 00 00 ..B.......w..A..
0x50 00 00 28 43 29 00 00 00 00 d7 a3 d2 c1 77 be e8 ..(C)........w..
0x60 41 00 00 00 00 28 43 29 00 00 00 00 d7 a3 d2 c1 A....(C)........
0x70 77 be e8 41 00 00 00 00 28 43 29 00 00 00 00 5d w..A....(C)....]
je podezřelé, že se některá data opakují (blok 0x46-0x58 se opakuje v 0x59-0x6b a 0x6c-0x7e)
možná spínač ovládá adresu EEPROM? je hodně podezřelý, že v manuálu na ten termočlánek stojí, že to má 256 bajtovou EEPROM, ale Coach čte jenom 128 bajtů...
Záznamy
eurolab_main.pcapng - soubor záznamu z Wiresharku
eurolab_main.mkv - videozáznam
Manuály k čidlům
manual_0135i.pdf - manuál k termočlánku 0135i (ručně naskenován)