Programmieren eines ESP32-Webservers mit dem Arduino IDE

Von Jeremy Cook

Das Herstellen einer Verbindung zu einem Mikrocontroller über ein WLAN-Netzwerk für einen Arduino-Webserver galt einst als ziemlich exotische Sache. Heute kann man einen lokalen ESP32-Webserver in wenigen Minuten mit einer ESP32-Entwicklerplatine und dem Arduino IDE in Betrieb bringen.

Für diese Demonstration benötigen Sie einen Adafruit ESP32 Feather sowie Zugang zu einem WLAN-Netzwerk mit 2,4 GHz. Wir programmieren den ESP32 mit einer Arduino 2.0 IDE. Ein Magnet, eine LED und ein Widerstand werden ebenfalls verwendet, sind aber optional.

Vorbereitung der ESP32-Server-Software

Beginnen Sie die Einrichtung des ESP32-Webservers mit der Installation der Arduino 2.0 IDE. Damit dieser mit ESP32-Geräten funktionieren kann, öffnen Sie den Dialog „Arduino IDE > Preferences“ und fügen Sie diese Zeile in das Feld „Additional boards manager URLs“ ein:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Navigieren Sie zu „Tools > Board Manager“ und suchen Sie nach „esp32“. Installieren Sie die angezeigte Platinendefinition „esp32 by Espressif Systems“. Jetzt können Sie ESP32-Platinen programmieren und erhalten Zugriff auf eine Reihe von Beispielen.

LED-Serversteuerung

0423-Screenshot-of-dropdown-menu-ESP32-Feather-dev-board-body-1

Verbinden Sie Ihre ESP32 Feather-Entwicklerplatine per USB mit Ihrem Computer und wählen Sie einen geeigneten Port aus dem Dropdown-Menü rechts vom Debugging-Symbol aus. Nach der Auswahl wird Ihnen eine Auswahl von Platinen angezeigt. Geben Sie in diesem Fall „Adafruit esp32“ ein und wählen Sie die angezeigte Option „Adafruit ESP32 Feather“ aus.

Navigieren Sie zu „File > Examples > WiFi“ und laden Sie „SimpleWiFiServer“. Modifizieren Sie die Codezeilen 30 und 31 so, dass sie Ihre SSID und Ihr Passwort enthalten. Achten Sie darauf, dass Sie bei verschiedenen Optionen auf ein 2,4-GHz-Netzwerk zugreifen. Betätigen Sie die Schaltfläche „Upload“. Das Programm wird kompiliert und an Ihre Platine gesendet.

Nach der Programmierung versucht der ESP32 Feather, eine Verbindung zu Ihrem Netzwerk herzustellen. Öffnen Sie den seriellen Monitor in dem Arduino IDE (Symbol oben rechts) und legen Sie ihn auf 115.200 Baud fest. Es wird eine IP-Adresse für den Zugriff angezeigt, möglicherweise müssen Sie dazu aber auch die Anzeige zurücksetzen oder nach unten scrollen. Navigieren Sie in Ihrem Browser zu der aufgelisteten IP-Adresse; Sie sehen dann zwei Zeilen mit Text und Links, die Sie auffordern, Pin 5 zu aktivieren oder zu deaktivieren.

Sie können eine LED/einen Widerstand mit Pin 5 verbinden (wie auf dem ersten Bild gezeigt), um den Code so arbeiten zu lassen, wie er ist. Sie können ihn aber auch auf die integrierte LED einstellen, um diese geringfügige Hardwarekomplikation zu umgehen. Ersetzen Sie dazu [Pin] 5 in den Zeilen 38, 103 und 106 durch LED_BUILTIN. Die LED leuchtet ganz ohne externe Hardware. Sie können auch auf den Zeilen 87 und 88 „LED on pin 5“ in „builtin LED“ ändern, um eine korrekte Benutzerschnittstelle zu erhalten. Führen Sie einen erneuten Upload durch, damit die Änderungen wirksam werden.

Halleffektgeber für Ihren ESP32-Webserver

Eine Fernsteuerung ist eine hervorragende Sache, aber was soll Ihr ESP32-Webserver an einem entfernten Standort erkennen? Hier nutzen wir die Vorteile des integrierten Halleffektgebers des ESP32-WROOM-32E-Moduls, um uns die Magnetfelder in der Nähe zu zeigen.

Fügen Sie die folgenden Codezeilen direkt unter der client.print-Funktion auf Zeile 88 hinzu:

int val = 0;

val = hallRead();

client.print("magnet status ");

client.print(val);

Dieser Code etabliert die Variable „val“, in der die Halleffekt-Werte gespeichert werden. Der integrierte Halleffektgeber wird ausgelesen und die Ergebnisse werden im Webbrowser des Clients angezeigt. Dies ist ein analoger Wert, der von der Feldrichtung abhängt, wie in diesem Artikel zum Vergleich von Halleffektgebern und Reed-Schaltern beschrieben.

0423-Magnet-on-top-of-the-ESP32-WROOM-32E-module-body-2

Bild von Jeremy Cook

Laden Sie zum Testen den Code auf Ihren ESP32 Feather und steuern Sie mit Ihrem Browser die korrekte IP-Adresse an. Sie sehen dann eine dritte Zeile mit den Magnetfeld-Messwerten.

Legen Sie einen Magneten auf das ESP32-WROOM-32E-Modul und aktualisieren Sie die Browseranzeige. Dieser Wert wird gemäß dem vorhandenen Magnetfeld aktualisiert. Sie können weiterhin die Lampen ein- und ausschalten, indem Sie den Seitenlinks folgen oder einfach zu den jeweiligen Adressen navigieren, dadurch wird aber auch immer der Magnetfeldwert aktualisiert.

0423-Screenshot-of-click-here-to-turn-on-and-off-the-builtin-LED-body-3 

Weitere Möglichkeiten mit ESP32

Dieser Artikel erläutert, wie Sie mit Arduino unter Verwendung einer ESP32-Entwicklerplatine und eines WLAN-Netzwerks einen sehr einfachen Webserver einrichten können. Die WLAN-Fähigkeiten des ESP32 ermöglichen bei korrekter Einrichtung den Zugang zur Cloud und zum allgemeinen Internet. Dieses Modul kann in einer breiten Palette von Verbraucher-, DIY- und Prototyping-Anwendungen eingesetzt werden.

Bevor Sie Ihren ESP32-Webserver in Arduino IDE erstellen, sollten Sie sich die riesige Produktauswahl von branchenführenden Herstellern auf Arrow.de ansehen, etwa die unten gezeigten.

Ähnliches Produkt:

3405

Adafruit Industries RF/Drahtlos-Entwicklungsplatinen und Kits Anzeigen

ArrowPerks-Loyalty-Program-Signup-banner-DE


Neue Beiträge

Leider ergab Ihre Suche kein Ergebnis

Aktuelles über Elektronikkomponenten­

Wir haben unsere Datenschutzbestimmungen aktualisiert. Bitte nehmen Sie sich einen Moment Zeit, diese Änderungen zu überprüfen. Mit einem Klick auf "Ich stimme zu", stimmen Sie den Datenschutz- und Nutzungsbedingungen von Arrow Electronics zu.

Wir verwenden Cookies, um den Anwendernutzen zu vergrößern und unsere Webseite zu optimieren. Mehr über Cookies und wie man sie abschaltet finden Sie hier. Cookies und tracking Technologien können für Marketingzwecke verwendet werden.
Durch Klicken von „RICHTLINIEN AKZEPTIEREN“ stimmen Sie der Verwendung von Cookies auf Ihrem Endgerät und der Verwendung von tracking Technologien zu. Klicken Sie auf „MEHR INFORMATIONEN“ unten für mehr Informationen und Anleitungen wie man Cookies und tracking Technologien abschaltet. Das Akzeptieren von Cookies und tracking Technologien ist zwar freiwillig, das Blockieren kann aber eine korrekte Ausführung unserer Website verhindern, und bestimmte Werbung könnte für Sie weniger relevant sein.
Ihr Datenschutz ist uns wichtig. Lesen Sie mehr über unsere Datenschutzrichtlinien hier.