Da für NetIo eine sehr schöne Weboberfläche entwickelt wurde und auch schon eine Speicherung der Historie in einer MySQL Datenbank realisiert ist, habe ich (js) mich entschlossen, das EMS-GW an den Collector-Daemon anzupassen.
Dazu eine eigentlich nur eine Weiterleitung der Pakete vom EMS-Bus an einen Client, der sich an Port 7950 verbindet, nötig. Das EMS-GW ersetzt die NetIO Platine, alle anderen Komponenten können unverändert genutzt werden.
Das Telegram wird vom EMS-Bus ohne CRC weitergereicht:
0xaa 0x55 <Länge> <src> <dest> <type> <offset> <data0> .... <dataX> <XOR über src..dataX>
Die Länge ist die Anzahl der Bytes des gesamten Pakets.
Die zu sendenden Bytes werden ohne weitere Zusätze übertragen:
<dest> <type> <offset> <data0> .... <dataX>
Quelladresse und CRC wird vom EMS-GW hinzugefügt
Die Antwort (0x01 = ACK, 0x04 = NACK) sendet das EMS-GW in folgendem Format:
<dest> 0x0b 0xff <resp>
<dest> ist hierbei das Ziel der zuvor gesendeten Anfrage, <resp> die Antwort (d.h. 0x01 oder 0x04).