tomlei
Level-2
- Beiträge
- 140
- Reaktionspunkte
- 11
-> Hier kostenlos registrieren
Ich möchte über MQTT ein Topic bei einem Broker abfragen und den Messwert in einer SQL Datenbank speichern.
- Timer gesteuertes Lesen/Speichern in der SQL DB funktioniert.
- Topic Abfragen und Aufbereitung des Messwertes zum Speichern in der DB funktioniert.
Ich übergebe der Funktion das Topic und triggere Subscribe - dann werte ich das Array receivedMsgPayload aus und speichere den aufbereiteten Messwert in der DB.
Danach möchte ich ein anderes Topic übergeben und dessen Wert abspeichern. Dabei habe ich festgestellt, dass das so nicht funktioniert - weil das erste Topic noch abonniert ist und dann receivedMsgPayload keinen klaren Wert hat und immer zwischen den zwei Topics wechselt.
Frage zur Systematik:
Ich brauche eigentlich nicht die verschiedenen Topics (4-5) gleichzeitig zum Abspeichern. Mir würde es reichen, sie nacheinander zu lesen und zu speichern. Sollte man für jedes Topic ein Array anlegen oder das erste Topic unsubscriben bevor man das nächste Topic subscribed?
Ich habe versucht vor jedem subscribe des nächsten Topics das vorherige zu unsubscriben, allerdings funktioniert das so nicht richtig. Ich vermute, es ist ein Zeitproblem bei der Abarbeitung der MQTT Befehle. Ich habe keine Rückmeldung, ob das Topic abgemeldet ist bevor das nächste subscribed wird, gefunden.
Mir ist die Systematik, wie diese Bibliothek (LMQTT) funktionieren soll, noch nicht so richtig klar. Hat jemand so etwas schonmal umgesetzt?
- Timer gesteuertes Lesen/Speichern in der SQL DB funktioniert.
- Topic Abfragen und Aufbereitung des Messwertes zum Speichern in der DB funktioniert.
Ich übergebe der Funktion das Topic und triggere Subscribe - dann werte ich das Array receivedMsgPayload aus und speichere den aufbereiteten Messwert in der DB.
Danach möchte ich ein anderes Topic übergeben und dessen Wert abspeichern. Dabei habe ich festgestellt, dass das so nicht funktioniert - weil das erste Topic noch abonniert ist und dann receivedMsgPayload keinen klaren Wert hat und immer zwischen den zwei Topics wechselt.
Frage zur Systematik:
Ich brauche eigentlich nicht die verschiedenen Topics (4-5) gleichzeitig zum Abspeichern. Mir würde es reichen, sie nacheinander zu lesen und zu speichern. Sollte man für jedes Topic ein Array anlegen oder das erste Topic unsubscriben bevor man das nächste Topic subscribed?
Ich habe versucht vor jedem subscribe des nächsten Topics das vorherige zu unsubscriben, allerdings funktioniert das so nicht richtig. Ich vermute, es ist ein Zeitproblem bei der Abarbeitung der MQTT Befehle. Ich habe keine Rückmeldung, ob das Topic abgemeldet ist bevor das nächste subscribed wird, gefunden.
Mir ist die Systematik, wie diese Bibliothek (LMQTT) funktionieren soll, noch nicht so richtig klar. Hat jemand so etwas schonmal umgesetzt?