ESP-NOW

little.yoda
Senior
Beiträge: 190
Registriert: Mo 9. Nov 2015, 21:05
Kontaktdaten:

ESP-NOW

Beitrag von little.yoda » Sa 9. Dez 2017, 19:07

Ausgelagert von hier:
http://gartenbahntechnik.de/viewtopic.p ... t=10#p2819
little.yoda hat geschrieben:
Sa 9. Dez 2017, 16:06
Vielleicht eine Lösung (auch wenn es eine Insellösung für die ESP9266/ESP32-Familie ist):

http://espressif.com/en/products/softwa ... w/overview
ESP-Now is another protocol developed by Espressif, which enables multiple devices to communicate without using Wi-Fi. The protocol is similar to the low power 2.4GHz wireless connectivity that is often deployed in wireless mice. So, the pairing between devices is needed prior to the communication. After the pairing is done, the connection is persistent, peer-to-peer, and no handshake is required.
Und ein Video zum Thema:
https://www.youtube.com/watch?v=6NsBN42B80Q&t=15s

Ich muss mal damit etwas rum experimentieren, damit ich eine Vorstellung habe, ob man es in unserem Use-Case sinnvoll nutzen kann.
OldNat hat geschrieben:
Sa 9. Dez 2017, 17:06
Ein Vorteil würde es haben, um den WiFi-Smog auszuschalten... aber eine intelligente Frequency Hopping wäre für die Störungsfreiheit nicht schlecht :)

LGZ
bin jetzt mehr hier zu finden.

little.yoda
Senior
Beiträge: 190
Registriert: Mo 9. Nov 2015, 21:05
Kontaktdaten:

Re: ESP-NOW

Beitrag von little.yoda » Sa 9. Dez 2017, 19:27

Hallo Zoltan,

ich habe mich mal etwas eingelesen.

Sie nutzen 802.11. Somit ist es schon irgendwie Wifi, aber sie bleiben auf einem ziemlich niedrigen Level.
Wer es im OSI-Modul sehen möchte: http://microchipdeveloper.com/wifi:80211-osi

Die Übertragungstechnologie ist gleich. Es werden die gleichen Kanäle genutzt, die gleiche Pakete, usw.
Aber es findet keine Anmeldung an einem Access-Point statt, es gibt kein Routing, usw.

Zum besseren Verständnis, auch wenn es nicht ganz korrekt ist:
Wir sind auf dem Level, auf dem Access-Points ihre SSID aussenden. Wenn man sich jetzt vorstellt, dass der ausgesandte WLAN-Name durch andere Daten ersetzt wird, hat man eine ungefähre Vorstellung bzgl. dieser Technologie.

Gruß,
Sven
bin jetzt mehr hier zu finden.

Benutzeravatar
OldNat
Senior
Beiträge: 104
Registriert: Do 28. Nov 2013, 09:46
Wohnort: Wien
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: ESP-NOW

Beitrag von OldNat » Sa 9. Dez 2017, 19:32

Danke, jetzt ist es klar.
Wie ist die Reichweite dann?
DLGZ

little.yoda
Senior
Beiträge: 190
Registriert: Mo 9. Nov 2015, 21:05
Kontaktdaten:

Re: ESP-NOW

Beitrag von little.yoda » Sa 9. Dez 2017, 20:24

Die Reichweite wird mit Wifi vergleichbar sein.

Zur Zeit hätte ich mehrere Ideen:

1. Eine Art Mesh-Netz auf Basis des ESP-NOW. Auf deiner Fläche verteilst du ESPs, die als Repeater fungieren.
Ein ESP vermittelt dann zwischen ESP-Now auf der einen und WLAN+z21 auf der anderen Seite.
Ein Router, der zwischen ESP und Z21 vermittelt würde reichen.

2. Statt einem Mesh-Netz stationäre Systeme, die die gesammelten ESP-Now Nachrichten nach Wifi umsetzen.
Die Nutzungsfläche müsste dann ganz normal via Wlan abgedeckt dein (mehrere AP oder Repeater oder was auch immer).


Für die z21-losen Nutzen, könnte man Variante 1 modifizieren, dass die UDP-Pakete, die normalerweise per WLAN versendet werden, per ESP-Now getunnelt werden.

Je mehr ich darüber nachdenke, desto komplizierter wird es...
Zuletzt geändert von little.yoda am So 10. Dez 2017, 08:06, insgesamt 1-mal geändert.
bin jetzt mehr hier zu finden.

Benutzeravatar
OldNat
Senior
Beiträge: 104
Registriert: Do 28. Nov 2013, 09:46
Wohnort: Wien
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: ESP-NOW

Beitrag von OldNat » Sa 9. Dez 2017, 22:18

Aber um so interessanter auch...

little.yoda
Senior
Beiträge: 190
Registriert: Mo 9. Nov 2015, 21:05
Kontaktdaten:

Re: ESP-NOW

Beitrag von little.yoda » Sa 16. Dez 2017, 20:18

Eigentlich sollte ESP-NOW parallel zu Wifi funktionieren.
Dass es zur Zeit nicht funktioniert, ist laut Aussage der Entwickler ein Bug:
https://github.com/espressif/arduino-es ... -349908322

Wenn sie irgendwann den Bug korrigieren würden, wäre es super.

Man verteilt einfach mehrere ESP8266, die die Befehle der Z21 an die ESP8266 via ESP-Now weiterleiten. Dann hätte man während der Romaing Zeit zumindest eine rudimentäre Übertragung der Befehle.
bin jetzt mehr hier zu finden.

little.yoda
Senior
Beiträge: 190
Registriert: Mo 9. Nov 2015, 21:05
Kontaktdaten:

Re: ESP-NOW

Beitrag von little.yoda » So 31. Dez 2017, 11:13

Ich habe es in den letzten Wochen immer mal wieder etwas probiert und ich bin sehr, sehr zuversichtlich das man ESP-NOW für die Gartenbahn sinnvoll nutzen kann. Die Dokumentation für ESP-NOW ist ... grottig. Praktisch nicht vorhanden. Leider ist auch kein Einblick in den Source-Code möglich :-(

Was will ist eigentlich konkret implementieren?
1. Überbrückung der Ausfallszeiten beim Romaing, so dass eine Lok auch in diesen Zeiten Befehle bekommt
2. Eine WLAN-Infrastruktur, die sich ggf. nur aus ESP8266/ESP32 aufbaut (Mesh-Netz)

Was z.Z. funktioniert:
  • Gleichzeitige Verbindung zu einem WLAN-Netz und zu ESP-Now
  • Senden und Empfangen von ESP-Now Paketen.
Kniffelig wird es:
  • Der Versand von ESP-Now-Paketen benötigt immer eine Zieladresse (MAC-Adresse). Echte Broadcasts werden nicht unterstützt. Man kann tricksen, in dem man allen ESP8266 die gleiche Adresse gibt. Das funktioniert sogar, da der ESP8266 zwei Mac-Adressen hat (für AP Modus und Station Modus) und ESP-Now anscheinend auf beide Pakete reagiert, selbst wenn über das Interface eigentlich die andere Mac-Adresse genutzt wird.
  • Das WLAN und das ESP-Now müssen auf dem gleichen Kanal laufen.
TODO:
- Das Thema Verschlüsselung sich anschauen
- Ist die Skalierbarkeit (10, 20 ESP8266) gegeben?


In hatte mehrere erfolgreiche Testaufbauten:
  • Ein Sender und mehrere Empfänger
    HIer wird ein Broadcast simuliert, in dem alle Empfänger zumindest auf dem ungenutzten Interface die gleiche MAC-Adresse haben.
  • Zwei Sender und mehrere Empfänger
    Diesen Fall könnte man sich im Garten vorstellen. Man hab mehrere Sender, die mit der z21 kommunizieren. Die Sender strahlen diese Befehle ab und die Loks empfangen diese. Im besten Fall empfängt die Lok die Befehle von mehreren Sendern, in den Randbereichen empfängt sie dann die Befehle aber nur noch von einem Sender.
Die nächsten Herausforderungen liegen auf der z21-Seite.
In den alten Firmware Versionen war es möglich der z21 zu sagen, dass man alle Information über Loks und Weichen bekommen möchte. Man war also über alle relevanten Zustände informiert.
Mit der neuen Firmware ist dies nicht mehr möglich. Man muss konkret sagen, zu welcher Lok oder Weiche man Informationen wünscht. Und dieses Anzahl ist auf 10 Ids oder so limitiert.
Ich muss jetzt erstmal wieder einen Weg finden, um an alle Informationen zu kommen.

Gruß,
Sven
bin jetzt mehr hier zu finden.

little.yoda
Senior
Beiträge: 190
Registriert: Mo 9. Nov 2015, 21:05
Kontaktdaten:

Re: ESP-NOW

Beitrag von little.yoda » So 17. Jun 2018, 11:19

Ich habe mal in die Richtung Mesh-Netz experimentiert.

Ausgangssituation (alles einfache esp8266):
- Ein Sender
- zwei "Repeater/Receciver" (können im Moment beides)

1. Fall
Sender im Haus
"Repeater/Receiver" in der Garage
=> kein Empfang.

2. Fall
Einen weiteren "Repater/Receiver" vor die Garage
=> Empfang in der Garage.

Bedingt durch den dynamischen Charakter (Fahrende Züge), halte ich die klassischen Mesh-Algorithmen für zu komplex, da sich das Netz permanent ändert, wenn man die Züge mit als Repeater berücksichtigt.

Lösungsansätze:
1. nur stationäre Geräte werden als Repeater konfiguriert.
2. alle Geräte leiten einfach alle neuen Nachrichten weiter.
[Wie erkenne ich die Leaf-Nodes, also die Nodes, die Nachrichten nicht weiterleiten müssen, weil ihnen keiner zuhört]


Wenn ich die Z21-Seite gelöst habe, baue ich beides an und teste mal.

Gruß,
Sven
Zuletzt geändert von little.yoda am So 17. Jun 2018, 18:04, insgesamt 1-mal geändert.
bin jetzt mehr hier zu finden.

Benutzeravatar
ateshci
Senior
Beiträge: 193
Registriert: Mi 16. Jan 2013, 15:12
Wohnort: Friedberg(Hessen)
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: ESP-NOW

Beitrag von ateshci » So 17. Jun 2018, 15:44

Vielleicht sollte man eher die Thread-fähigen Module von Digi in Betracht ziehen. Also alles, was auf der 2. Schicht das Netz aufbaut. Oder das ESP32 mit der fertigen Arbeit von Espressif nehmen als sich hier herumquälen. Die Node-MCU gibt es auch schon für 6,- und die Software ist dabei.
Gruß vom Heizer

little.yoda
Senior
Beiträge: 190
Registriert: Mo 9. Nov 2015, 21:05
Kontaktdaten:

Re: ESP-NOW

Beitrag von little.yoda » So 17. Jun 2018, 18:10

danke

Hast du mal einen Link für mich? Mir sagen die Module gar nichts.

Bzgl. ESP32:
Meines Wissens nach, funktioniert die Lösung immer noch nicht wirklich vernünftig.
bin jetzt mehr hier zu finden.

Antworten
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Zurück zu „Fragen bzgl. dem ESP8266/32“