Forum: HF, Funk und Felder nRF24L01 Netzwerkteilnehmer suchen


von Osti (Gast)


Lesenswert?

Hallo Leute,
ich möchte für mein Projekt ein Netzwerk aus nRF24L01-Modulen erstellen. 
Später sollen mehrere Systeme nebeneinander laufen und insgesamt werden 
ca. 250 Module im Einsatz sein. Ich möchte die module_id jeweis nur 
einmal vergeben. Grundsätzlich soll ein System aus einem Raspberry 
bestehen, der die Zentrale darstellt und ca 10 Arduinos, die mit 
Sensoren verbunden sind. Da sich die Arduinos jedoch ändern können, soll 
der Raspberry bei Programmstart nach aktivierten Teilnehmern suchen und 
die module_id anfordern. Die Anzahl von addresses ändert sich 
dementsprechend auch.

Ich hoffe man versteht was ich möchte ;)

Hat irgendjemand einen Tipp oder hat schon einmal etwas Ähnliches 
gesehen?

Ich bin über jeden Tipp dankbar.

von Tux (Gast)


Lesenswert?

Dann sende per Raspberry einfach eine Nachricht "Sendet mir eure IDs" 
und die Arduinos machen das dann. Oder wo ist das Problem?

von WANWorker (Gast)


Lesenswert?

Tux schrieb:
> Oder wo ist das Problem?

Dass es beim NRF24 keinen Broadcast gibt auf den er
antworten könnte.

Er sollte also als Master (ähnlich wie in einem LAN) seinen
Adressbereich kennen und sukzessive alle Addressen abfragen
ob sie "da" sind.

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Hi,

ich habe mich laenger nicht mit dem NRF beschaeftigt, aber ich meine 
mich zu erinnern, dass es verschiedene 5 verschiedene Empfangsadressen 
gab, fuer die 5 Buffer. Du koenntest doch eine davon fuer die 
Adressierung als Broadcast benutzen? Da muss dann eventuell das AutoAck 
raus.
Dann senden alle Teilnehmer ihre ID auf die reservierte Adresse und der 
Master notiert sich die.

Ich kann mich aber auch irren, deshalb nur als Denkanstoss

LG
Christopher

von Osti (Gast)


Lesenswert?

Danke, das hilft mir schon sehr viel weiter.
Aber wie ist das mit dem addresses-Array? Es kann sein, dass mal 7, aber 
auch mal zehn Module zum System gehören. Kann ich addresses auch 
variable ändern?

von WANWorker (Gast)


Lesenswert?

Osti schrieb:
> Kann ich addresses auch variable ändern?

Adressen kannst du beliebig ändern da die Adressregister
frei dynamisch beschreibbar sind und der NRF24 auch
ohne Neuinitialisierung darauf anspricht.

von Osti (Gast)


Lesenswert?

Hallo
ich habe immer noch ein Problem mit addresses.
Als Grundlage verwende ich das Beispielprogramm 
Getting_Started_Call_Response. Wenn ich also x-belíebig viele Teilnehmer 
in den Kreislauf aufnehmen möchte, muss ich ja auch die Variable uint8_t 
addresses ändern(Programm läuft auf Raspberry). Aber wie kann ich die 
einzelnen Positionen von addresses ändern, damit dort die Adressen der 
aktiven Teilnehmer angezeigt werden?

Versteht man meine Frage?

Beste Grüße

von WANWorker (Gast)


Lesenswert?

Osti schrieb:
> Versteht man meine Frage?

Du meinst also weil du zu faul bist deine Sachlage hier
klar darzustellen übernehmen wir das für dich. Wir sollen
also die Suchmaschine anwerfen und uns die relevanten
Code-Teile zusammensuchen?

von Osti (Gast)


Lesenswert?

Nein das meinte ich nicht!
Ich dachte falls jemand von euch mit dem nRF gearbeitet hat, sind 
vielleicht einige Beipielcodes bekannt!!!
Die Variable uint8_t adresses[][6] hat normalerweise den Inhalt: {"1", 
"2", "3", "4" und so weiter}. Im Normalfall kann ich die Werte des 
arrays ändern, aber das geht nicht mit den doppelten eckigen Klammern. 
Weiß jemand, was die doppelten Klammern bedeuten? Ich habe schon geuckt, 
aber nichts sinnvolles gefunden.

von Warum nicht hier? (Gast)


Lesenswert?


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
Noch kein Account? Hier anmelden.