ESP8266 mit der Arduiono IDE Programieren

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.

Zum Programmieren mit dem ESP – Tool muss man das ESP-Modul wie folgt anschließen:
Achtung, keines der ESP Signale ist 5V tolerant!
  • 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.
Das ESP Modul kann direkt vom USB Seriell Adapter versorgt werden, sofern dieser eine Ausgangsspannung von 3,3V unterstützt.
Einige Adapter bieten die Möglichkeit die Betriebsspannung zwischen 5V und 3V3  aus zu wählen. Hierbei ist dringend darauf zu achten, dass diese Einstellung nicht nur die VCC sondern auch die Datenpegel betrifft.

Programmierung

Nach dem erfolgreichen Kompilieren des Codes kann der Upload in das ESP – Modul erfolgen. In älteren IDE Versionen musst für den Upload in das Modul das „esptool“ aus der Liste der Programmer aus ausgewählt werden. Dies ist in den neueren Versionen nicht mehr vorhanden, da der Upload nun eine Uploadmethode ausgewählt wird. Nach dem die Übertragungsparameter im Menü Werkzeuge eingestellt wurden, kann der Upload anschließend im Menüpunkt Sketch Upload initiiert werden.
Sollte der Upload abbrechen,  ist der ESP vermutlich nicht im Standard Bootloader Modus. Hierfür muss der GP0 auf LOW gelegt sein und ein Reset ausgeführt werden. Nach dem erfolgreichen Programmieren startet das Programm anschließend unabhängig vom Pegel an GP0.

Firmware Update

Bei der Programmierung des ESP Moduls mit der Arduino IDE, wird die auf dem Modul vorhandenen Firmware automatisch überschrieben.

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.

esp01 Firmware

 

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.

Der Hersteller hat eine optionale Funktion in das Modul integriert, das ein automatisches Update direkt vom Hersteller erlaubt. Standardmäßig ist diese Funktion jedoch abgeschaltet.
         

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.