Forum
Grundlegende Frage zu IOT mit ESP8266-01 (Elektronik)
» Die Kommunikation via MQTT soll der
» ESP-01 erledigen, da er zu schwach für größere Aufgaben aber durch gezielte
» Abschaltung (Sleep) nichts macht.
Der ESP01 hat 32Bit und ein paar mehr MHz als der ATMega/Tiny, aber ich denke dir geht es um die IO-Pins und den Stromverbrauch.
» Einfach gesagt, der Atmega arbeitet, der ESP-01 kommuniziert via MQTT mit
» dem Raspberry, wenn alles klappt, füllt sich die Datenbank.
» Die Kommunikation zwische Atmega und ESP-01 sollte sich - mehr als Frage
» gedacht - über RX/TX realisieren lassen?
Genau, einfache serielle Kommunikation.
» Soweit ich verstehe, muss die "Kommunikationssoftware" auf den ESP
» geschrieben werden. Das wäre nun die Frage, kann das so, wie hier im
» letzten Absatz beschrieben funktionieren?
Du hast zwei Möglichkeiten.
1. Du betreibst den ESP01 als WLAN-Modem, dann muss da drauf nur die Firmware laufen mit der sich der ESP als solches betreiben lässt (war bei mir vorinstalliert, aber halt in einer buggy Version). Der Arduino schickt dann über die Serielle Konsole AT-Befehle zur Kommunikation.
2. Du schreibst für den ESP01 Code der die WLAN-Verbindung aufbaut, die Werte vom Arduino via RX/TX abfragt und per MQTT verschickt. Dann musst du auf dem Arduino etwas einbauen, dass er auch auf die Anfragen über die Serielle Schnittstelle reagiert.
Ich würde fast zu Option 2 raten, die ist programmiertechnisch etwas aufwändiger aber vermutlich etwas stabiler und du vergeudest nicht unnötig viel Speicher auf dem ATMega (der Tiny ist dafür eh zu klein) für AT-Befehle und einen MQTT-Clinet für den ESP gibt es schon fertig als lib.
Nur für den Fall, dass du darüber nachdenkst: Der ESP braucht zum Aufbau der WLAN-Verbindung 140mA in der Spitze, zwar sehr Kurz aber das ist weit über dem was ein ATMega/Tiny auf einem IO-Pin liefern kann. Also falls du den ESP via µC ein/ausschalten willst brauchst du noch eine Treiberschaltung. Das rentiert sich aber kaum wenn man den deep sleep Mode des ESP8266 verwendet (verbraucht dann nur 20µA). Dafür muss man am ESP01 noch eine Brücke von einem Pin (ich glaube es ist Pin 16) des ESP8266 ICs zu einem IO-Pin löten. Wenn man einen IO-Pin am µC frei hat kann man das auch anders lösen (ESP in Tiefschlaf schicken und durch den µC aufwecken).
Gesamter Thread:












