Jedes Projekt besteht neben vielen wichtigen Hardwarekomponenten auch aus der passenden Software. Dabei ist es oft weniger aufwendig das Projekt zusammenzubauen als später die dazu passende Software zu schreiben.
Diese Arbeit kann man sich aber dank einiger OpenSource-Projekte sparen. Eins davon ist die hier schon oft erwähnte Tasmota-Firmware. Eine andere ist das Projekt ESPEasy.
ESPEasy ist fast eine Art “Betriebssystem” für den ESP8266-Mikrocontroller mit dessen Hilfe sich verschiedene Sensoren und Aktoren steuern und auslesen lassen. Dabei lassen sich unterschiedlichste Sensoren und Aktoren sogar über einfache Regeln miteinander verknüpfen.
Auch viele der Projekte auf Nerdiy.de basieren auf ESPEasy und einem zu dem Projekt passendem Plugin.
Eine generelle Vorgehenseiwese wie Ihr ESPEasy und ggf. gewünschte Plugins auf Eurem ESP8266 installieren könnt, ist im folgenden Artikel beschrieben.
Sicherheitshinweise
Ich weiß die folgenden Hinweise sind immer irgendwie lästig und wirken unnötig. Aber leider haben schon viele Menschen die es "besser" wussten aus Leichtsinnigkeit Augen, Finger oder anderes verloren bzw. sich verletzt. Im Vergleich dazu ist ein Datenverlust fast nicht der Rede Wert, aber auch diese können echt ärgerlich sein. Deswegen nehmt Euch bitte fünf Minuten Zeit um die Sicherheitshinweise zu lesen. Denn auch das coolste Projekt ist keine Verletzung oder anderen Ärger wert.
https://www.nerdiy.de/sicherheitshinweise/
Affiliatelinks/Werbelinks
Die hier in aufgeführten Links zu Online-Shops sind sogenannte Affiliate-Links. Wenn Du auf so einen Affiliate-Link klickst und über diesen Link einkaufst, bekommt Nerdiy.de von dem betreffenden Online-Shop oder Anbieter eine Provision. Für Dich verändert sich der Preis nicht. Falls Du Deine Einkäufe über diese Links tätigst unterstützt Du Nerdiy.de dabei auch in Zukunft weitere nützliche Projekte anbieten zu können. 🙂
Voraussetzungen
Hilfreiche Artikel:
Bevor ihr mit diesem Artikel startet solltet Ihr die Arduino-IDE installiert und konfiguriert haben. Informationen dazu findet Ihr in dem folgenden Artikel.
Programme installieren – ein Beispiel
ArduinoIDE – Tipps und Tricks
Benötigtes Material:
In der folgenden Liste findet Ihr alle Teile die Ihr zur Umsetzung dieses Artikels benötigt.
Benötigtes Werkzeug:
In der folgenden Liste findet Ihr alle Werkzeuge die Ihr zur Umsetzung dieses Artikels benötigt.
Selber kompilieren oder nicht?
Grundsätzlich gibt es zwei “verschiedene” Wege die gewünschte Firmware auf Euren ESP8266 zu bekommen.
- Ihr könnt den Programmcode selber kompilieren (=also den Programmcode in Maschinencode übersetzen) und die dadurch entstandene .bin-Datei auf den ESP8266 übertragen.
- Ihr könnt bereits kompilierte .bin-Dateien direkt auf den ESP8266 übertragen.
Beides hat Vor- und Nachteile.
Der Vorteil von 1. ist, dass Ihr alle gewünschten Features aktivieren bzw. deaktivieren könnt. Ihr habt mehr Konfigurationsmöglichkeiten aber dadurch natürlich auch mehr potentielle Fehlerquellen.
Der Vorteil von 2. ist, dass Ihr funktionierende .bin-Dateien recht schnell auf den ESP8266 übertragen könnt. In den meisten Fällen reicht dies auch aus. Nur in dem Fall, dass Ihr mehr “Kontrolle” über die einzelnen Firmware-Optionen haben wollt ist der 1. Weg zu wählen.
Trotzdem wird in diesem Artikel der erste Weg beschrieben.
Weg zwei ist in dem Artikel ESP8266 – mit dem “Esptool” .bin-Dateien unter Windows flashen beschrieben.
Die aktuelle ESPEasy-Version aus dem GitHub kopieren
Damit Ihr die Firmware auf Euren ESP8266 übertragen könnt, müsst Ihr diese natürlich zunächst herunterladen.
Diese ist zum einen im GitHub des Original-Projekts enthalten, welches Ihr hier findet:
https://github.com/letscontrolit/ESPEasy/tree/mega
Außerdem gibt es eine gespiegelte Version auf dem Nerdiy.de-GitHub-Account, welche Ihr hier findet:
https://github.com/Nerdiyde/ESPEasy
Der Vorteil der Nerdiy.de-ESPEasy Version ist, dass alle von Nerdiy.de verfassten Plugins bereits darin enthalten und mit der verwendeten ESPEasy-Version getestet sind. Ihr müsst – falls Ihr eins der Nerdiy-Plugins verwenden wollt – also keine zusätzlichen Plugin-Dateien in das Projekt kopieren. Nachteil ist, dass die ESPEasy-Version im original-Git wahrscheinlich neuer ist.
Benötigte Plugins aktivieren
Manche ESPEasy-Plugins sind nicht standardmäßig aktiviert. Auf diese weise kann man den Speicherplatz für nicht benötigte Plugins sparen.
Wenn Ihr diese Plugins verwenden wollt ist es wichtig, dass Ihr diese vor dem kompilieren “aktiviert”. Wechselt dazu in der Arduino-IDE in das entsprechende Plugin.
Firmware flashen
Um die Firmware schließlich mit den gewünschten Einstellungen zu kompilieren und auf den angeschlossenen ESP zu übertragen müsst Ihr zunächst die Konfiguration von Eurem Board angeben.
WLAN-Zugangsdaten konfigurieren
Nachdem Ihr die ESPEasy-Firmware auf Euren ESP8266 übertragen habt, müsst Ihr diesen nun noch mit Eurem WLAN verbinden.
Dazu bietet die ESPEasy-Firmware eine praktische Funktion. Ist auf dem jeweiligen ESP8266 noch kein gülter WLAN-Zugnag hinterlegt mit dem sich die Firmware in einem WLAN einloggen kann, so wird automatisch ein eigenes WLAN eröffnet. Mit diesem WLAN könnt Ihr Euch dann verbinden und über diesem Weg der ESPEasy-Firmware die Logindaten zu Eurem “eigentlichen” WLAN mitteilen.
Im folgenden wird dieser Weg mit einem Android-Handy beschrieben. Prinzipiell funktioniert dies aber auch mit jedem anderen WLAN-fähigem Gerät das auch Internet-fähig ist. Der Vorgang sollte mit einem iOS-Gerät oder normalen Laptop also identisch sein.
Euer ESPEasy-Gerät startet daraufhin neu und sollte sich nach dem Neustart mit dem ausgewählten WLAN verbinden.
Ihr erkennt dies zum Beispiel daran, dass nun ein neues Gerät in Eurem Netzwerk vorhanden ist. Wie Ihr die Geräte in Eurem Netzwerk anzeigen lassen könnt und auch dessen IP-Adresse herausfinden könnt ist im Artikel IP-Adresse der Geräte im Netzwerk anzeigen/herausfinden beschrieben.
Falls Ihr die falschen WLAN-Zugangsdaten eingegeben habt könnt Ihr Euer ESPEasy-Gerät ganz leicht resetten (=also auf Werkseinstellungen zurücksetzen). Dadurch werden alle – auch ggf. fehlerhafte – Einstellungen gelöscht und Ihr könnt auf dem gleichen vorher beschriebenem Weg neue korrekte Zugangsdaten konfigurieren.
Um Euer ESPEasy Gerät auf Werkseinstellungen zurückzusetzen reicht es den Befehl “reset” auszuführen. Wie Ihr Befehle auf einem ESPEasy-Gerät ausführt ist im Artikel ESPEasy – Befehle und Aktionen per HTTP, MQTT, UDP und direkt ausführen beschrieben. Da Ihr lediglich über die serielle Schnittstelle Zugriff auf Euer ESPEasy-Gerät habt, habt Ihr leider nur über diesen Weg die Möglichkeit Befehle darauf ausführen zu können.
WLAN-Zugangsdaten über die serielle Schnittstelle konfigurieren
Ich persönlich finde es leichter die WLAN-Zugangsdaten über die serielle Schnittstelle zu konfigurieren. Meistens hat man den ESP vorher sowieso geflasht und dazu die serielle Verbindung noch aktiv.
In diesem Fall könnt Ihr Euch mit dem Befehl
Settings
die aktuell gespeicherten Einstellungen und (falls bereits mit einem WLAN verbunden) auch die zugewiesen IP-Adresse des ESPs anzeigen lassen.
Mithilfe des Befehls “WifiSSID” lässt sich nun die SSID Eures WLAN-Zugangspunktes einstellen. Dabei sendet Ihr zuerst den Befehl und dann von einem Leerzeichen getrennt den Namen Eures WLAN-Zugangspunktes. Heißt Euer WLAN zum Beispiel “meinTollesWLAN” würde dies wie folgt aussehen
WifiSSID meinTollesWLAN
Für das Passwort benötigt Ihr den Befehl “WifiKey”. Lautet Euer Passwort zum Beispiel “meinTollesPasswort” würde der Befehl zum Einstellen wie folgt aussehen
WifiKey meinTollesPasswort
Wichtig ist, dass Ihr die geschriebenen Einstellungen danach noch abspeichert. Dies geschieht mit dem Befehl
save
Danach könnt Ihr den ESP durch Eingabe des folgenden Befehls neu starten und er sollte sich danach mit dem konfiguriertem WLAN-Zugangspunkt verbinden:
restart
Viel Spaß mit dem Projekt
Ich hoffe bei euch hat alles wie beschrieben funktioniert. Falls nicht oder ihr Fragen oder Anregungen habt lasst es mich in den Kommentaren bitte wissen. Ich trage dies dann ggf. in den Artikel nach.
Auch Ideen für neue Projekte sind immer gerne willkommen. 🙂
P.S. Viele dieser Projekte - besonders die Hardwareprojekte - kosten viel Zeit und Geld. Natürlich mache ich das weil ich Spaß daran habe, aber wenn Du es cool findest, dass ich die Infos dazu mit Euch teile, würde ich mich über eine kleine Spende an die Kaffeekasse freuen. 🙂
Hallo,
vielen Dank für die vielen, ausführlichen Anleitungen!
Dennoch ist leider für den Einsteiger noch nicht alles ganz klar, daher bitte ein paar Fragen zu obiger Anleitung:
1. Ist das Hochladen einer *.ino-Datei mittels der Arduino IDE identisch mit dem Flashen einer der angebotenen fertigen Binaries? Welches wäre dann die hochzuladende ESPeasy-Firmware-Datei, um die ESPeasy Firmware z.B. auf den D1 mini zu bringen? Wo genau ist diese *.ino-Datei im Repository zu finden?
2. Wo genau findet man die Plugins, wenn man sich den ganzen verlinkten Ordner aus Github geruntergeladen hat, die man dann de- / aktivieren kann?
3. Wo müssten in der ESPeasys-Firmware-Datei ggf. zusätzlich zu nutzende Plugins hineinkopiert werden?
Vielen Dank für Deine Mühen!
Mit freundlichen Grüßen
Hey Christian,
vielen Dank für deine guten Hinweise. Manchmal wird man dann doch etwas “Betriebsblind” für die wichtigen Fragen. 🙂
Ich werde die Tipps noch in den Artikel einbauen. 🙂
Beste Grüße
Fab