Testprogramm für den ESP8266

Beim Setup, zur Nutzung des Mikrocontrollers ESP8266, wird ab und an ein Programm benötigt um die Funktionsweise des Controllers bzw. des Flashvorgangs zu testen. Der einfachste Weg dies zu testen ist es die integrierte LED des Controllers zu nutzen. Dazu wird folgendes Programm benötigt:

void setup() {
  pinMode(2, OUTPUT);
}

void loop() {
  digitalWrite(2, LOW);   
  delay(250);            
  digitalWrite(2, HIGH);  
  delay(250);
}

Das Programm definiert PIN 2 des Controllers als Ausgang und sendet anschließend alle 250 Millisekunden ein Signal an diesem PIN. Dies führt dazu, dass die eingebaute LED des Controllers in kurzen Abständen blinkt und somit das Setup und der Controller getestet werden kann.

Größe des Flashspeichers beim NodeMCU ermitteln

Das auf dem ESP8266 basierendem Entwicklungsboard NodeMCU gibt es unterschiedlichen Varianten, die sich unter anderem durch die Größe des Flashspeichers unterscheiden. Möchte man nun ermitteln welche Größe der Speicher beim eigenen NodeMCU-Board hat kann man dies mit einem Programm aus einem der ESP8266-Repositories sehr unkompliziert ermittelt.

Die Größe des Flashspeichers wird über die serielle Schnittstelle ausgegeben

Nachdem die Arduino IDE mit dem Programm geöffnet wurde und das Programm auf das NodeMCU-Board geflasht wurde, kann die Ausgabe über die serielle Schnittstelle ausgelesen werden. Dazu muss der serielle Monitor, im Menü unter Werkzeuge -> Serieller Monitor zu finden, aktiviert werden. Wichtig ist es, dass hier die korrekte Baudrate eingestellt wird.

ESP8266 auf einem Developer-Board unter macOS in Betrieb nehmen

Der ESP8266 ist ein Mikrocontroller welcher vor allem aufgrund seines Preises und seiner Fähigkeiten sehr beliebt in der Bastlerszene ist. Während er ursprünglich als WLAN-Shield für den Arduino und Konsorten gedacht war, wird er immer öfter direkt genutzt. Das sollte auch nicht verwundern, schließlich sind viele Leistungswerte des ESP8266 einem gewöhnlichen Arduino überlegen. Mittlerweile gibt es vom ESP8266 14 Varianten die von ESP-1 bis ESP-14 durchnummeriert sind.

Das NodeMCU-Board

Der einfache Einstieg gelingt mit gelingt am besten mit einem ESP8266-Entwicklerboard. Diese verfügen meist über NodeMCU. Das NodeMCU-Modul basiert dabei auf einem ESP-12. Da der ESP8266 3,3 Volt benötigt, USB allerdings 5 Volt liefert, löst das Entwicklerboard viele Probleme, da es bereits einen Spannungsteiler an Bord hat. Für die Anbindung per seriellem Interface wird unter macOS ein Treiber benötigt. Dieser kann unter anderem auf GitHub gefunden werden. Nach der Installation des Treibers muss der Entwicklungsrechner neu gestartet werden.

Nach der Treiberinstallation kann die Schnittstelle angesprochen werden

Nach dem Neustart kann die Arduino IDE geöffnet werden. Da das Board nicht von Haus aus unterstützt wird, muss eine weitere Konfiguration für den Board Manager hinzugefügt werden. Dazu öffnet man die Einstellungen der Arduino IDE und wählt dort den Punkt Zusätzliche Boardverwalter-URLs aus. Dort fügt man nun die URL:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

hinzu. Anschließend können die Einstellungen geschlossen werden und der Board Manager geöffnet werden. Im Board Manager wird nun nach ESP8266 gesucht und die entsprechende Unterstützung installiert.

Die Unterstützung für die ESP8266-Boards wird installiert

Nachdem die Unterstützung für das Board installiert wurde, muss das ganze noch korrekt konfiguriert werden. In diesem Beispiel wurden folgende Einstellungen genutzt:

Board: "NodeMCU 1.0 (ESP-12E Module)"
CPU Frequency: "80 MHz"
Flash Size: "4M (3M SPIFFS)"
Upload Speed: "9600"
Port: "/dev/cu.wchusbserial1410"

Als Beispiel-Programm bietet sich das Webserver-Beispiel an. Nachdem das Beispielprogramm in der Arduino IDE gelandet ist, kompiliert und hochgeladen wurde kann der erste Test des ESP8266 durchgeführt werden. Dazu muss im Browser die IP-Adresse des Gerätes oder alternativ die URL: http://esp8266.local aufgerufen werden.

Das automatische Xylophon

Im Rahmen des Neubrandenburger Hackerspaces und eines kürzlichen Standes auf dem Marktplatz, waren wir auf der Suche nach einigen Dingen, die man auf diesem Stand ausstellen konnte. Nachdem wir im E5 mit einigen Arduinos und Servomotoren experimentiert hatten, kam mir die Idee zu einem automatischen Xylophon.

Das automatische Xylophon

Das automatische Xylophon

Die Idee wurde anschließend in den nächsten Tagen umgesetzt. Realisiert wurde das ganze mit einem Arduino (und einem Bluetooth-Shield zum drahtlosen flashen), einer Tilt-Pan-Vorrichtung und einem Joystick. Mit Hilfe des Joysticks konnte die Konstruktion auch von Hand bedient werden, was auf dem Stand beliebter war als der automatische Modus. Der Quelltext zum Projekt ist auf GitHub zu finden.. Das Projekt ist unter der MIT-Lizenz lizenziert und somit freie Software. Informationen zum Nachbau sind im Entitäts-Wiki zu finden.

Arduboy – GameBoy im Mini-Format

Mit einem Arduino kann man viele Dinge ausprobieren, allerdings muss man meist noch zusätzliche Hardware wie LEDs und ähnliches beschaffen. Mit dem Arduboy hat man ein System, mit dem man viele Dinge ohne zusätzliche Anschaffungen ausprobieren kann. Dabei handelt es sich um einen GameBoy im Mini-Format. Der Arduboy besteht aus einem OLED-Display, sechs Buttons, einem Piezo-Lautsprecher und einer Batterie, welche bis zu 8 Stunden durchhalten soll.

Der ArduBoy auf Kickstarter

Der ArduBoy auf Kickstarter

Das besondere an dem Arduboy ist das auf einem Arduino basiert und vollständig programmierbar ist. Der Arduboy kann für $ 39 bezogen werden, mit dem Versand nach Deutschland sind allerdings $ 54 zu berappen. Neben der offiziellen Webseite, gibt es weitere Informationen auf der Kickstarter Webseite.