Makee Geschrieben October 17, 2023 at 09:36 Geschrieben October 17, 2023 at 09:36 Hallo zusammen, ich habe ein Problem mit meinen Bricklets und der MQTT Kommunikation. Kurz zu meinem Aufbau: Ich habe eine Ubuntu VM die als MQTT Broker fungiert. Auf der VM ist der Brick Daemon installiert. Weiterhin habe ich einen ESP32 Brick mit einem Air Quality und einem Ambient Light 3.0 Bricklet. Der ESP32 Brick ist per WLAN im Netzwerk und per USB am PC angeschlossen. Ich starte das tinkerforge_mqtt Script mit folgendem Befehl: tinkerforge_mqtt --broker-username <user> --broker-password <password> In einem anderen Terminal führe ich folgenden Befehl aus: mosquitto_pub -h localhost -t tinkerforge/request/air_quality_bricklet/Xyd/get_temperature -m "" -u <user> -p <password> Die UID hab ich über das Webinterface ausgelesen. Leider bekomme ich in der Response Nachricht immer folgende Meldung: <ERROR> MQTT bindings: Did not receive response for function 255 in time (call of get_temperature of air_quality_bricklet Xyd) Ich hatte auch versucht mit --ipcon-timeout 5000 die Zeit zu erhöhen aber kein Erfolg. Kann mir jemand Tipps geben an was es noch liegen könnte? Vielen Dank Grüße Zitieren
Makee Geschrieben January 29, 2024 at 08:04 Autor Geschrieben January 29, 2024 at 08:04 Kann mir hier jemand weiterhelfen? Im Ereignis-Log des ESP32 Brick auf dem Webinterface habe ich folgende Einträge: 2024-01-29 08:58:08,668 MQTT: Received message on unknown topic 'request/air_quality_bricklet/Xyd/get_temperature' (data_len=0) 2024-01-29 08:58:11,173 MQTT: Received message on unknown topic 'response/air_quality_bricklet/Xyd/get_temperature' (data_len=138) Aber die Meldung bleibt die gleiche. Zitieren
MatzeTF Geschrieben January 29, 2024 at 10:51 Geschrieben January 29, 2024 at 10:51 Da dein erster Post schon von letztem Jahr ist, bin ich mir gerade nicht ganz sicher, in welchem Zustand sich dein Setup gerade befindet. Wenn du diese Fehlermeldungen im Ereignis-Log des ESP32 Brick hast, dann hast du das MQTT-Modul mit in die Firmware kompiliert? Das korrekte Setup sollte so aussehen: Auf dem ESP32 Brick läuft die Standardfirmware. Auf der VM mit dem MQTT-Broker läuft kein Brick Daemon. Dem tinkerforge_mqtt Script musst du außer den Zugangsdaten für den MQTT-Server noch mittels --ipcon-host die Adresse des Gerätes mit den Bricklets angeben. In deinem Fall ist das die Adresse vom ESP32 Brick. Aktuell verbindet sich das tinkerforge_mqtt Script mit dem Brick Daemon der VM, aber an der VM sind gar keine Bricks oder Bricklets angeschlossen. Dementsprechend wird da nichts gefunden. Wenn du versuchst, MQTT-Nachrichten direkt an den ESP32 Brick zu schicken, versteht der die nicht, weil er keine automatische Übersetzung für die angeschlossen Bricklets durchführen kann. 1 Zitieren
Makee Geschrieben January 29, 2024 at 11:45 Autor Geschrieben January 29, 2024 at 11:45 Hi Matze, danke für deine Antwort. Mein Fehler war, dass ich bei --ipcon-host den Rechner angegeben habe, auf dem der Brick Daemon läuft, da das so in der Beschreibung der MQTT-Bindings steht. Mit der IP des ESP32 Brick funktioniert es jetzt. Vielen Dank für die Hilfe. Zitieren
MatzeTF Geschrieben January 29, 2024 at 11:48 Geschrieben January 29, 2024 at 11:48 Ja, das Beispiel geht davon aus, dass du die Bricklets über einen Master Brick an den PC anschließt, auf dem tinkerforge_mqtt läuft. Die Verwendung eines ESP32 Bricks wird da in der Tat nicht berücksichtigt. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.