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!

Aktualisiert: 19.08.2023 von Bernhard | Translation English |🔔 | Kommentare:0

ESP32 programmieren, Arduino - Voraussetzungen installieren | ESP32 | ESP32 MQTT - Daten senden

Top-Artikel in diesem Bereich


DS18B20 Temperatursensoren ESP32, MQTT und WiFi - HowTo

Zusätzlich zur Anbindung eines Durchflussmessers über RS485 habe ich 5-Stück DS18B20-Temperatursensoren an den ESP32 angesteckt, damit deren Werte auch über MQTT an HomeAssistant übertragen werden.


Heizung steuern: PV Überschuss > ESP32 & Home Assistant (1/2)

Nach ca. 20 Jahren konnte ich mit Home Assistant und einem ESP32 die Kontrolle über meine Wärmepumpe übernehmen. Um den erzeugten Strom meiner PV-Anlage tagsüber besser nutzen zu können, kam mir die Idee, die Heizung möglichst dann zu aktivieren, wenn die PV-Anlage gerade am meisten Strom liefert. Nachdem ich den Stromverbrauch und Temperaturwerte bereits in Home Assistant zur Verfügung hatte, fehlte nur noch die Möglichkeit aktiv in die Heizung einzugreifen.


ESP32 Flowmeter - RS485 Modbus

Wie in dem Artikel "ESP32 programmieren, Arduino - Voraussetzungen installieren" beschrieben, war mein erstes Ziel einen TUF-2000M Ultrasonic Flow Meter über einen ESP32 auszulesen. Dazu habe ich im Internet ein Beispiel zu einem ESP8266 gefunden: Reading a TUF-2000M Ultrasonic Flow Meter with an Arduino or ESP8266 und https://forum.arduino.cc/t/comunicacion-rs485/698786/2. Das Setup des TUF-2000M habe ich in folgendem Artikel beschrieben:  Erfahrungsbericht: Ultraschall Durchflussmesser TUF-200...

Fragen / Kommentare


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