Arrow Electronic Components Online

So programmieren Sie einen ESP32-Webserver mit der Arduino IDE

Arduino27 Apr. 2023
Eine moderne Fabrikumgebung mit Roboterarmen und autonomen Wagen, die gelbe Kisten transportieren.
Alle Artikel anzeigen

Die Schnittstelle mit einem Mikrocontroller über ein Wi-Fi-Netzwerk für einen Arduino-Webserver war einst eine eher exotische Angelegenheit. Heute können Sie in nur wenigen Minuten einen lokalen ESP32-Webserver zum Laufen bringen, indem Sie ein ESP32-Entwicklungsboard und die Arduino IDE verwenden.
 
Für dieses Demo benötigen Sie einen Adafruit ESP32 Feather sowie Zugang zu einem Wi-Fi-Netzwerk, das bei 2,4 GHz läuft. Wir werden den ESP32 mit einer Arduino 2.0 IDE programmieren. Ein Magnet, eine LED und ein Widerstand werden ebenfalls verwendet, sind jedoch optional.

Vorbereitung der ESP32-Webserversoftware

Beginnen Sie mit der Einrichtung des ESP32-Webservers, indem Sie die Arduino 2.0 IDE installieren. Um dies mit ESP32-Geräten arbeiten zu lassen, öffnen Sie den Arduino IDE > Präferenzen-Dialog und fügen Sie diese Zeile in das Feld Zusätzliche Board-Manager-URLs ein:
 
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
 
Navigieren Sie zu Werkzeuge > Board > Board-Manager und suchen Sie nach „esp32“. Installieren Sie die Board-Definition „esp32 by Espressif Systems“, die erscheint, und Sie werden in der Lage sein, ESP32-Boards zu programmieren und auf eine Vielzahl von Beispielen zuzugreifen.

LED-Serversteuerung

Menu esp32

Schließen Sie Ihr ESP32 Feather Entwicklerboard über USB an Ihren Computer an und wählen Sie den entsprechenden Port im Dropdown-Menü rechts neben dem Debug-Symbol aus. Nach der Auswahl erhalten Sie eine Liste mit Boards. Geben Sie in diesem Fall Adafruit esp32 ein und wählen Sie die Option Adafruit ESP32 Feather aus, die angezeigt wird.
 
Gehen Sie zu Datei > Beispiele > WiFi und laden Sie SimpleWiFiServer. Ändern Sie die Codezeilen 30 und 31, um Ihre tatsächliche SSID und Ihr Passwort einzufügen. Stellen Sie sicher, dass Sie auf ein 2,4-GHz-Netzwerk zugreifen, wenn mehrere Optionen verfügbar sind. Drücken Sie die Upload-Taste, und das Programm wird kompiliert und an Ihr Board gesendet.
 
Sobald programmiert, versucht das ESP32 Feather, sich mit Ihrem Netzwerk zu verbinden. Öffnen Sie den seriellen Monitor in der Arduino IDE (Symbol in der oberen rechten Ecke) und stellen Sie ihn auf 115200 Baud ein. Er zeigt eine IP-Adresse für den Zugriff an, Sie müssen jedoch möglicherweise zurücksetzen und/oder nach unten scrollen, damit sie angezeigt wird. Navigieren Sie zur angegebenen IP-Adresse in Ihrem Browser, und Sie werden mit zwei Zeilen Text und Links begrüßt, die Sie einladen, Pin 5 ein- oder auszuschalten.
 
Sie können eine LED/Widerstand an Pin 5 anschließen (wie im ersten Bild gezeigt), um den Code unverändert arbeiten zu lassen. Alternativ können Sie es auf die integrierte LED einstellen, um dieses kleinere Hardwareproblem zu umgehen. Ersetzen Sie dazu LED_BUILTIN durch [pin] 5 in den Zeilen 38, 103 und 106, und es wird ohne zusätzliche Hardware leuchten. Optional können Sie auch „LED an Pin 5“ in den Zeilen 87 und 88 in „eingebaute LED“ ändern, um die Benutzeroberfläche korrekt zu machen. Laden Sie erneut hoch, um die Änderungen wirksam werden zu lassen.

Halleffekt-Sensoren für Ihren ESP32-Webserver

Fernsteuerung ist großartig, aber was soll Ihr ESP32-Webserver an einem abgelegenen Ort erfassen? Hier werden wir den eingebauten Hallsensor des ESP32-WROOM-32E-Moduls nutzen, um uns die nahegelegenen Magnetfelder zu zeigen.
 
Fügen Sie die folgenden Codezeilen direkt unter der client.print-Funktion in Zeile 88 hinzu:
int val = 0; 
val = hallRead(); 
client.print("magnet status "); 
client.print(val);
 
Dieser Code legt eine Variable „val“ fest, in der die Hall-Sensor-Werte gespeichert werden. Er liest den onboard Hall-Sensor aus und gibt die Ergebnisse im Webbrowser des Clients aus. Beachten Sie, dass es sich um einen analogen Wert handelt, der von der Feldrichtung abhängt.

Magnet esp32

Um zu testen, laden Sie den Code auf Ihr ESP32 Feather hoch und richten Sie Ihren Browser auf die korrekte IP-Adresse. Sie werden nun eine dritte Zeile bemerken, die die Magnetfeldmessungen anzeigt.
 
Platzieren Sie einen Magneten auf dem ESP32-WROOM-32E Modul und aktualisieren Sie dann Ihren Browser. Dieser Wert wird je nach vorhandenem Magnetfeld aktualisiert. Sie können die Lichter weiterhin aus- und einschalten, indem Sie den Seitenlinks folgen oder einfach zu den entsprechenden Adressen navigieren, aber jetzt wird auch der Magnetfeldwert aktualisiert.

How to builtin led body

Mit dem ESP32 weitergehen

Dieser Artikel beschreibt, wie man einen sehr einfachen Webserver mit Arduino unter Verwendung eines ESP32-Entwicklungsboards und eines Wi-Fi-Netzwerks einrichtet. Die Wi-Fi-Fähigkeiten des ESP32 ermöglichen bei richtiger Konfiguration den Zugriff auf die Cloud und das breite Internet. Dieses Modul kann in einer Vielzahl von Verbraucher-, DIY- und Prototypenanwendungen eingesetzt werden.
 
Bevor Sie Ihren ESP32-Webserver in der Arduino IDE erstellen, werfen Sie einen Blick auf die große Auswahl an Produkten von führenden Herstellern auf Arrow.com, wie die unten aufgeführten, um loszulegen.

Artikel Tags

Global
EMEA
Wi-Fi®
Internet der Dinge (IoT)
Arduino S.r.l.

Verwandte Nachrichtenartikel

Alle anzeigen