In meiner beruflichen Laufbahn wurde ich mit dem Problem konfrontiert, mehrer hundert Einzelwerte pro Sekunde zu übermitteln. Dies ging vom lokalem Netzwerk bis zu langsamen Übertragsungsmedien, anfänglich noch per Datex-P. Gelöst wurde das durch Named-Pipes, die dahinter liegende Transportschicht fügte mehrere Telegramme zu Paketen zusammen, die noch komprimiert und verschlüsselt wurden. Das war vor 30 Jahren, da gabs anfänglich nur Netbios mit ipx und spx, später dann TCP/IP.
Heute hat man dafür MQTT.
Ich sehe schon eine starke Belastung der Raspis, wenn ich jede Sekunde die Werte vom meinen E3DC einlese (jede Sekunde ein Datenpaket). Daraus generiere ich zur Zeit 12 Einzelnachrichten an openWB. Es wäre wesentlich effizienter diese in einer einzigen Nachricht im JSON Format zu übermitteln. Was dann noch fehlt, ist ein TIMESTAMP zu jedem Einzelwert, damit es nicht zu einer fehlerhaften zeitlichen Zuordnung der Werte kommt.
MQTT und JSON
-
- Site Admin
- Beiträge: 8649
- Registriert: So Okt 07, 2018 1:50 pm
- Has thanked: 8 times
- Been thanked: 47 times
Re: MQTT und JSON
JSON bedingt aber das ver- und entpacken der daten.
Zudem beträgt der Overhead an Bandbreite gerne Faktor 2-8 je nach Daten wenn die nochmal „verpackt“ werden.
MQTT ist exakt fur diesen Fall wie in openWB genutzt konzipiert.
Sprich bewusst separate Topics und nur raw Werte.
Das funktioniert perfekt und die Last ist minimal.
Kannst es ja mal testen, unter 5000 Msgs / Sekunde langweilt sich der Pi. Davon ab wäre ein einfacher zugriff ohne daten wieder zu entpacken nicht so einfach möglich.
Schlussendlich brauchst du die daten auch nur alle 10 sekunden senden, öfter werden sie nicht verwertet.
Zudem beträgt der Overhead an Bandbreite gerne Faktor 2-8 je nach Daten wenn die nochmal „verpackt“ werden.
MQTT ist exakt fur diesen Fall wie in openWB genutzt konzipiert.
Sprich bewusst separate Topics und nur raw Werte.
Das funktioniert perfekt und die Last ist minimal.
Kannst es ja mal testen, unter 5000 Msgs / Sekunde langweilt sich der Pi. Davon ab wäre ein einfacher zugriff ohne daten wieder zu entpacken nicht so einfach möglich.
Schlussendlich brauchst du die daten auch nur alle 10 sekunden senden, öfter werden sie nicht verwertet.
Supportanfragen bitte NICHT per PN stellen.
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de
Hardwareprobleme bitte über die Funktion Debug Daten senden mitteilen oder per Mail an support@openwb.de