ESP8266 in der Arduino IDE

Vor kurzem kam die Meldung bei verschiedenen Online-Magazinen, dass findige Entwickler nun eine eigene Arduino IDE mit integriertem Support für das WLAN-Modul ESP8266 entwickelt haben (Beitrag auf Electronic-Lab ; Link ESP8266.com ; Github mit Download). Es handelt sich hierbei um eine angepasste Arduino IDE, die man alternativ zur eigentlichen IDE installieren kann. Beim stöbern im Forum habe ich aber auch eine Möglichkeit entdeckt, bei der die notwendigen Dateien einfach in die bestehende Arduino Version (ab 1.6) eingebunden werden können

ESP8266.com Forum Beitrag

Github Link

Zusätzliche Infos

Der Vorteil ist natürlich, dass man keine alternative IDE Version auf dem Rechner installieren muss. Die Dateien werden einfach in den Unterordner hardware im Arduino Sketchorder kopiert.Sollte noch kein hardware-Ordner im Sktechorder vorhanden sein, kann dieser manuell erstellt werden. Wo sich der Sketchorder befindet kann unter den Arudino Voreinstellungen (Datei -> Voreinstellungen oder Strg+Komma) nachgeschaut werden.

Sketchordner nachschauen

Sketchordner nachschauen

Wichtig: Bei mir hat AntiVir beim Entpacken des Zipp-Ordners über die Datei esptool.exe gemeckert. Ich habe die Datei bei verschiedenen Online Vierenscannern upgeloaded und checken lassen. Bis auf Antivir hat kein weiterer Scanner einen Virus finden können. Deswegen bin ich davon ausgegangen, dass es sich um eine Fehlmeldung handelt und habe die Datei als Ausnahme in Antivir definiert.

Die Struktur der Ordner sollte folgendermaßen aussehen:

[Arduino Sketchordner]/hardware/arduino-esp8266-master/…

Haben Sie alle Dateien ordungsgemäß installiert, sollte beim Neustarten der Arduino Software unter Werkzeuge -> Platine der Punkt Generic ESP8266 aufgetaucht sein. Diesen sollten Sie auswählen. Außerdem müssen Sie unter Werkzeuge -> Programmer den Punkt esptool wählen, damit der Upload gelingen kann. Unter Datei-> Beispiele -> ESP8266Wifi -> WifiScan finden Sie außerdem ein Beispiel, dass bei mir auf Anhieb funktioniert hat. Bevor Sie dieses Beispiel allerdings uploaden können, müssen Sie noch einige Dinge auf der Hardwareseite beachten.

ESP8266 in der Arduino IDE

ESP8266 in der Arduino IDE

Als Schnittstelle zwischen PC und ESP können Sie wie üblich einen USB-Serielwandler benutzen. Beachten Sie allerdings die 3,3-V-Pegel und den großen Strombedarf des Moduls (Infos Erste Schritte). Wichtig ist außerdem, dass Sie eine Verbindung zum Reset-Pin und zum GPIO0 Pin herstellen können. Um das Modul nämlich in den Programmmodus versetzen zu können, müssen Sie den GPIO0 Pin auf Masse legen und einen Reset ausführen (RST Pin kurz mit Masse verbinden). Erst dann kann der Upload beginnen.

ESP8266 mit Programmmodus

ESP8266 mit Programmier Option

 

Am einfachsten hat sich folgende Methode herausgestellt, bei der zwei Buttons jeweils für GPIO0 to GND und RST to GND zur Verfügung stehen:

  • Drücken und halten Sie den GPIO0-Button
  • Drücken Sie kurz den RST-Button
  • Lassen Sie den GPIO0-Button los
  • Starten Sie den Upload in der Arduino IDE
  • warten Sie bis Hochladen… erscheint
  • Warten Sie bis eine Fortschrittsanzeige mit den Punkten durchläuft und die blaue LED nicht mehr schnell Blinkt.
    • Sollte sofort die Meldung flush complete erscheinen hat es vermutlich nicht funktioniert, Der Upload dauert ein paar Sekunden
    • Bei der Meldung error: espcomm_open failed müssen Sie den Vorgang ebenfalls erneut starten
  • Wenn nach einiger Zeit die meldung flush complete erscheint hat das Uploaden vermutlich funktioniert.
  • Drücken Sie ggf. kurz Reset
  • Nun können Sie mit dem Serial Monitor sehen, wie die Wlan-Netzwerke der Umgebung gescannt und angezeigt werden. Sollte der Serial Monitor aber auch bei der richtigen Baudrate (steht im Programm) nur Kauderwelsch zeigen, starten Sie den Uploadvorgang erneut.
Das Beispiel WifiScan zeigt alle Wlan-Netzwerke in der Umgebung

Das Beispiel WifiScan zeigt alle Wlan-Netzwerke in der Umgebung

Das Timing kann manchmal etwas schwierig sein. Ein wenig rumprobieren kann hilfreich sein.

Ebenfalls funktioniert haben bei mir das Beispiel WifiWebServer – hier muss man allerdings zunächst die Wlan Zugangsdaten eingeben.

Achtung: der bekannte Modus mit den AT-Befehlen ist beim einspielen eines eigenen Programms nicht mehr möglich. Sie müssen dann erst wieder die richtige Firmware einspielen!