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.
Dann sende per Raspberry einfach eine Nachricht "Sendet mir eure IDs" und die Arduinos machen das dann. Oder wo ist das Problem?
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.
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
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?
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.
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
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?
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.
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.