2018-10-11

Programmierung Esp8266 und Esp32 mit Arduino IDE

Esp8266 Webserver Modular Arduino Tab

Gerade bei größeren Programmen wird es schnell unübersichtlich. Viele einzelne Funktionen werden zu einem Ganzen vereint, und am Ende scrollt man ewig. Daher bietet es sich an, den Sketch in mehrere Bestandteile aufzuteilen.

Arduino Ide Webserver TAB

In der "Arduino-IDE" lassen sich zusätzliche Tabs oben rechts durch Anklicken des Pfeils einfügen (in der grünen Leiste). Tabs lassen sich ebenfalls mit (STRG+Umschalt+N) erzeugen, diese erhalten auch die Endung ".ino" und werden im selben Ordner gespeichert, wie der "Haupt-Tab".

Modulare Arduino Tabs ermöglichen eine bessere Verwaltung komplexer, langer Projektcodes mit weniger Scrolling beim Neuschreiben, Hinzufügen oder Ändern von Code.

Vor dem unmittelbaren Kompilieren werden alle Tabs in ein gemeinsames CPP-File kopiert und zwar zuerst der "Haupt-Tab" und danach die Zusatz-Tabs in alphabetischer Reihenfolge.

Der Ordner (mit allen Tabs) und der Tab, der "setup()" und "loop()" enthält, müssen unbedingt den selben Namen haben.

Folgende Tabs für den ESP8266 stehen zur Verfügung

Esp8266 Webserver Tab

Esp8266 Connect Tab

Esp8266 Spiffs Tab

Esp8266 Admin Tab

Esp8266 EspBoardLed Tab

Esp8266 OnBoardLed Tab

Esp8266 Login Manager Tab

Esp8266 Dual Relais Tab

Esp8266 DS18B20 Tab

Esp8266 DS18B20 Liste Tab

Esp8266 DHT22 Tab

Esp8266 BME280 Tab

Esp8266 Zwei BME280 Tab

Esp8266 BH1750 Tab

Esp8266 E-Mail Tab

Esp8266 Zeitstempel MESZ Tab

Esp8266 Zeitschaltuhr Tab

Esp8266 Pushbullet Tab

Esp8266 Http Client Tab

Esp8266 UDP Sender Tab

Esp8266 Sonoff Dual Tab

Esp8266 Sonoff Dual Connect Tab

weiter zu den ESP8266 Webserver Tabs

............................................

Esp32 Webserver Modular Arduino Tab

Folgende Tabs für den ESP32 stehen zur Verfügung

Esp32 Webserver Tab

Esp32 Connect Tab

Esp32 Spiffs Tab

Esp32 Admin Tab

Esp32 EspBoardLed Tab

Esp32 OnBoardLed Tab

Esp32 DHT22 Tab

Esp32 BME280 Tab

Esp32 BH1750 Tab

Esp32 E-Mail Tab

Esp32 Zeitstempel MESZ Tab

Esp32 Zeitschaltuhr Tab

Esp32 UDP Sender Tab

weiter zu den ESP32 Webserver Tabs

2018-07-02

Esp8266 Nodemcu Gaszähler Thingspeak

Auslesen des Gaszählers Elster BK-G4M mittels Reedrelais.

Die meisten mechanischen Gaszähler besitzen bereits ab Werk einen Impulsmagneten in der letzten Stelle des Rollenzählwerkes und können einfach mit einem Impulsnehmer ausgestattet werden. Ob der Gaszähler dafür geeignet ist, erkennt man an einem Aufdruck wie z.B. "1 Imp ? 0,01 m³" auf dem Typenschild.

Funktionen

Zur Anzeige vom Zähler Impuls wird die Onboard Led des Nodemcu genutzt. Die OnBoardLed des Esp 12E wird als Heartbeat-LED verwendet. Dein händisch eingegebener Zählerstand wird in einer Datei im Spiffs des Esp8266 gespeichert und bei jedem Neustart aus dieser eingelesen. Der Zählerstand wird, vorausgesetzt der Wert hat sich geändert, aller 4 Stunden erneut abgespeichert.

Webinterface

Hier kannst du den aktuellen Zählerstand eingeben. Die Leds der optischen Anzeige schalten. Der Zählerstand im Browser wird aller 5 Sekunden aktualisiert. Die vergangene Zeit seit dem letzten Sendefehler wird bei aufgeklappter Eingabemaske angezeigt.

Thingspeak Datenlogger

Aller 5 Minuten wird der aktuelle Stand der Gasuhr an deinen Thingspeak Account gesendet. Die Antwort von Thingspeak, ob die Übertragung erfolgreich war, wird nicht blockierend ausgewertet. Im Fehlerfall wird der Zählerstand erneut zu Thingspeak gesendet.

Thingspeak Account einrichten

Sketch Gaszähler Thingspeak

Download Sketch

So sieht der Gaszähler im Browser aus.

Esp8266 Gaszähler.

Beim Klick auf dem grauen Bereich der Zähleranzeige erscheint die Eingabemaske. Hier lassen sich auch beide Leds schalten.

Nodemcu Gaszähler.

Anzeige des letzten Sendefehler zu Thingspeak.

Nodemcu Gasuhr.

Esp32 Esp8266 Mailversand

Mail versenden via smtp2go.com

Dazu brauchst du zunächst einen Smtp2Go Free Account.

Esp8266 Esp32 SMTP2GO.

Achtung!
SMTP2GO Free hat ein Limit von 25 E-Mails pro Stunde / 1.000 E-Mails pro Monat.
Deshalb die Funktion "sendmails();" niemals unlimitiert aus der "loop();" aufrufen.

Die Serverantwort von smtp2go.com, ob die Übertragung erfolgreich war, wird nicht blockierend ausgewertet. Bei Zeitüberschreitung wird die Email ein zweites mal gesendet.

Sketch Mail Versand

Download Sketch

..........................................

Esp8266 Ds18b20 Seriennummer auslesen

Bei größeren Projekten mit mehreren Ds18b20, wie einer Heizungsteuerung, ist es erforderlich die Ds18b20 Temperatur Sensoren über ihre Adressen anzusprechen. Dazu ist es notwendig die Adresse aus den Sensoren auszulesen.

Sketch Ds18b20 Adressen auslesen

..........................................

Beispiel Esp8266 Ds18b20 per Adresse

Mehreren Ds18b20 über ihre Adressen ansprechen. Die Ausgabe der Temperaturen erfolgt Seriell.

Sketch Ds18b20 per Adressen ansprechen


Kontakt