1. Einführung
Der ESP8266 ist ein kostengünstiger 32-Bit Mikrocontroller, der eine vollständige und in sich geschlossene WiFi-Netzwerklösung bietet. Mit ihm kannst du selbst ein WLAN-Netzwerk als Access Point bereitstellen oder als Teilnehmer einem anderen Netzwerk beitreten. Das Board kann auch im IT-Sicherheitsumfeld eingesetzt werden. Mit ihm ist es z. B. möglich, einen WiFi-Deauther als Bestandteil diverser anderer Angriffsvektoren für nur knapp 3€ zu bauen. Das NodeMCU V3 ESP8266 Board enthält einen 80 MHz ESP8266-Chip mit bis zu 4 Megabyte Flash-Speicher.
2. Installation
Um mit dem ESP8266-Board direkt durchstarten zu können, musst du zuerst (wie üblich) verschiedene Installationsschritte durchlaufen:
1.) Lade dir die Arduino IDE herunter und installiere sie.
2.) Öffne die Arduino IDE.
3.) Navigiere in der IDE via "Datei->Voreinstellungen" zu den Einstellungen.
4.) Trage unter dem Punkt "Zusätzliche Boardverwalter-URLs" den folgenden Link ein: http://arduino.esp8266.com/versions/2.5.0/package_esp8266com_index.json.
5.) Wechsle in den Menüpunkt "Werkzeuge->Board->Boardverwalter...".
6.) Trage in das Suchfeld "ESP" ein und installiere die "esp8266 by ESP8266 Community"-Bibliothek.
7.) Wähle das Board unter dem Menüpunkt "Werkzeuge->Board" aus (in diesem Falls das NodeMCU/Arduino).
8.) Verbinde danach das Board via Micro-USB mit deinem Rechner.
9.) Wähle den nun erschienenen Port unter "Werkzeuge->Port" aus.
Nun sind alle Vorkehrungen getroffen, um direkt mit dem Programmieren eines "Hallo-Welt-Programms" für den ESP8266 zu beginnen. Erstelle dafür über den Shortcut "STRG+N" ein neues Sketch.
3. Hallo-Welt-Programm auf dem ESP8266
Doch wie genau kann man ein "Hallo-Welt-Programm" für den ESP8266 definieren? Eine Möglichkeit wäre, ein visuelles Signal in Form einer blinkenden LED auf dem Board zu erzeugen. Das "Hallo-Welt-Programm" auf dem ESP8266 wird die blaue LED auf dem Board im Sekundentakt blinken lassen.
Hierfür definierst du dir zunächst eine Konstante zum Ansteuern der LED.
#define LED 2
In der setup( )-Funktion, die beim Starten einmalig ausgeführt wird, setzt du via Aufruf der Funktion pinMode( ) den PIN als Ausgang.
void setup() {
pinMode(LED, OUTPUT); // PIN als Ausgang setzen
}
In der loop( )-Funktion schaltest du via digitalWrite( ) mit dem HIGH-Signal die LED ein, wartest mit delay( ) 1000 Millisekunden (also eine Sekunde), schaltest dann mit dem LOW-Signal die LED aus und wartest erneut 1000 Millisekunden.
void loop() {
digitalWrite(LED, HIGH); // LED einschalten.
delay(1000); // Eine Sekunde warten.
digitalWrite(LED, LOW); // LED ausschalten.
delay(1000); // Eine Sekunde warten.
}
Das vollständige Programm sieht dann wie folgt aus:
#define LED 2
void setup() {
pinMode(LED, OUTPUT); // PIN als Ausgang setzen
}
void loop() {
digitalWrite(LED, HIGH); // LED einschalten.
delay(1000); // Eine Sekunde warten.
digitalWrite(LED, LOW); // LED ausschalten.
delay(1000); // Eine Sekunde warten.
}
Da loop( ) endlos lange aufgerufen wird, blinkt die LED auf dem ESP8266 nun im Sekundentakt, sobald du das Programm auf den ESP8266 geuploadet hast.
Für den Upload prüfst du zunächst durch einen Klick auf den Haken in der Arduino IDE, ob der Code fehlerfrei ist und lädst mit einem Klick auf den nach rechts zeigenden File das fertig kompilierte Programm auf den ESP8266. Achte darauf, dass du nach dem Klick auf den Pfeil den Flash-Knopf auf dem Board drückst.
Wenn du das Board nun vom Strom trennst und erneut einsteckst, beginnt die blaue LED wie gewünscht im Sekundentakt zu blinken.
Autor: Florian André Dalwigk
Dieser Artikel hat 50 Bonuspunkte erhalten. Schreib auch du einen Artikel.