ESP8266 3rd Party Firmware

Nicht jeder IoT-Bastler kann oder will eine eigene Firmware für den ESP8266 bauen. Letztlich stehen alle auch immer wieder vor den gleichen Problemen. Der Aufgabenstellung haben sich mehrere Personen unabhängig voneinander angenommen und jeder eine eigene "allgemeingültige Firmware" entwickelt, die Sie einfach auf einen ESP8266 laden und dann aus der Ferne konfigurieren können

Überlegung

Bei der einfachen Entwicklung für den ESP8266 schreibe ich mir ein Programm, was genau und nur genau das macht, was ich da drin haben will. Ich nutze aber natürlich Bausteine und Module anderer Entwickler. Die "generische Firmware" der verschiedenen Entwickler soll es dem Nutzer aber noch einmal deutlich einfacher machen. Sie laden die Firmware direkt auf den ESP8266. Er startet dann meist einen WiFi AccessPoint, mit dem sie sich einfach verbinden. Über eine Webseite können Sie dann Funktionen aktivieren und Ports und Pins konfigurieren. Über vorbereitete Module können auch Fertigbausteine wie z.B. die Komponenten von SONOFF oder ein WLAN LED E27 Leuchte einfach mit einer alternativen Firmware versehen werden.

Sie müssen also gar nicht mehr richtig "Programmieren", wenn eine Firmware alles schon enthält und Sie nur noch Bausteine verbinden, z.B. dass ein Pin als Eingang den Pegel per MQTT weiter gibt oder einen Webseite anspricht. Umgekehrt können Ausgänge dann ebenfalls direkt per HTTPS oder MQTT oder andere Dinge angesteuert werden. Eine solche Firmware ist auf jeden Fall einen Blick wert. Vielleicht ist ihr Problem schon lange gelöst

Alte Firmware sichern!

Ehe sie bei einem bestehenden ESP8266 einfach eine neue Firmware drauf schreiben, sollten Sie vielleicht die vorhandene Werksfirmware sichern. Das geht bei Shelly 1/2 mit einem 2MB Flash-Speicher z.B.: mit.

# per Python
esptool.py --p COM5 --baud 115200 read_flash 0x00000 0x200000 Backup_2MB.bin

# per EXE
esp_tool.exe -pCOM5 -b115200 -a0x0000 -s0x200000 -or Shelly1_Backup.bin 

Bei Shelly kann man die Firmware später so auch wieder einspielen. Bei meinem Sonoff hat es nicht geklappt, die Sicherung von einem Gerät auf einem anderen Gerät einzuspielen. Eventuell ist da ja eine Kopplung an die MAC-Adresse eingebaut.

Übersicht

Ich bin nicht mal sicher, ob ich nun alle alternativen Firmware-Lösungen beschrieben habe. Aufgrund der hohen Dynamik bei der Entwicklung bin ich sicher dass die Funktionen sich auch sehr schnell erweitern werden und die Tabelle veraltet. Alle laufen mit dem ESP8266 aber ich kann mir vorstellen, dass bald auch der ESP32 bedient wird.

Die Liste versuche ich zu ergänzen, soweit ich mit den verschiedenen Firmware-Varianten Erfahrungen gesammelt habe.

Firmware ESPEasy Tasmota ESPurna

Chip

ESP8266

ESP8266

ESP8266

Initalkonfig

WLAN AP "ESP-01"
Browser

WLAN AP
Browser

WLAN AP
Browser

Devices

WeMos und andere
Sonoff

WeMos und andere
Sonoff
Shelly

Generic

Digital In

Schalter, Taster
HC-SR04 Abstand

?

Taster, Schalter,

1Wire

DS18B12
DHT11/22

?

DS18B12
DHT11/22
u.a

I2C

Druck, Feuchte, Strom, Lux, Motor, Display

?

Umfangreich

Analog In

Ja

?

Umfangreich

Digital Out

Relais

?

Relays, Delay Switch

Kommunikation

MQTT
Domoticz
HTTP
UDP
Thinkspeak

MQTT
Domoticz
Hausautomation

MQTT
Domoticz
HomeSpeak
ThinkSpeak

Sonst

 

 

Scheduler
Alexa

Die Liste ist sicher nicht komplett aber es ist gut sehen, dass ESPEASY am umfangreichsten ist und fast alle Sensoren und Aktoren unterstützt. Tasmota hingegen wurde zuerst auf die SONOFF-Geräte optimiert und bedient neben Shelly auch andere Geräte. Es ist also weniger für Leute, die ihr Gerät selbst zusammen bauen sondern für Besitzer eines ESP8266 Geräts, die dieses von der Hersteller-Firmware befreien wollen.

ESPEasy

Mit ESPEasy gibt es nun eine Firmware, die den Einstieg noch einfacher machen soll. Sie laden sich ESPEasy herunter und flashen diese auf ihren ESP822. Nach dem Neustart finden SIe ein neues WLAN, mit dem Sie sich verbinden können. Über die Webseite können Sie den ESP8266 konfigurieren und in ein Haus-LAN aufnehmen. Danach können Sie wieder über die Webseite die weitere Konfiguration vornehmen, mit der Sie die Funktion der Ein/Ausgänge festlegen und per einfacher Skriptsprache sogar Aktionen auslösen können.

  1. Firmware herunter laden
    Die gibt es bei https://www.letscontrolit.com/wiki/index.php/ESPEasy
  2. Firmware flashen
  3. Per WLAN mit der SSDI "ESP-01" verbinden
    Kennwort ist "configesp"
  4. Browser auf http://192.168.4.1 gehen
    Es kann durchaus etwas dauern, bis die Webseite erscheint
  5. Modul mit dem HausWLAN SSID und Kennwort konfigurieren
  6. Nun wieder im LAN mit dem ESP8266 verbinden

Jetzt brauchen Sie also nicht einmal mehr viel Programmieren oder ihre eigenen Projekte erst als Code mit den WLAN-Zugangsdaten schreiben und flashen. Genau genommen wird so ein ESP8266 auch zur einfachen Basis für Schülerprojekte u.a., wenn Sie nun nur noch ein geeignetes "Shield" aufsetzen müssen. Zumal auch ein MQTT-Stack schon enthalten ist.

ESPurna

Vergleichbar mit ESPEasy, Sehr große Sensor und Aktor-Unterstützung.

Tasmota

Die Tasmota-Firmware ist vermutlich aufgrund der Endgeräte von SONOFF entstanden. Diese recht günstigen Geräte erlauben mit dem ESP8266 das Schalten von 230V-Verbrauchern und einigem Mehr. Mittlerweile gibt es auch andere Geräte wir z.B. Shelly, die ebenfalls unterstützt werden. Tasmota hat also weniger den Bastler, der an einen ESP8266 die verschiedensten Sensoren anbinden als Zielgruppe, sondern die Hausautomatisierungsfreunde, die Fertiggeräte umdefinieren und die meist chinesische Firmware durch eine offen Frmware ersetzen wollen.

Cloudfreie Software für Sonoff-Schalter (Tasmota)
https://www.youtube.com/watch?v=SxPYNPPobRY 

Aber die Anleitung macht mir auch deutlich, dass MQTT wohl eine wichtige Entwicklung im Bereich dieser Steuerungen ist. Also wird es Zeit sich damit auseinander zu setzen.

vhESP

Andreas van Haaren ist der Autor dieser Firmware, die speziell für die ESP-01-Module entwickelt wurde. Sie wird einmal aufspielt. Alle Funktionen lassen sich dann per Browser einrichten. Der ESP01 agiert dazu als Access-Point, mit dem man sich verbinden kann. Durch die Fokussierung auf den ESP01 kann man die beiden UART-Anschlüsse und den seriellen Anschluss programmieren. Durch die Firmware kann das Modul sowohl aktiv als Sender als auch passiv als Server betrieben werden. Ebenso kann zwischen UDP, TCP und Webservermodus gewählt werden. Die Firrmware wird vom Autor schön dokumentiert und auf der Webseite www.vhesp.com bereitgestellt.

Im Vergleich zu ESPEasy oder ESPurna ist vhESP deutlich einfacher. Da ein ESP01-Modul (shr günstig) reicht, beschränkt sich die Firmware auf 2 digital Ein/Ausgänge, deren Status per UDP/TCP/XML gesendet wird. Für einfache Aufgaben mit eben zwei Schaltkontakten, z.B. Briefkastenschlitz o.ä. kann so etwas komplett ausreichen und sie müssen sich nicht in größere Pakete einarbeiten

.

Basecamp für IoT mit MQTT

Ich habe Basecamp hier mit aufgeführt, auch wenn es keine eigenständige alternative Firmware ist. Basecamp ist nicht allein lauffähig sondern eine Bibliothek, die die Entwicklung eigener Projekte sehr einfach macht, indem Sie Basisfunktion wie z.B. einen WebServer zur Verwaltung mitbringt. Sie funktioniert aber wohl erst ab dem neueren ESP32 und nicht mit dem originalen ESP01 oder ESP8266.

Der Auslöser zur Entwicklung dieser Firmware dürfte der Wunsch gewesen sein, IoT-Projekte ohne öffentliche Clouds zu nutzen. Basecamp vereinfacht sehr stark die Entwicklung eigener Sensoren mit einer Anbindung an einen MQTT-Broker, der problemlos auch intern stehen kann.

Weitere Links