Ich habe gerade angefangen, mich mit dem MQTT-Protokoll zu befassen.
Lage
In meinem College-Projekt verwende ich derzeit Arduino als Haupt-MCU und erledige jede Arbeit darin und verwende Serial Comm. AT-Befehle an esp8266 senden (für HTTP-Anforderungen, zum Ausführen von Skripten auf dem Server usw.). Grundsätzlich musste ich einige Daten (von Arduino) auf eine Webseite (gehostet von einem lokalen Server) übertragen. Ich habe nach dem MQTT- Protokoll gesucht und gefunden , mit dem Daten auf Clients veröffentlicht und abonniert werden können (genau das, was ich wollte). Aber die meisten Tutorials, die ich finde, sind entweder vollständig auf Arduino (mit WLAN-Schutzschild) oder vollständig auf esp8266.
Ich möchte wissen, ob es eine Möglichkeit gibt, MQTT wie bei meiner aktuellen Konfiguration zu verwenden. Das heißt, Sie verwenden Arduino, um die gesamte Arbeit zu erledigen, und verwenden die serielle Kommunikation. Veröffentlichen von Daten nur mit AT-Befehlen auf MQTT.
Zusätzliche Informationen zu meinem Projekt werden hier erwähnt: Verwirrt darüber, welche Technologie in Smart Home System verwendet werden soll
Antworten:
Ich habe endlich ein Tutorial von Sony Arouje gefunden . Wie sich herausstellte, musste ich das manuelle Senden von esp-Befehlen vollständig aufgeben und die Bibliothek (WiFiEsp.h) verwenden. Hinweis ... Es ist besser!
Obwohl es anfangs mit meinem esp8266 nicht funktionierte, weil es eine ältere Firmware hatte und den Fehler "Firmware nicht unterstützt" meldete. Ich musste eine neuere Firmware flashen (funktioniert in meinem Fall mit Version 1.54). Jeder, der Probleme beim Flashen der Firmware hat, kann Hilfe zu diesem Thema finden: Die neueste Firmware des ESP8266 kann nicht geflasht werden. Er sagt "Fehler beim schnellen Flashen" und "Ungültiger Paketkopf ('')".
Außerdem habe ich eine Kopie aller Download-Tools und der Tutorial-Seite selbst gespeichert. Wenn also in Zukunft der Beitrag entfernt wird oder wenn jemand die Tools zum Flashen nicht findet. Erhalten Sie Kommentare oder ähnliches zu mir (nicht hier posten, weil ich nicht weiß, ob es in Ordnung ist, den Inhalt eines anderen zu posten)
quelle