ESP32 WiFi Beispiel - Arduino IDE

 

Als Vorbereitung für den Upload von Sketches an einen Microcontroller habe ich die ESP32-Boardinfromationen und einen USB to UART Bridge Treiber installiert, siehe: Vorbereitungen für das Programmieren eines ESP32.

ⓘ
Hinweis: Alternativ zur Arduino IDE kann für den Einsatz in Home Assistant ESP-Home verwendet werden. ESP-Home kümmert sich um die Kommunikation mit Home-Assistant inklusive WLAN-Verbindung, siehe:  Home-Assistant + DIY Mikrocontroller + ESP Home (Docker)

Ist der ESP32 mit der ArduinoIDE verbunden, können die vorhandenen Beispiele angepasst und auf den ESP32 hochgeladen werden. Um das integrierte WiFi-Modul zu verwenden, kann sich der ESP32 wie folgt als Client in einem WLAN verbinden:

WiFi Client

Das WiFiClient-Beispiel verbindet den ESP32 mit dem angegebenen WLAN:

Nach Auswahl des Beispieles können die Variablen für das WLAN angegeben werden:
SSID: Variable "ssid" und Passwort "password" ist klar, doch was sind die folgenden Variablen: host, streamID und privateKey?

Ein Blick in den Sourcecode schafft Klarheit: Der Host ist ein Webserver mit dem der ESP nach dem Starten eine Verbindung aufbaut und die streamId, sowie der privateKey werden dabei an den Server übermittelt. Um nur die WLAN-Verbindung zu testen, können wir hier fürs Erste irgendwas reinschreiben:

Dann auf "Speichern",

"Verify and Upload"

Nachdem ich in der Arduino IDE die richtige Hardware und den richtigen COM-Port ausgewählt habe, hat der Upload funktioniert, siehe ESP32 programmieren, Arduino - Voraussetzungen installieren.

Dann noch ein Upload des Sketches und der ESP32 bootet und führt diesen aus: Der ESP verbindet sich mit dem WLAN und versucht den angegebenen Host zu kontaktieren und übermittelt dabei die angegebene "streamId" und den "privateKey" an den angegebenen Host. Als Host ist für den Verbindungsaufbau ein Server notwendig, der diesen entgegen nimmt. Nachdem ich dafür keinen Server vorbereitet habe, begnüge ich mich fürs Erste damit, dass ich die WLAN-Verbindung auf meinem Router sehen kann:

Ein Blick in den "Serial Monitor" zeigt mir die Textausgaben des Sketches:

Spiegelverkehrte Fragezeichen ⸮ im "Serial Monitor"

Wenn die Geschwindigkeit (Baud-Rate) des Sketches nicht mit der Baud-Rate des Serial Monitor übereinstimmt, wird nichts vernünftiges ausgegeben, in meinem Fall jede Menge: "⸮"

Stimmt die Geschwindigkeit, stimmt auch die Ausgabe:

Wie schon beschrieben, habe ich keinen Webserver als Gegenstelle für das Beispiel aufgebaut, entsprechend zeigt mir der Serial Monitor "connection failed"

Example HelloServer

Ein anders Beispiel um das WLAN zu testen ist ein simpler Webserver, das HelloServer-Beispiel. Für dieses Beispiel reicht es die SSID (ssid) und das WLAN-Passwort anzugeben (password):

Nach dem Upload und dem Bootvorgang ist es möglich, folgende Webseite im Browser vom ESP32 abzurufen:

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu Mehr Details