ESP32 WiFi Beispiel


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:

 

 

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

DANKE f├╝r deine Bewertung!

Ver├Âffentlichung: 20.01.2022 von Bernhard ­čöö


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.

ESP32 Flowmeter - RS485 Modbus
Wie im ersten Artikel dieser Serie 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-2000M. Um den TUF-2000M mittels RS485 auslesen zu...

ESP32 MQTT - Daten senden
Um Daten von einem ESP32 empfangen zu k├Ânnen, habe ich einen MQTT-Broker als Docker-Container vorbereitet. Der Container kann mittels Integration in Home-Assistant eingebunden werden und somit die Daten vom ESP32 ├╝ber MQTT an Home-Assistant weiterleiten. Seitens ESP32 habe ich das Senden mit folgendem Sketch getestet und sp├Ąter die relevanten Teile in einen weiteren Sketch integriert.

Fragen / Kommentare