pau Geschrieben February 14, 2024 at 07:07 Geschrieben February 14, 2024 at 07:07 (bearbeitet) Hallo, wenn ich das richtig verstehe, kann man MQTT bei Tinkerforge nur nutzen, wenn ich einen Host im gleichen Netzwerk habe, welcher mit dem Brickdaemon und den "API-Bindings" arbeitet. Bei meinem Projekt ist es nicht möglich einen Host zu haben, die Daten müssen direkt über WLAN und MQTT versendet werden. Es handelt sich um ein größeres Projekt mit 10+ ESP32 und über 50 Sensoren. Leider habe ich keine Erfahrung mit platformio oder Tinkerforge. Könnt ihr mir Tipps geben, welche Dateien ich anfassen muss, um ein neues Arduinosktipt zu schreiben, welches Sensordaten (Tinkerforge Sensoren) ausließt und direkt per MQTT versendet? https://github.com/Tinkerforge/esp32-firmware/tree/master Habt ihr gute allgemeine Tipps zum weiteren Vorgehen für meinen Fall? bearbeitet February 14, 2024 at 07:08 von pau Zitieren
rtrbt Geschrieben February 14, 2024 at 13:36 Geschrieben February 14, 2024 at 13:36 Du hast zwei Möglichkeiten: 1. Kannst du die ganze Standardfirmware ignorieren und dir einen "normalen" Arduino-Sketch schreiben. Dokumentation dafür findest du hier: https://www.tinkerforge.com/de/doc/Software/API_Bindings_uC_HAL_Arduino_ESP32_Brick.html bzw. für den ESP32 Ethernet Brick hier:https://www.tinkerforge.com/de/doc/Software/API_Bindings_uC_HAL_Arduino_ESP32_Ethernet_Brick.html Das ist für den Anfang einfacher, du musst aber die Netzwerk- und MQTT-verbindungen von Hand aufbauen oder dir eine MQTT-Bibliothek suchen. 2. Kannst du dir die ESP-Firmware erweitern, dafür haben wir hier: https://www.tinkerforge.com/de/doc/Tutorials/Tutorial_ESP32_Firmware/Tutorial.html#tutorial-esp32-firmware ein Tutorial. Du müsstest im Endeffekt das Mqtt-Modul reinkompilieren (bei den custom_backend_modules und custom_frontend_modules jeweils zu der Liste hinzufügen) und dir ein eigenes Modul schreiben, dass die Sensoren ausliest und die Daten in eine API schreibt. Das ist im Tutorial Phase 2. APIs werden sowohl für die Kommunikation mit dem Webinterface über HTTP, als auch für MQTT verwendet. Das sollte also automatisch funktionieren. Der restliche Teil der Implementierung ist dann relativ ähnlich zu dem Arduino-Sketch den du dir in Variante 1 geschrieben hättest. In beiden Fällen benutzt du die C/C++-Bindings für Mikrocontroller für die Kommunikation mit den Bricklets (wir haben für jedes Bricklet Beispiele!), der Teil sollte also mehr oder weniger identisch aussehen. 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.