ESP-Now

Die Nutzung von WLAN ist sehr energiehungrig und speziell, wenn man einen ESP8266 oder ESP32 allein mit Batterien betreiben will, ist jedes mA eine Herausforderung. Das Starten von WLAN, einbuchen beim Access-Point, erhalten einer IP-Adresse per DHCP und der TCP-Verbindungsaufbau zur Übertragung eines kleinen Messwerts ist aufwändig. Hier hat ESP mit seinem ESP-NOW genannten Ansatz einer Alternative vorgestellt.

Ich selbst habe mit ESP-Now noch keine Erfahrungen gesammelt. Dies ist daher erst mal nur eine Linksammung

ESP-Now ist P2P

Die ESP-Now-Funktion erlaubt die direkte Kommunikation zwischen ESP-Systemen ohne WLAN AccessPoints. Sie nutzen einfach ihre MAC-Adressen und senden ihre Information ohne weiteren Protokoll-Overhead. Natürlich muss die Gegenseite dann den Empfang quittieren und über ein Peering soll auch eine Sicherungsschicht möglich sein.

ESP-NOW User Guide
https://www.espressif.com/sites/default/files/documentation/esp-now_user_guide_en.pdf

#172 Hidden: ESP32 and ESP8266 point-to-point (ESP-Now): Fast and efficient. Comparison with LoRa
https://www.youtube.com/watch?v=6NsBN42B80Q

ESP8266 Sensor läuft 17 Tage mit einer Knopfzelle und sendet Daten zu sparkfun.com and ubidots.com
https://www.youtube.com/watch?v=IYuYTfO6iOs

ESP-Now Gateways

Der schnelle Verbindungsaufbau und damit niedrige Energiebedarf wird gerne genommen. Wenn hier aber nicht nur mehrere ESP-Geräte miteinander kommunizieren lassen will, sondern auch eine externe Datenspeicherung braucht oder steuern möchte, muss doch wieder den "Übergang" ins Internet zu einem MQTT-Server o.ä. ermöglichen. Das geht dann am besten mit einem Gateway, welches auf der einen Seite per ESP-Now mit den anderen ESP-Now-Geräten kommuniziert und die so erhaltenen Daten wieder über ein klassisches WLAN weiter sendet.

Es versteht sich dann natürlich von selbst, dass zumindest dieses Gateway nicht über Batterien betrieben werden sollte, sondern einen "richtigen" Stromanschluss hat. Aber auch hierzu gibt es schon entsprechende Projekte samt Code

Reichweite

Dann stellt sich noch die Frage, wie weit WLAN denn funktioniert. Die 2,4 GHz sind für Reichweite sicher besser als 5 GHz aber die meisten Boards haben keine externen Antennen, sondern nur kleine eingebaute Antennen. In Datenblättern wird gerne von bis zu 300m bei freier Sicht gesprochen aber auch das ist wie mit dem Treibstoffverbrauch beim Auto zu sehen. Funk ist kein Licht und wer WLAN-Richtfunk plant, weiß auch um Reflektionen und dass auch Hindernisse außerhalb der direkten Sichtverbindung, z.B. Bäume im "Funk-Kegel" einen Einfluss haben.

Bei ESP-Now geht es aber eigentlich um ein Mesh bzw. viele Punkt zu Punkt-Verbindungen, bei denen die Antennen meist nicht gesondert "ausgerichtet" sind.

So kommen im Haus meist nur 10-30 Meter zustande und vielleicht kann ich noch im Garten auf 20-40m kommen aber dabei ist nie sichergestellt, dass es stabil ist. Insofern muss das Protokoll damit umgehen können, dass Pakete verloren gehen und sie sollten vielleicht eine "Packet Loss"-Messung einbauen um keine Enttäuschung zu erleben, z.B. indem man jedem Paket eine Sequenznummer mitgibt und so "Lücken" erkennen kann.

Im Freifeld sind natürlich andere Werte möglich und dazu gibt es durchaus interessante Videos

ESP32 ESP-Now Real World Range Test - Standard and Long Range Mode Investigated
https://www.youtube.com/watch?v=oz0a7Ur7nko
Mit "Long Range Mode"

Weitere Links