Ich hab mich in den letzten Tagen mal etwas intensiver mit dem Thema Datashet ESP8266 beschäftigt. Dieses Modul geistert in letzte Zeit immer häufiger durch die Fachpresse und das zu Recht. Es handelt sich hierbei um ein kleines WIFI – Modul, dass recht einfach seriell an jeden beliebigen Mikrocontroller Type angeschlossen werden kann.Der Datenaustausch erfolgt über AT-Komandos ähnlich wie man sie von anderen seriellen Kommunikationen kennt.
Das interessante bei diesem Modul ist jedoch, dass man im Prinzip auf einen zusätzlichen Mikrocontroller verzichten kann, denn der ESP8266 verfügt selbst über bis zu 4 MB Flash und 11 GPIO’s bei 80 MHz.
Das Modul ist in verschiedenen Board-Typen erhältlich, hierbei sind meist unterschiedlich viele der GPIO Pins herausgeführt. Auf allen Breakouts sind jedoch minimal 4 (Rx (GPIO 3) und Tx (GPIO 1) , VCC und VSS).
Die Programmierung des ESP kann sehr einfach mit der Arduino IDE erfolgen
Hierbei stehen mehrere Möglichkeiten zur Verfügung:
Auf GitHub steht eine eigenständige Version der Arduiono IDE ESP8266 zum download zur Verfügung , die bereits über alle nötigen Librarys verfügt, jedoch nicht immer auf dem aktuellsten Stand ist.
Die zweite Alternative besteht darin, eine bereits vorhandene (installierte) original Arduiono IDE um die Hardware Library zu erweitern. Diese steht ebenfalls auf GitHub zur Verfügung.
Die dritte und einfachste Möglichkeit, einfach in den Voreinstellungen der Arduiono IDE Zusätzliche Boardverwalter den folgenden Link eintragen:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Anschließend wird unter Werkzeuge – Board – Board Verwalter… das Paket „ESP8266 Comunity“ ausgewählt und installiert. Um eine neue Version zu installieren kann dann die Updatefunktion des Pakets verwendet werden.
Soll das Package von Hand eingebunden werden, muss vorher die ZIP-Datei herunter geladen und entpackt werden.Im entpackten Ordner befindet sich neben den Git-Dateien auch der Ordner esp8266com. Dieser wird nun einfach in den Arduino-Ordner ../Dokumente/Arduino/hardware verschoben, dort befinden sich unter anderem dann auch zusätzliche neu Sketche Dateien, wie z.B.
- ESP8266WebServer
Ein einfaches Hello World Programm für die Serverfunktion - ESP8266mDNS
Server mit mDNS (gerätename.local) - ESP8266WiFi
Verschiedene Sketche: Scanner, Server, Clients sowie ein NTP-Client (Zeitsynchronisation über das Internet).
Nach dem starten der Arduiono IDE müssen nun noch ein paar Voreinstellungen getroffen werden. In der Boardauswahl befindet sich nun eine neue Kategorie, in der nun auch das Generic ESP8266 board zu finden ist, diese muss ausgewählt werden um z.B. ein ESP-01 Modul zu programmieren.Verwenden Sie für einen ersten Test z.B. aus den Beispielen den Hello Server-Sketch. Die Syntax ist Arduinokonform und die Programmierung sehr einfach, da alles eigene Librarys hat und die Kommunikation intern und nicht von einem Arduino nur mit AT-Kommandos über die serielle Schnittstelle geschieht.
- SC_PD/CHIP_EN auf VCC
- Tx und Rx über Kreuz an ein USB-Serial Modul.
- VCC an 3,3V
- GND mit der Masse verbunden.
- GPIO0 zum Programmieren auf Masse.
- RST kann offen bleiben oder ein PullUp (10k) eingebaut werden.
Programmierung
Firmware Update
Soll das ESP – Modul nach dem Arbeiten mit der Arduino IDE wieder mit der original Firmware des Herstellers programmiert werden, kann hierfür das ESP Flash Tool verwendet werden, dass die Firma Espressif zur Verfügung stellt.Nach dem starten der Applikation ist folgendes Fenster zu sehen.
Espressif stellt auf seinen Seiten ebenfalls die aktuellen Firmware zum Download zur Verfügung.
Für den Download drücken sie auf SDKs Downloads und dann wählen Sie das letzte Release aus.