Startseite>Mikrocontroller ESP8266 für Automationsaufgaben im IoT
Aus Raspberry Pi Geek 02/2016

Mikrocontroller ESP8266 für Automationsaufgaben im IoT

© photobac, 123RF

Starker Auftritt

Martin Mohr

Überall, wo ein Raspberry Pi für Messaufgaben hoffnungslos unterfordert ist, können Sie einen ESP8266 einsetzen. Der WLAN-fähige Mikrocontroller verbraucht im Standby weniger als 3,3 Milliwatt und kostet lediglich 6 Euro.

Als echter Raspberry-Pi-Geek tut man sich auf den ersten Blick etwas schwer mit einem schnöden Mikrocontroller wie dem ESP8266: Ein eigenes Betriebssystem fehlt ihm, programmieren lässt er sich nur in C oder Assembler. Obendrein fehlen ihm jegliche Ports für Tastatur, Maus und Monitor. Wie soll er da mit dem RasPi zu einem starken Team zusammenwachsen?

Gerade in der Beschränkung des ESP8266 liegt jedoch seine Stärke: Er bietet sich für viele Einsatzgebiete an, für die ein ausgewachsener Raspberry Pi hoffnungslos überdimensioniert scheint – zum Beispiel, um Temperaturen zu messen. Ein RasPi ist für eine so einfache Aufgabe nicht nur viel zu leistungsfähig, sondern auch zu teuer. Der ESP8266 dagegen kostet im einschlägigen Handel weniger als 6 Euro [1].

Auch seine geringe Leistungsaufnahme spricht für den kleinen Mikrocontroller. Ein RasPi zieht im Betrieb immerhin 3,5 Watt, ein ESP8266 benötigt dagegen maximal ein halbes Watt. Im Standby begnügt er sich sogar mit weniger als 3,3 Milliwatt und eignet sich damit bestens für den Batteriebetrieb, sodass er sich auch an Stellen ohne Netzversorgung einsetzen lässt.

Familienbande

Eigentlich gibt es “den” ESP8266 so gar nicht. Der ESP8266-12 (auch gern als ESP-12 oder 12E bezeichnet), mit dem wir uns im Folgenden beschäftigen, gehört zu einer ganzen Familie von Mikrocontrollern, die neben der Bezeichnung ESP8266 noch eine weitere Gemeinsamkeit aufweisen: Sie alle bringen ab Werk eine WLAN- und eine GPIO-Schnittstelle mit.

Dabei bieten sie ein exzellentes Preis-Leistungs-Verhältnis und bringen mehr Rechenleistung mit als die meisten anderen angebotenen Mikrocontroller. Versionen aus fernöstlichem Import finden sich teils für um die 3 Euro im Angebot, was die Bausteine für den Bastler überaus interessant macht. Beim Bestellen sollten Sie allerdings bedenken, dass die günstigeren Angebote von Ebay und Co. mit Vorsicht zu genießen sind – es kann schon einmal vier Wochen dauern, bis eine Lieferung aus China ankommt.

Das breite Angebot diverser ESP8266-Versionen erinnert unwillkürlich an eine andere Mikrocontroller-Familie: die Arduinos. Worin liegt der Unterschied zwischen einem ESP8266 und einem Arduino-Board? Verkürzt könnte man sagen, beim ESP8266 bekommt man einfach mehr Prozessor-Power und Speicher fürs Geld, eine WLAN-Schnittstelle gibt es obendrauf. Je nach Modell haben Arduinos jedoch den Vorteil, dass sie viel mehr I/O-Pins mitbringen. Andererseits lassen sich am ESP8266, falls er tatsächlich einmal für ein bestimmtes Projekt nicht genug IOs mitbringt, über den I2C- oder SPI-Bus zusätzliche anschließen.

Langer Rede kurzer Sinn: Es lohnt sich garantiert, sich mit dem ESP8266 auseinanderzusetzen. In Ihren zukünftigen Projekten finden sich sicher vielfältige Anwendungen für diesen Baustein.

ESP8266-12 – technische Daten

  • 32-Bit-RISC-CPU Tensilica Xtensa LX106 (80 MHz Taktrate)
  • 64 KByte RAM für Programmcode, 96 KByte Daten-RAM
  • Externes QSPI-Flash (512 KByte bis 4 MByte)
  • WLAN IEEE 802.11b/g/n (WPA/WPA2), +19,5 dBm Ausgangsleistung (802.11b)
  • WiFi Direct (P2P), Soft-Access-Point, integrierte Antenne
  • Integrierter TCP/IP-Protokollstack
  • Integrierter TR-Switch, Balun, LNA, Endstufe und Anpassungsnetzwerk
  • Verlustleistung (Power Down) weniger als 10 Mikroampere
  • 10 GPIO-Pins, SPI, I2C
  • I2S-Schnittstellen mit DMA (Sharing-Pins mit GPIO)
  • UART: URXD/UTXD
  • 10-Bit-ADC
  • Wakeup und Versand von Paketen in unter 2 Millisekunden
  • Standby-Stromverbrauch kleiner 1,0 Milliampere
  • Größe 17,2 x 12,3 Millimeter

Installation der Entwicklungsumgebung

Um für den ESP8266 Programme zu schreiben, gibt es sicherlich mehr als einen Weg. Wir gehen im Folgenden auf eine der einfacheren und recht komfortablen Möglichkeiten ein. Dazu laden Sie auf einem Desktop-Rechner zuerst die Entwicklungsumgebung von der Arduino-Homepage [1] herunter und installieren sie (Abbildung 1). Die Software liegt in Versionen für Linux, Mac OS X und Windows vor.

Abbildung 1: Der Download-Bereich auf der Arduino-Homepage.

Abbildung 1: Der Download-Bereich auf der Arduino-Homepage.

Beim Einsatz eines Linux-Rechners achten Sie bitte darauf, die für das Betriebssystem passende Version auszuwählen (32/64 Bit). Sie entpacken das Archiv unter allen gängigen Distributionen mit dem Befehl aus der ersten Zeile von Listing 1. Anschließend starten Sie die Arduino-IDE, indem Sie auf der Kommandozeile in das beim Entpacken frisch entstandene Verzeichnis wechseln und dort ./arduino eingeben (Listing 1, Zeile 3 und 4).

Listing 1

 

$ tar xf arduino-1.6.7-linux64.tar.xz
$ cd arduino-1.6.7/
$ ./arduino

TIPP

Das Archiv der Arduino-IDE wurde mit dem XZ-Verfahren komprimiert. Falls das von der verwendeten Distribution genutzte Tar dieses Verfahren noch nicht kennen sollte, müssen Sie außerdem das Paket xz-utils installieren. Unter Debian-Abkömmlingen erledigen Sie das mit dem Kommando sudo apt-get install xz-utils. Anschließend entpacken Sie die Arduino-IDE mit folgendem Kommando:

$ tar xfvJ arduino-1.6.7-linux64.tar.xz

Die Option v (“verbose”) weist Tar an, die Namen der bearbeiteten Dateien auszugeben, sodass Sie den Ablauf des Entpackens verfolgen können. Der Schalter J informiert das Tool, dass das fragliche Archiv im XZ-Format vorliegt.

Nach dem Start der Entwicklungsumgebung tragen Sie unter Datei | Voreinstellungen | Zusätzliche Boardverwalter-URLs (Abbildung 2) die folgende URL ein:

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

Damit veranlassen Sie die Arduino-IDE, die für den ESP8266 nötigen Boardmanager in die entsprechende Liste aufzunehmen. Im nächsten Schritt starten Sie die Installation des Boardmanagers für den ESP8266. Das erledigen Sie unter dem Menüpunkt Werkzeuge | Board | Boardmanager starten. Abbildung 3 zeigt den Dialog zum Einrichten des ESP8266-Community-Boardmanagers. Nach der erfolgreichen Installation können Sie jetzt unter Werkzeuge | Board das Generic ESP Modul auswählen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 7 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
€0,99 – Kaufen
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland