Liebe Leute, ich möchte ein masterloses nRF24L01+ Funknetzwerk zwischen mehreren Knoten aufspannen. Ich brauche auf Anwendungsebene eigentlich nur unsichere any-to-every Kommunikation. Es können sich aber nicht unbedingt alle Knoten gegenseitig erreichen so dass die Zwischenknoten weiterleiten müssen. Und das Netz muss insofern dynamisch sein als dass Knoten beliebig ein- und ausgeschaltet und eventuell auch bewegt werden. Gibt es so etwas schon? Quellcode vielleicht sogar? Ich habe mal ganz blauäugig mit der Programmierung angefangen und stelle fest dass so etwas nicht so ganz trivial ist ... :) LG, Sebastian
Harry L. schrieb: > Ja, offenbar hat sich daran schon mal jemand versucht: > https://github.com/nRF24/RF24Mesh Mmh. Ich bin wegen "The 'master' node keeps track of the unique nodeIDs and the assigned RF24Network addresses." davon ausgegangen dass https://github.com/nRF24/RF24Mesh nicht masterlos arbeitet. Irre ich mich? In meinem Fall kann eben jeder Knoten, auch ein hypothethischer Master-Knoten, beliebig aus- und eingeschaltet werden kann, und dass Restnetz soll trotzdem weiter funktionieren. Hintergrund ist die Ideensammlung für ein (noch recht wenig ausgegorenes) Kunstprojekt mit mehreren sich synchronisierenden Leuchtkörpern. LG, Sebastian
Sebastian W. schrieb: > In meinem Fall kann eben jeder Knoten, auch ein hypothethischer > Master-Knoten, beliebig aus- und eingeschaltet werden kann, und dass > Restnetz soll trotzdem weiter funktionieren. Du brauchst einen Master-Node, der immer läuft, wobei es aber ausreicht, wenn der Master min. einen deiner anderen Nodes erreichen kann.
Harry L. schrieb: > Du brauchst einen Master-Node, der immer läuft, wobei es aber ausreicht, > wenn der Master min. einen deiner anderen Nodes erreichen kann. Ja, dann ist https://github.com/nRF24/RF24Mesh für mich ungeeignet. Irgendein anderer Vorschlag? Für any-to-every reicht vielleicht schon ein simples Fluten des Netzwerks? LG, Sebastian
:
Bearbeitet durch User
Sebastian W. schrieb: > Irgendein anderer Vorschlag? Für any-to-every reicht vielleicht schon > ein simples Fluten des Netzwerks? Problem: Die Knoten dazwischen müssen ja wissen, ob sie das Paket weiterschicken müssen oder nicht, auch wenn sie Original-Sender oder Empfänger nicht in Reichweite haben. NRF24Mesh packt die Knoten in eine Baum-Struktur, aus der jeweiligen Ziel-Knotenadresse ist da immer klar, über welche Hops der zu erreichen ist. Das ginge bei deinem Master-Losen Mesh nicht so einfach, wenn du da nicht aufpasst, spielen die Nodes Ping-Pong und schicken dasselbe Paket immer im Kreis... Hängt jetzt von den Anforderungen ab, die du an das Netzwerk hast: Wenn es egal ist, ob da ab und zu Sensordaten verloren gehen, ohne dass der Sender (oder irgendjemand anderes) darüber informiert wird: - Jeder Knoten sendet (broadcast) wie er lustig ist, Paket enthält einen "TTL"-Counter und eine möglichst eindeutige ID. Diese ID in einen "bekannt"-Cache einfügen. - Jedes empfangene Paket wird weitergeleitet (TTL--), außer ID ist "bekannt" oder TTL-Zähler abgelaufen. ID von empfangenen Paketen ebenfalls in den "bekannt"-Cache einfügen. - Vor dem Weiterleiten: delay(random())... sonst empfangen X Knoten ein Paket und wollen es alle gleichzeitig wieder raussenden...
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.