Wie programmiere ich den ESP8266 WiFi-Prozessor?

24. März 2015

Lang: cs en de es

ESP8266 ist ein 32-Bit-Mikroprozessor mit integriertem WiFi-Chip und TCP/IP-Stack.

esp8266-esp-03

Der ESP8266-Chip kann als einsatzbereites Modul erworben werden. Meist unter der Bezeichnung ESP-01 ESP-02 ESP-03 usw., wobei sich nur die Art der Implementierung unterscheidet. Diese Module enthalten einen Quarz, ein paar passive Bauteile, den ESP8266-Chip und einen Flash-Speicherchip, der über SPI angeschlossen wird und in den das Programm geladen wird.
Auf den verfügbaren Modulen ist ein Programm geladen, mit dem der Chip über AT-Befehle, ähnlich wie bei Telefonmodems, gesteuert werden kann. Das Gerät (z.B. ein Mikroprozessor) wird über eine serielle Leitung (RS232 TTL 3,3V) mit dem Modul verbunden. Das Gerät wird dann mit Hilfe eines solchen Moduls über WIFI mit dem Internet verbunden.

Das grundlegende Problem, auf das der Entwickler bei diesen mit dem ESP8266-Chip verkauften Modulen stößt, ist die Spannungsversorgung. Der Chip arbeitet mit 3,3V und benötigt in der Spitze bis zu 300mA. Diese sehr niedrige Spannung und der nicht ganz zu vernachlässigende Strom ist nicht ganz normal und es gibt keinen Stabilisator auf dem Modul. Daher muss man sich eine geeignete 3,3-V-Stromversorgung oder einen Stabilisator besorgen. Der 3,3V-Ausgang von Arduino oder USB-UART-Konvertern ist nicht ausreichend!

Über die serielle Verbindung wird nicht nur mit dem Modul kommuniziert, sondern es können auch Firmware-Updates auf das Modul geladen werden.
Dank der Tatsache, dass der Hersteller eine Dokumentation und ein komplettes SDK zur Verfügung stellt, ist es möglich, ein eigenes Programm zu entwickeln und auf das Modul zu laden! So entstanden schon bald einige sehr interessante Portierungsprogramme und sogar neue Programme:

  • nodemcu ist eine virtuelle Maschine für esp8266, die in Lua geschriebene Programme ausführt.
  • micropython für esp8266 Python kann auch zur Programmierung von Mikrocomputern verwendet werden, indem man micropython auf dem Gerät installiert.
  • frankeinsten ist ein Programm, mit dem man den Mikrocontroller von der Kommandozeile aus konfigurieren kann, ähnlich wie man es tun würde, wenn man in ein Unix-System eingeloggt wäre.
  • esphttpd ist ein HTTP-Server, der direkt auf dem Mikroprozessor läuft, und Sie können Prozessorzustände ändern oder Daten über das Web lesen.
Dadurch werden die Module zu einer eigenständigen Entwicklungsplattform und können völlig unabhängig voneinander genutzt werden. Der ESP8266-Chip selbst verfügt über mehrere Input-/Output-Pins und kann z.B. ein Programm von einer SD-Karte über SPI laden. Alle Möglichkeiten des ESP8266-Chips sind in der Dokumentation beschrieben.

Illustration der Lösung: Der ESP8266 SoC ist batteriebetrieben und hat einen Temperatur- und Luftfeuchtigkeitssensor angeschlossen. Er betreibt einen Webserver und liefert die Messwerte über eine Webseite. Verbinden Sie sich einfach mit einem Mobiltelefon über WiFi - hier OpenMoko Neo Freerunner, aber natürlich können auch Android- und iOS-Handys verwendet werden.

esp8266 webserver freerunner

Der ESP8266-Chip ist eine hervorragende Lösung für eine echte IoT-Lösung (Internet of Things) - was bedeutet, dass jedes Gerät mit dem Internet verbunden ist. Der Mikroprozessor ist außerdem günstig und sehr leistungsfähig. Dank der oben erwähnten Projekte sind keine großen Programmierkenntnisse erforderlich. Daher ist das IoT wirklich im Kommen....

Artikel zu einem ähnlichen Thema

Python-Programm zur Steuerung von Docker über die API
Wie man MailCatcher zum Testen von E-Mails verwendet
Python OpenAI API
Erstellen einer WebSocket-Webanwendung und Einrichten eines Proxys
Projektmanagement: agile Softwareentwicklung
Wie man alte PHP-Anwendungen ausführt
Was ein guter Programmierer wissen sollte
Programmiersprache Rust
NodeJS: Entwicklung, Serverkonfiguration
Nette Sicherheitslücke CVE-2020-15227
REST API: Plattform-API
Kundenspezifisches Web- und E-Mail-Hosting mit ISP Config-Software
Programmierung in SQL: PostgreSQL, MySQL/MariaDB
HTTPS: sicheres Web
NoSQL-Datenbank Mongo DB
Herstellen einer Verbindung zu Microsoft SQL Server unter Linux
Was ist die Stellenbeschreibung eines Programmierers?
Lokalisierung von Python-Anwendungen
Welches Mail- und Webhosting Sie wählen sollten
Digispark - Atmel ATtiny Mikrocontroller mit Arduino IDE programmieren
Entwicklung für ARM-Prozessoren mit Arduino IDE
Offenes Smartphone mit Linux - Openmoko Neo FreeRunner

Newsletter

Wenn Sie daran interessiert sind, gelegentlich Neuigkeiten per E-Mail zu erhalten.
Sie können sich registrieren, indem Sie Ihre E-Mail-Adresse eingeben News-Abonnement.


+