ESP-NOW statt WLAN: Sensordaten ohne Router senden

Titelbild: KI-generiert
Sensordaten direkt zwischen Boards senden ganz ohne Router. Nutzt du ESP-NOW schon für deine Sensor-Knoten?
Tipp
WLAN ohne Router nutzen
ESP-NOW verbindet ESP32-Boards direkt. Das spart die lange Router-Anmeldung und schont bei Batteriebetrieb wertvolle Energie.
Stand: ESP32, Arduino IDE 2
Schritt 1
MAC-Adresse auslesen
Lies zuerst auf dem Empfänger die WLAN-MAC-Adresse aus und notiere sie für die Adressierung im Sender-Sketch.
WiFi.macAddress()Stand: ESP32, Arduino IDE 2
Schritt 2
Datenstruktur anlegen
Definiere in beiden Skripten die exakt gleiche Datenstruktur für Sensorwerte wie Temperatur und Luftfeuchte.
typedef struct { float temp; float hum; } Data;Stand: ESP32, Arduino IDE 2
Schritt 3
Sender einrichten
Initialisiere ESP-NOW, trage die MAC-Adresse des Empfängers als Peer ein und sende das Datenpaket direkt ab.
esp_now_send(peerAddr, (uint8_t *) &data, sizeof(data))Stand: ESP32, Arduino IDE 2
Schritt 4
Empfänger programmieren
Registriere eine Callback-Funktion auf dem Empfänger, die eingehende Pakete liest und im Seriellen Monitor ausgibt.
esp_now_register_recv_cb(OnDataRecv)Stand: ESP32, Arduino IDE 2
Tipp
Reichweite optimieren
Eine niedrigere Datenrate erhöht die Reichweite und Stabilität der Funkübertragung durch Wände spürbar.
esp_wifi_set_protocol(WIFI_IF_STA, WIFI_PROTOCOL_LR)Stand: ESP32, Arduino IDE 2
Stand: ESP32, Arduino IDE 2 · jeder Schritt selbst am Gerät nachvollzogen
Quellen
- ESP-NOW User Guide - ESP-IDF Programming Guide
- ESP32 Arduino Core Documentation