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.
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:
{{percentage}} % positiv