Dienstag, 11. August 2015

ESP8266 in Arduino IDE >1.6.5


 source: https://blog.thesen.eu/esp8266-wlan-microcontroller-mit-der-arduino-ide-programmieren/

ESP8266 WLAN Microcontroller mit der Arduino IDE programmieren

Die Installation ist mittlerweile überarbeitet und vereinfacht worden; siehe hier: https://github.com/esp8266/Arduino
Ab der Arduino IDE 1.6.4 (ich habe 1.6.5 genommen) – hier kurz auf Deutsch:
In der Arduino IDE im Menü Datei die Voreinstellungen öffnen.
Dort http://arduino.esp8266.com/package_esp8266com_index.json in das Feld Additional Board Manager URLs eintragen.
Jetzt im Menü Werkzeuge -> Platine den Eintrag Boardsmanager wählen.
Hier die ESP8266 Erweiterung installieren (tyischerweise ganz unten).

 
Installation prüfen:
Nach der Installation kann man dann im Menü Platine weiter unten das Board „Generic ESP8266 module“ auswählen. Es erscheinen jetzt auch die Beispiele für das ESP Board. Ich habe mit Beispiele->ESP8266WiFi->WiFiWebServer gestartet.
Eine Interface Platine bauen:
Die Interface Platine erlaubt es, die ESP8266 Module an ein FTDI Interface anzuschließen. Ein solches Interface haben die meisten Arduino Nutzer herumliegen und es ist für ein paar Euro zu bekommen. Ich habe folgenden Schaltplan entwickelt – wobei entwickelt hoch gegriffen ist.
esp8266 progboard
Die Schaltung orientiert sich an vielen Vorschlägen im Netz. Als Stecker für die ESP8266 Module habe ich eine Print Pfostenbuchse (2×4) genommen und das ganze auf einer Lochplatine aufgebaut.

 Wichtig ist, dass die ESP8266 Module 3.3V für die Spannungsversorgung und die Pegel nutzen. Wer 5V nimmt, muss neu bestellen! – Die die ESP8266 Module kurzfristig bis zu 200mA ziehen können, ist der 3.3V Ausgang der FTDI Chips dafür nicht geeignet. Man muss also das FTDI Interface auf 5V stellen (falls es einstellbar ist), damit man die volle Stromversorgung des USB Ports nutzen kann. Die 3.3V erzeugt dann ein LM1117 Festspannungsregler.
Weiterhin sind in der Schaltung zwei Taster für Reset und den GPIO0 eingebaut. Zieht man den GPIO0 über einen Reset auf Masse, so geht das ESP8266 Board in den Programmiermodus.

Praktischer formuliert: GPIO0-Taster drücken und gedrückt halten. Während dessen kurz Reset drücken und wieder los lassen. Erst jetzt den GPIO0 Taster loslassen.
Jetzt ist das Board im Programmiermodus.


Das Board programmieren:
Das geht im Prinzip genauso wie einen Arduino mit der Arduino Entwicklungsumgebung zu programmieren. Wir müssen allerdings vor jedem Programmiervorgang das ESP8266 Board in den Programmiermodus bringen (also GPIO0 und Reset drücken und dann erst Reset und dann GPIO0 loslassen). Danach in aller Ruhe die Pfeiltaste in der Arduino-Entwicklungsumgebung starten. Der Code sollte nach dem Übersetzen hochgeladen und gestartet werden.
Der Serielle Monitor in der Arduino IDE funktioniert auch; Baudrate auf 115200 Baud stellen.
Ach ja: Im oben genannten Beispiel im Code bitte die eigene SSID und das WLAN Passwort eintragen.

Funktioniert’s?
Im seriellen Monitor den Start des ESP8266 Moduls mit der eigenen Firmware verfolgen. In der Ausgabe wird die IP Adresse des Moduls angezeigt, wenn das Board sich erfolgreich verbinden konnte. Nehmen wir mal an es wird die IP 192.168.178.40 angezeigt. Dann in einem Webbrowser im PC folgende Seiten aufrufen:
http://192.168.178.40/gpio/0
und
http://192.168.178.40/gpio/1
Mit diesen URLs wird GPIO2 des ESP8266 an oder ausgeschaltet. Wer mag kann eine Lowpower LED mit Vorwiderstand anschließen und per Browser an und ausschalten.
Ein Webserver für 2,60€ ist schon ein Kracher :-)
P.S.: Wenn die Kommunikation mit dem ESP8266 nicht klappt, kann das an dem Spannungsteiler liegen, der eine Billig-Variante eines 3.3V <-> 5V Levelshifters ist. Gegebenenfalls mal mit den Widerstandswerten spielen.

---------------------------------------------------------------------------------------------------------------------------



source https://github.com/esp8266/Arduino

Arduino core for ESP8266 WiFi chip

This project brings support for ESP8266 chip to the Arduino environment. It lets you write sketches using familiar Arduino functions and libraries, and run them directly on ESP8266, no external microcontroller required.
ESP8266 Arduino core comes with libraries to communicate over WiFi using TCP and UDP, set up HTTP, mDNS, SSDP, and DNS servers, do OTA updates, use a file system in flash memory, work with SD cards, servos, SPI and I2C peripherals.

Installing with Boards Manager

Starting with 1.6.4, Arduino allows installation of third-party platform packages using Boards Manager. We have packages available for Windows, Mac OS, and Linux (32 and 64 bit).
  • Install Arduino 1.6.5 from the Arduino website.
  • Start Arduino and open Preferences window.
  • Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into Additional Board Manager URLs field. You can add multiple URLs, separating them with commas.
  • Open Boards Manager from Tools > Board menu and install esp8266 platform (and don't forget to select your ESP8266 board from Tools > Board menu after installation).

Keine Kommentare:

Kommentar veröffentlichen