ESP8266 Part 1 – Make it blink! (DE)

Are you looking for the english version of this tutorial ? Click here!

Das ESP8266 WLAN Modul ist nun schon seit einiger Zeit der Liebling aller Internet-of-Things Enthusiasten. Kein Wunder: Für weniger als 5 Euro bekommt man schon ein einfaches Modul mit dem man sein Projekt internetfähig macht und für rund 10 Euro findet man Breadboard-kompatible Boards inklusive USB-to-Serial Chip die sich direkt via USB Kabel programmieren lassen. In dieser Artikelreihe möchte ich euch zeigen, wie ihr euer eigenes IoT Projekt mit dem ESP8266 starten könnt. Los gehts! 

1. Übersicht

 

Als die ersten ESP8266 Module auf dem Markt erschienen war nur wenig Dokumentation zu deren Features und Funktionen vorhanden. Das hat sich glücklicherweise geändert und mittlerweile kann man den ESP8266 direkt aus der Arduino IDE programmieren.  Die Verfügbarkeit von Breakout Boards, die auf Breadboards passen und zusätzliche Komponenten wie passende Level Shifter, 3.3V Spannungsregler und sogar einen USB Anschluss mit sich bringen, macht die Programmierung kinderleicht.

Ich zeige euch in diesem Artikel wie ihr so ein Breakout Board mit eurem Computer verbindet und mithilfe der Arduino IDE programmieren könnt. Ihr braucht hierzu:

  • Ein ESP8266 Modul Breakout Board (z.B. Adafruit Huzzah, NodeMCU Dev 1.0, …)
  • Einen USB-to-Serial Konverter (falls euer Board keinen USB Anschluss hat)
  • Die Arduino IDE in der Version 1.6.5 ( 1.6.6 scheint aktuell nicht zu funktionieren)

 

2. Treiber laden

esp_treiber

CH340G auf dem NodeMCU Dev Board 1.0

Je nachdem was ihr für ein Modul besitzt und mit welchem Betriebssystem euer Computer arbeitet benötigt ihr unterschiedliche Treiber um mit dem ESP8266 kommunizieren zu können. Mit einem Blick auf den Serial-to-USB Chip oder in das Datenblatt könnt ihr herausfinden ob und welchen Treiber ihr benötigt. Meistens findet man durch eine schnelle Internet-Suche die passenden Treiber, ihr könnt aber auch einen Blick auf diese (unvollständige) Übersicht werfen:

USB-to-Serial ICWindowsMac OS XLinuxBoards
CH340GTreiber ab Windows 7Signierter Treiber Schon enthaltenNodeMCU Dev Board V1.0
FTDIFTDI TreiberFTDI TreiberFTDI Treiber
CP2102CP2102 Treiber ab WinXPCP2102 Treiber ab WinXPCP2102 Treiber ab WinXPUSB-to-Serial Konverter

Ihr habt ein Board mit einem anderen Treiber ? Schreibt es doch in die Kommentare, damit ich die Liste erweitern kann.

3. Arduino IDE vorbereiten

esp_install1

Zusätzliche Board Manager URLs einfügen

Um euer ESP8266 Modul mit der Arduino IDE programmieren zu können müsst ihr zuerst die ESP8266 Unterstützung installieren. Das geht seit der Einführung des Board Managers in der Arduino IDE sehr einfach.
Unter Einstellungen/Zusätzliche Board Manager URLs fügt ihr die folgende URL ein:

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

Anschließend könnt ihr unter Werkzeuge/Board/Board Manager nach „ESP8266“ suchen und das Paket installieren. Nach Abschluss der Installation seid ihr bereit eurer ESP8266 Modul zu programmieren.

 

4. Mit dem Computer verbinden

esp_boards1Falls ihr ein Board mit USB Anschluss besitzt seid ihr mit diesem Schritt schnell fertig, verbindet einfach euer Modul per USB mit dem Computer und wählt in der Arduino IDE unter Boards&Port die richtigen Einstellungen.

Solltet ihr z.B. ein Adafruit Huzzah Board besitzen müsst ihr dieses noch per USB-to-Serial Konverter mit eurem PC verbinden.

Beachtet dafür die Dokumentation eures jeweiligen Moduls. Für das Adafruit Huzzah Board könnt ihr diese auf der Learning Platform von Adafruit finden.

 

5. Make it blink!

Die meisten ESP8266 Module besitzen am GPIO 0 eine LED. Die wollen wir jetzt zum Blinken bringen! In der Variable BUILTIN_LED findet ihr den Port der auf eurem Modul verbauten LED und könnt diese wie im folgenden Sketch ansteuern:

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

void loop() {
  digitalWrite(BUILTIN_LED, LOW);                            
  delay(1000);                      
  digitalWrite(BUILTIN_LED, HIGH);  
  delay(1000);
} 

Zuletzt laden wir nun das Sketch auf das Board. Dafür muss das ESP8266 Modul in den Bootload Modus versetzt werden. Das NodeMCU Dev Board 1.0 besitzt eine Autoreset Funktion, die das für uns automatisch erledigt sobald wir in der Arduino IDE auf Upload drücken. Beim Adafruit Huzzah Board müssen wir dies manuell per Hand erledigen. Das funktioniert so :

  1. GPIO0 drücken und gedrückt halten -> Die rote LED leuchtet
  2. Reset drücken
  3. Reset loslassen
  4. GPIO0 loslassen -> Die rote LED leuchtet nur noch schwach
  5. Nun ist das Board im Bootload Modus

Mit einem Klick auf Upload lässt sich nun das Sketch auf den ESP8266 übertragen.

Wundert euch nicht wenn der Upload des Sketches einige Sekunden dauert. Die Arduino IDE kompiliert für jedes Sketch eine komplette Firmware für den ESP8266 und überträgt diese auf das Modul, das dauert einige Zeit.

Wenn alles funktioniert hat seht ihr jetzt das die eingebaute LED eures Moduls blinkt!

Solltet ihr Probleme haben oder euch Fehler in diesem Artikel aufgefallen sein schreibt es in die Kommentare.

Im nächsten Teil der ESP8266 Artikelreihe werden wir uns mit einem WLAN verbinden und Sensorwerte ins Internet senden.

Das könnte Dich auch interessieren...

2 Antworten

  1. Hi. Echt tolle Sache, das du zu diesem Sensor eine Tutorial Reihe machst. Was mich noch interessieren würde, ob man sich mit diesem Sensor ein separates WLAN aufbauen kann, wo die Geräte in denen der Chip verbaut ist nur untereinander kommunizieren, wie z.B. in Drahtlosen Musikboxen.
    Wäre echt super, wenn du auch ein Tutorial für diesen Anwendungsfall mit in diese Serie aufnimmst.

  1. 4. Dezember 2015

    […] Auf der Suche nach dem deutschen Tutorial ? Hier klicken! […]

Kommentar verfassen

%d Bloggern gefällt das: