ESP Easy

Hallo zusammen,

heute möchte ich Ihnen kurz eine weitere Firmware für den ESP8266-Controller vorstellen: ESP-Easy.

Wir kennen bereits die Standartfirmware von Espressif mit LUA, die AT-Firmware oder auch ArduinoCore. ESP Easy richtet sich vor allem an Anfänger, ist aber auch geeignet um kurzfristig Hardwarekonzepte umzusetzen und ist mittlerweile im Smart-Home Bereich recht populär. Als Out-of-the-Box Software lassen sich damit viele Sensoren testen, auslesen und anschließend publizieren.

ESP Easy ist in mehreren Versionen verfügbar, die aktuelle Ausführung trägt den Titel Mega und enthält alle Tools und experimentelle Funktionen die jedoch die Stabilität negativ beeinflussen können. Deshalb will ich heute zeigen wie man die Firmware selbst kompiliert und anschließend auf seinen Controller läd. Wir benutzen dazu Platform.IO und entscheiden uns für Version 2.0

Wie Platform.IO installiert und verwendet wird haben wir bereits in vorhergehenden Beiträgen gezeigt.

Wir starten also mit dem Download der Firmware, diesen gibt es hier:

https://github.com/letscontrolit/ESPEasy/tree/v2.0

Laden Sie das Verzeichniss wie gewohnt über/mit GitHub herunter und entpacken Sie es nach Dokumente\PlatformIO\Projects. Starten Sie anschließend VisualStudioCode mit PlatformIO und öffnen Sie den Projektordner:

Navigieren Sie anschließend zur platformio.ini und kommentieren Sie die nicht benötigten Versionen aus, für unser Beispiel nutzen wir die normale Version für 4096k Speicher:

Zum einfachen auskommentieren können Sie die jeweilige Stelle markieren und mit der rechten Maustaste die Befehlspalette öffnen:

 Anschließend öffnet sich die Befehlspalette, wählen Sie hier "Zeilenkommentar hinzufügen"

Oder auch "Zeilenkommentar umschalten" und der markierte Bereich wird auskommentiert:

Jetzt sollten alle Einträge in der platformio.ini bis auf die beiden im Screenshot ersichtliche Bereiche auskommentiert sein. Jetzt können wir auch schon Kompilieren, drücken Sie hierfür in der kleinen blauen Leiste auf das Häckchen: PlatformIO:Build. Sollte der Prozess mit einem Fehler abbrechen:

können Sie diesen Ignorieren und einfach noch einmal Kompilieren, der Code läuft dann durch:

Jetzt können Sie den Flash-Vorgang starten, wir benutzen diesesmal ein NodeMCU Amica V2:

Im Anschluss startet der Controller neu und ist im AP-Modus bereit für die Konfiguration, das Passwort für den AP ist "configesp"

Wenn Sie sich erfolgreich mit dem Netzwerk verbunden haben können Sie Ihren Controller konfigurieren. Es sollte sich automatisch die Config-Seite des ESP öffnen. Sollte dies nicht der Fall sein können Sie manuell zu http://192.168.4.1 navigieren. Sollten Sie keinen Zugriff auf das Web-Interface erhalten können Sie den Controller neu starten und sich erneut verbinden, beachten Sie dabei das das Board einige Zeit braucht beim ersten Start alles zu initialisieren.

Jetzt noch das gewünschte WLAN eintragen. Beim anschließenden neustart des Controllers bucht sich dieser in das eingetragene Netzwerk ein und ist über seine vom DHCP bezogene Adresse erreichbar.

Die Firmware ist recht gut dokumentiert, es existieren viele Tutorials für die unterschiedlichsten Sensoren. Die Daten werden i.d.R an einen Webserver übertragen oder per MQTT verschickt.

Die komplette Dokumentation gibt es hier

In einem folgenden Beitrag werden wir einen Sensor anbinden und einen Temperaturalarm mit einem BME umsetzen, es bleibt also spannend...

Bis zum nächsten Beitrag :)

3 Kommentare

Jens

Jens

Ich bekomme ich die selbe Meldung wie Sprollonis.
Hat jemand dafür eine Lösung?

error: Server does not allow request for unadvertised object 159e31b689577dbf69cf0683bbaffbd71fa5ee10
Fetched in submodule path ‘tools/sdk/lwip2/builder/lwip2-src’, but it did not contain 159e31b689577dbf69cf0683bbaffbd71fa5ee10. Direct fetching of that commit failed.
Submodule path ‘tools/sdk/ssl/bearssl’: checked out ‘89454af34e3e61ddfc9837f3da5a0bc8ed44c3aa’
Failed to recurse into submodule path ‘tools/sdk/lwip2/builder’
Error: VCS: Could not process command [‘git’, ‘clone’, ‘—recursive’, ‘—depth’, ‘1’, ‘—branch’, ‘2.6.3’, ‘https://github.com/esp8266/Arduino.git’, ‘C:\\Users\\Admin\\.platformio\\packages\\_tmp_installing-j1h8ehor-package’]
The terminal process terminated with exit code: 1

Sprollonis

Sprollonis

Hallo,
danke erst mal für den super Beitrag. Bekomme beim compilieren eine Fehlermeldung von Git.

error: Server does not allow request for unadvertised object 159e31b689577dbf69cf0683bbaffbd71fa5ee10
Fetched in submodule path ‘tools/sdk/lwip2/builder/lwip2-src’, but it did not contain 159e31b689577dbf69cf0683bbaffbd71fa5ee10.
Direct fetching of that commit failed.
Submodule path ‘tools/sdk/ssl/bearssl’: checked out ‘89454af34e3e61ddfc9837f3da5a0bc8ed44c3aa’
Failed to recurse into submodule path ‘tools/sdk/lwip2/builder’
Error: VCS: Could not process command [‘git’, ‘clone’, ‘—recursive’, ‘—depth’, ‘1’, ‘—branch’, ‘2.6.3’, ‘https://github.com/esp8266/Arduino.git’, ‘C:\\Users\\marti\\.platformio\\packages\\_tmp_installing-b1xzjwa2-package’]
Der Terminalprozess wurde mit folgendem Exitcode beendet: 1

Einige Versuche mit git-Befehlen habe ich schon hinter mir – leider ohne Erfolg.

Wenn ich es recht verstehe, fehlt ein object auf dem Server – da ich aber neu mit Git und Platformio bin, fehlt mir noch ein wenig das Verständnis.

Möglicherweise gibt es eine einfache Lösung

Danke

Martin Fitzke

Martin Fitzke

Vielen Dank für den Beitrag. Ich habe schon ein bisschen in die Dokumentation geschaut und bin gespannt. Bis jetzt kannte ich nur das WiFi Monitor Projekt, das man zu eigenem Code dazu basteln kann.
Viele Grüße und eine prima Woche,
M. Fitzke

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert