EMS > EMS-GW > Raspi

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.

Protokoll EMS-GW zum collectord

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.

Protokoll collectord zum EMS-GW

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).