ESP8266 Basics, Grundlagen die man wissen sollte

ESP-07 Pins / GPIO’s

Der ESP8266 ist ein Mikrocontroller mit einem Tensilica Xtensa LX106 32-Bit-Prozessorkern. Der Prozessor leistet 80 MHz, kann aber auf 160 MHz. getaktet werden. Der ESP8266 verfügt über einen 64 kB RAM / Befehlsspeicher in Kombination mit einem 96 kB RAM Datenspeicher. Der interne ROM (Festwertspeicher) beinhaltet einen Bootloader welcher sowohl den typischen Betrieb, als auch den Betrieb zum Beschreiben / Flashen, sowie den Flash Speicher – typischerweise SPI Flashspeicher festlegt. Die jeweilige Betriebsart wird dabei mittels GPIO Beschaltung festgelegt:

  • GPIO 0 HIGH / VCC = Normalbetrieb
  • GPIO 0 LOW / GND = Flash Modus zum Beschreiben
  • GPIO 15 LOW / GND = bootet vom SPI Flash Speicher
  • GPIO15 HIGH / VCC = bootet von einer externen SD Speicherkarte über SPI

ESP8266 Speicher

ESP8266 Flash

Zwar läßt der Einsatz einer externen SD Speicherkarte zunächst vermuten einen ESP8266 auf mehrere GB Arbeitsvolumen anzuheben, dem ist aber nicht so. Zwar wird die komplette Firmware in einem externen, seriellen Flash-Speicher abgelegt, die Ausführung / Verarbeitung hingegen ist stets begrenzt durch den RAM. Im Detail wird die Firmware blockweise in den internen RAM-Speicher des ESP8266 geladen und dort ausgeführt.

ESP8266 Firmware

Bedingt durch seine Schnittstellen

  • GPIO HIGH/LOW einfache Logik AN oder AUS sowohl als Eingang (Benutzereingabe) als auch Ausgang (Schalten)
  • PWM PulsWeitenModulation z.B. Drehzahlsteuerung von Motoren oder Dimmen von LED’s
  • UART serielle Schnittstelle mit 3,3V Level, nicht zu verwechseln mit RS232
  • ADC Analog Digital Converter erlaubt die digitale Umsetzung von analogen Werten Sensoren von 0
  • I2C Bus Inter-Integrated Circuit ein On-Board-Kommunikationsprotokoll häufig verwendet zur Kommunikation mit Sensoren als auch Erweiterungen
  • SPI Serial Peripheral Interface serielles Kommunikationsprotokoll zur Anbindung von benötigtem Speicher (Flash) sowie Erweiterungen und Modulen
Flash Tasmota ESP8266

gibt es eine Vielzahl von Hardware in Form von Erweiterungen (Multiplexer, Schnittstellen,…) Sensoren, Module, IC’s, uvm. die mittels entsprechender Bibliotheken in die Firmware eingebunden werden können. Sowohl durch den Begrenzten Speicher / Flash

  • 8 Mbit beim ESP-01 Modul
  • 32 Mbit beim ESP-12S Modul
  • 32 Mbit beim ESP-07S Modul

als auch durch die Architektur des ESP8266 sollte man stets nur benötigte Bibliotheken einbinden.

Mit einfachen Worten, die jeweilige Firmware sollte, wie bei unseren EI-OT Modulen stets massgeschneidert auf die Hardware sein. Die Firmware verfügt lediglich über wirklich benötigte Bibliotheken.

Auswahl der Firmware

Für den ESP8266 wir sowohl seitens des Herstellers Espressif als auch seitens Drittanbietern ein umfangreiches SDK (Software Development Kit) angeboten. Diese SDK’s bilden die Grundlage einer Vielzahl von „Entwicklungsumgebungen“ als auch fertig kompilierter Firmware wie

  • Arduino
  • NodeMCU / embedded Lua
  • MicroPython
  • Tasmota
  • ESPEasy
  • Tuya
  • ESPurna
  • ESPHome
  • OpenMQTTGateway
  • vhESP
  • Sensate
  • ESP-Link
  • Frankenstein
  • FreeRTOS

um sowohl fertige Firmware oder teilweise eigene (generische) Firmware zu Erzeugen (kompilieren). Die jeweilige Firmware kann dann mittels UART, insofern der ESP8266 im Flashmodus ist (GPIO0 = LOW) über die serielle UART Schnittstelle beschrieben werden.

EI-OT Firmware

EI-OT Logo

Die Hardware unsere EI-OT Module basiert stets auf „typischer Hardware“ sodass etwaig benötigte Bibliotheken stets verfügbar sind. An dieser Stelle sei erwähnt eine typische / fertig kompilierte Firmware verfügt jedoch meist nicht über notwendige Komponenten.

Diesbezüglich verfügen sämtliche unserer EI-OT Module über eine massgeschneiderte Firmware, basierend auf Hardware als auch Einsatz. Unsere EI-OT Module sind bereits vorkonfiguriert, sodass eine betriebsfertige Einrichtung, selbst für Neueinsteiger innerhalb von wenigen Minuten durchgeführt werden kann.

Unsere EI-OT Module sind mit folgender Firmware verfügbar

  • Standard Espressif Firmware
  • Tasmota Firmware
  • ESPEasy
  • ESP-Link (nur EI-OT RS232 Modul)