ESP-8266 mit individueller lua firmware

14.1.2018

Ich wollte mal den den ESP-8266 ausprobieren und habe mal ein paar davon bestellt. Allerdings nicht die einfachen Module, sondern die Development Boards (NodeMCU V3 ESP8266 ESP-12)[1], denn die haben gleich einen Spannungswandler drauf und einen USB to Serial Adapter. Und man kann hinterher von dort direkt die 5V an die LEDs durchreichen.

Zuersteinmal hatte ich keine Lust in C zu programmieren und einfach beschlossen eine LUA Firmware auf den ESP zu spielen. Zum Glück gibt es großartige Menschen da draussen, die es einem sehr einfach damit machen.

Bei nodemcu-build.com habe ich ein wunderbares Firmware Image ausgewählt und heruntergeladen. Ich habe den dev Branch genommen, damit man etwas aktuellere Pakete hat.

Wichtig dabei nur, dass man die module WS2812, SJSON und HTTP mit auswählt. Mit dem WS2812 Modul kann man wunderbar diese Multicolor LED Leisten steuern, HTTP umd die Verbindung zum Buildserver aufzubauen und SJSON zum einfachen parsen der API Antworten.

Dann habe ich auch noch SSL ausgweählt, weil ich auf eine SSL verschlüsselte Bamboo Instanz zugreifen wollte. SSL ist echt anstrengend für den kleinen Speicher des ESP.

Wenn man seine korrekte Email Adresse beim Absenden des Formulars angegeben hat, wird der Build angestossen und man bekommt nach einer kurzen Weile eine Email mit einem Link zum Firmware Image.

Dann kann man sich das Tool esptool.py herunterladen und einfach die Firmware auf den per USB angeschlossenen ESP schreiben. Ich brauchte noch einen CH340 Treiber auf meinem Mac um die USB zu Seriell Schnittstelle ansprechen zu können. Ich weiss nur noch, dass der Treiber in der Datei CH341SER_MAC.ZIP aufbewahrt wurde, aber habe keine Ahnung, wo ich den heruntergeladen habe. Ich glaube hier: http://www.wch.cn/downfile/178 (Herunterladen und installieren auf eigene Gefahr!)

Nun schnell mal rausfinden, an welchem Port der ESP hängt.

ls -la /dev/tty.* | grep usb

In meinem Fall war das /dev/tty.wchusbserial1410. Und dann noch das nette esptool nutzen um die Firmware zu flashen.

esptool.py --port /dev/tty.wchusbserial1410 write_flash -fm dio 0x00000 Downloads/nodemcu-dev-12-modules-2017-02-07-09-41-28-float.bin

Danach ist man eigentlich erst mal parat, um mal mit der Programmierung loszulegen. Aber das kommt dann im nächsten Post.


  1. findet man auch bei Aliexpress ↩︎

Autor: Falk Kühnel