ESP8266

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Handelsübliches ESP8266-Modul mit Prozessor-Chip (links) und externen Flash-Speicher (rechts) für die Firmware. Im oberen Bildbereich die gedruckte WLAN-Antenne

Der ESP8266 ist ein kostengünstiger und mit geringen Leistungsbedarf ausgeführter 32-Bit-Mikrocontroller der chinesischen Firma espressif und ermöglicht durch seine offene Bauweise, als freie Entwicklungswerkzeuge stehen unter anderem die GNU Compiler Collection inkl. Toolchain zur Verfügung, den Aufbau von WLAN-gesteuerten Aktuatoren und Sensoren.[1]

Der 32-Bit-Prozessorkern vom Typ Xtensa LX106 von Tensilica arbeitet mit einem Systemtakt von 80 MHz – 160 MHz, hat 64 kB RAM als Befehlsspeicher und 96 kB RAM als Datenspeicher und einen internen Festwertspeicher (ROM) welcher einen unverändlichen Bootloader beinhaltet. Als Besonderheit und aus Kostengründen weist der ESP8266 keinen internen nicht-flüchtigen und programmierbaren Flash-Speicher für die anwendungsspezifische Firmware auf. Die komplette Firmware ist in einen externen, seriellen Flash-Speicher abgelegt und wird zur Ausführung blockweise in den internen RAM-Speicher geladen und dort ausgeführt.[2] Als Peripherie steht unter anderem eine SPI-Schnittstelle und ein integriertes Wireless Local Area Network (WLAN nach IEEE 802.11 b/g/n) zur Verfügung.

Der Mikrocontroller ist auch zusammen mit einer Minimalbeschaltung aus Schwingquarz und Flash-Speicher in Form verschiedener Module zum direkten Einsatz erhältlich. Je nach Modul sind bis zu zwölf I/O-Ports, eine I²C-Schnittstelle, eine I²S-Schnittstelle, eine SPI-Schnittstelle, eine asynchrone serielle Schnittstelle (UART) und ein 10-Bit-Analog-Digital-Umsetzer herausgeführt. Alle I/Os werden mit 3,3 V betrieben.

Unterstützt werden momentan neben GCC und der direkten Programmierung in der Programmiersprache C unterschiedliche Firmware-Varianten:

  • Lua-basierte interaktive Programmierung unter der Bezeichnung NodeMCU.
  • Micropython (Python-basierte interaktive Programmierung)
  • Arduino-/C++-basierte Programmierung.[3]
  • AT-Command für die Nutzung als Seriell-zu-WLAN-Schnittstelle
  • ESP Easy zur Ansteuerung von Sensoren/Aktoren über WLAN
  • ESP Basic

NodeMCU-, Micropython-Firmware-Varianten unterstützen das interaktive Programmieren auf dem ESP8266. Dabei werden Programme im externen Flash-Speicher abgelegt und das komplizierte Speichermanagment wie das nötige blockweise Nachladen von externen Programmdaten in den internen RAM-Speicher durch entsprechende Softwarefunktionen vom Entwickler abstrahiert, was das Schreiben von Programmen für den ESP8266 erheblich erleichtert.

Als Nachfolger des ESP8266 entwickelte espressif den Mikrocontroller ESP32 mit einigen Verbesserungen wie beispielsweise Bluetooth und einem Hallsensor.[4]

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Erik Bartmann: Das ESP8266-Praxisbuch: Mit NodeMCU und ESPlorer, Elektor-Verlag, November 2016, ISBN 978-3895763212 (deutsch)
  • Neil Kolban: Kolban's Book on the ESP32 & ESP8266, Leanpub

Weblinks[Bearbeiten | Quelltext bearbeiten]

 Commons: Category:ESP8266 – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. esp8266 GCC Toolchain. Abgerufen am 24. Mai 2018.
  2. Paul Sokolovsky: Getting the most out of ESP8266 (englisch)
  3. How to Install the ESP8266 Board in Arduino IDE. Abgerufen am 25. Mai 2018.
  4. ESP32 Overview | Espressif Systems. Abgerufen am 25. Juli 2017.