Buildampel mit ESP-8266

16.1.2018

Ein Buildampel mit dem ESP-8266 bauen, das ist doch eine gute Idee, habe ich mir gedacht und dann auch einfach mal losgelegt. Zu oft war der Build rot und niemand hat es mitbekommen. Warum also nicht ein wenig mehr Aufmerksamkeit auf den guten master legen?

init.lua - Hier geht es los

Da ich keine Lust auf C hatte und den ESP schon mal mit der Lua Firmware geflashed hattee, konnte es gleich richtig losgehen. Drum gleich für Euch ein gutgemeintes Script:

-- init.lua
function startup()
  if abort == true then
    print('startup aborted')
    return
  end
  print('in startup')
  dofile('bootstrap.lua')
end

abort = false
print("5 seconds till start, send abort=true to stop startup")
tmr.alarm(0,5000,0,startup)

Die init.lua Datei wird initial beim Start des ESP eingelesen. In diesem Fall haben wir eine 5 Sekunden Verzögerung eingebaut, falls mal eines der nachfolgenden Skripte einen Fehler beinhaltet. Dann bootet der ESP nämlich sofort neu. Und hat man die 5 Sekunden nicht zum abbrechen, dann hat man sich einen Endlosboot gebaut. Das einzige was dann noch hilft, ist ein erneutes Flashen des Speichers. Also kann man dieses Script getrost immer verwenden. (Es sei denn man ist sich sicher, das es geht und mag nicht so lange warten.)

Licht ins Dunkel

  • Wie schliesse ich den ESP und die LEDs an
  • Wleche LEDs
  • Wie kriege ich die zum Leuchten?

bootstrap.lua

Nun wird die bootstrap geladen. Hier können wir einfach mal alle unsere Abhängigkeiten einbringen.

dofile("variables.lua")
dofile("basicanimations.lua")
dofile("functions.lua")
dofile("wlan.lua")
dofile("run.lua")

Ich muss erst mal noch ein besseres Verständnis für Lua entwickeln, drum gibt es hier noch eine Menge Spaghetti Code. Und wenig Kapselung auch von Daten.

Die Konfiguration für allgemeines liegen zum Beispiel in der variables.lua:

numberOfLeds=60
Autor: Falk Kühnel