Jump to content

Recommended Posts

Geschrieben

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

  • 3 months later...
Geschrieben

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.

Geschrieben

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.

Geschrieben

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.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...