ESP8266 D1 Mini mit Tasmota flashen

ESP8266 D1 Mini Tasmota Firmware flashen
ESP8266 D1 Mini Tasmota Firmware flashen

Was ist Tasmota?

Viele Hersteller binden ihre Geräte an die Cloud. Dadurch ist die Steuerung der Geräte teilweise nur über das Internet möglich. Außerdem drücken sehr viele Käufer und Smarthome-Fans ihre Bedenken gegenüber dieser Technik aus, da nicht immer klar ist, welche Daten an welche Server geschickt werden.


Tasmota knüpft genau hier an und sorgt für eine alternative Software die auf den ESPs, die in den Geräten meist verbaut sind, installiert werden kann.


Was bietet Tasmota?

  • Einfache Installation
  • Weboberfläche zum konfigurieren
  • MQTT-Support
  • Erstellung von Regeln und Zeitplänen
  • Einfache Updates über das Interface
  • Detailliertes Logging
  • Nutzung von vorgefertigten Templates und Erstellung eigener Templates
  • Alles komplett lokal

Installation Linux

ESP-Tools ist eine Python basierte Software. Aus diesem Grund muss Python zuerst auf unserem System installiert sein. Es wird außerdem eine Python-Bibliothek benötigt, die wir ebenfalls vorher installieren müssen. Wenn alle nötigen Pakete installiert wurden, dann können wir die ESP-Software von GitHub herunterladen. Geht dazu in dem Git-Repository unter die Releases und ladet euch den Source Code der neusten Version als ZIP-Archiv runter. Nach dem Download muss das Archiv noch entpackt werden. In dem entpackten Ordner befindet sich die Datei esptool.py, die wir für die weiteren Schritte benötigen.

Hier der Ablauf der Befehle, die ihr absetzen müsst. Achtet bitte auf die Versionsnummern, die gegebenenfalls geändert werden müssen.

Code
  1. sudo apt install python python-pip python-serial
  2. wget "https://github.com/espressif/esptool/archive/v2.8.zip"
  3. unzip v2.8.zip
  4. cd esptool-2.8


Dem Programm muss später übergeben werden, an welchem USB-Port der ESP8266 Di Mini angeschlossen ist.

Hierzu kann unter Linux folgender Befehl genutzt werden:

ls -la /dev/serial/by-id


Ihr bekommt dann eine Liste der angeschlossenen USB-Geräte. Sucht den passenden raus. Meistens befindet sich schon das Wort "serial" mit im Namen, wie bei mir:

lrwxrwxrwx 1 root root 13 Nov 20 20:47 usb-1a86_USB2.0-Serial-if00-port0 -> ../../ttyUSB0

Für später wird dann das ttyUSB0 benötigt. Der vollständige Pfad heißt dann : /dev/ttyUSB0


Da die nötigen Schritte nun getan wurden, können wir mit dem eigentlich Flash-Vorgang beginnen. Vorher benötigen wir natürlich die Tasmota-Software, die auf den ES8266 D1 Mini gespielt werden soll. Tasmota erhalten wir ebenfalls auf GitHub und können es unter den Releases herunterladen. Ihr müsst ein wenig scrollen, bis die verschiedenen .bin-Dateien erscheinen. Sucht euch die passender Firmware in eurer präferierten Sprache raus. Ich nehme die tasmota-DE.bin und lade sie direkt runter in den Ordner esptool-2.8 in meinem Home-Verzeichnis.



Um Tasmota nun zu flashen, führt folgenden Befehl aus:


sudo python esptool.py --port /dev/ttyUSB0 write_flash 0x0 tasmota-DE.bin


Der Befehl wird als root-Benutzer ausgeführt, damit die USB-Schnitstelle angesprochen werden kann. Mit der --port Eigenschaft geben wir die USB-Schnitstelle an, die wir ein paar Schritte zuvor herausgefunden haben. Am Ende des Befehls wird noch der Pfad zur Tasmota-Software angegeben. Da sich die esptool.py Datei und die .bin Datei im selben Verzeichnis befinden, reicht es wie oben angegeben.


Installation Windows und Mac

Unter Windows und Mac gestaltet sich das ganze noch viel einfacher. Bei GitHub gibt es einen Entwickler, der auf Basis der Python ESP-Tools (esptool.py) eine Anwendung mit Benutzeroberfläche programmiert hat. Ihr müsst nur in den Releases die richtige .exe-Datei für euer Windows-System herunterladen. Die Software muss nicht installiert werden, sondern kann direkt gestartet werden.


Als erstes wählt ihr den richtigen Serial Port aus. Wenn ihr nur den ESP8622 D1 Mini angeschlossen habt, dann wird sehr wahrscheinlich nur ein COM-Port angezeigt. Anschließend wählt ihr die Firmware, in unserem Fall Tasmota, aus. Die Baudrate lasst ihr standardmäßig auf 115200 stehen. Wenn ihr einen ESP8622 flashen wollt, dann nutzt ihr bei dem "flash mode" die Option Dual IO (DIO).


Oberfläche des Flash-Tools


Ersteinrichtung

Nach dem flashen startet der ESP in einem "HotSpot" oder "AccessPoint" - Modus. Das bedeutet, dass ein eigenes WLAN bereit gestellt wird. Mit diesem WLAN müsst ihr euch einmalig verbinden. Wenn ihr euch verbunden habt, dann öffnet sich meistens schon automatisch ein Browserfenster mit der Konfigurationsseite von Tasmota. Sollte sich die Seite bei euch nicht automatisch öffnen, gebt manuell die IP-Adresse 192.168.4.1 ein.


Wlan Hotsport wird von Tasmota bereitgestelllt


Auf der Konfigurationsseite gebt ihr dann an , mit welchem WLAN sich der ESP in Zukunft verbinden soll. Außerdem könnt ihr manuell einen Hostnamen vergeben oder einen "generieren lassen".

Wenn ihr auf speichern klickt, dann Startet der ESP neu und verbindet sich mit dem angegebenen WLAN. Achtet darauf, dass der ESP nun eine IP-Adresse von dem DHCP-Server in eurem Netzwerk (meistens der Router) bekommt. Dieses IP-Adresse müsst ihr herausfinden.


GUI der Tasmota Einrichtung

Grundkonfiguration

Aktuell sind nur die GPIO PINs 1,2,3 und 14 benutzbar. Das liegt daran, dass Tasmota einiges vorgefertigte Templates mitliefert. Bei vielen Smarthome-Produkten, die einen ESP verbaut haben, ist nicht ganz einfach ersichtlich, welcher GPIO zum Beispiel das Relais steuert. Durch die bereitgestellten Templates, muss man nur das gekaufte Gerät angeben und die richten GPIOs werden angesprochen.


Um alle PINs nutzen zu können, geht ihr unter Einstellungen in das Menü Gerät konfigurieren. Hier stellt ihr den Gerätetyp auf "Generic" und klickt auf "speichern". Nachdem der ESP neu gestartet hat, seht ihr, dass ihr alle PINS benutzen könnt.


Im Dropdown Menü jedes PINs könnt ihr nun auswählen, welche Komponente an dem jeweiligen Pin angeschlossen wird. Hier kann ich natürlich nicht für jeden Button, Sensor etc. eine eigene Erklärung geben. Aber eventuell kommt ja in Zukunft ein kleines Beispiel ;)

Wem die Begriffe PINs und GPIO neu sind, der sollte sich vorher den Artikel ESP8266 D1 Mini Pinbelegung und Eigenschaften durchlesen.

    Über den Autor

    Moin zusammen,

    ich bin begeisterter Smarthome-Fan und beschäftige mich mit der dazugehörigen Soft- und Hardware.
    Durch meinen Beruf als Fachinformatiker - Systemintegration kenne ich mich gut mit Netzwerktechnik und Linux aus.


    Ich bin makesmart beigetreten, weil ich der Community helfen möchte alle Fragen zu beantworten und den Bereich von DIY und Smarthome voran zu treiben.


    Kommentare