ich hab bisher schon viel mit nrf24 gebastelt, dabei aber immer nur Zahlen (byte oder int in einem array) übertragen. Nun möchte ich in einem bestehenden "Netzwerk" wo bisher nur Zahlen übertragen wurden auch Text (mit Zahlen kombiniert) übertragen.
Geht das ohne Änderungen an den Geräten, die mit dem Text nichts zu tun haben?
OK, ich hab mal einen stark reduzierten Sketch vom Empfänger gebaut, damit ersichtlich ist, wie ich die Daten übertrage. Die ersten beiden Stellen im Array nutze ich zusätzlich als "Adresse", damit wird der Raum und der Sensor/ die Lampe identifiziert. Bei dem neuen "Sensor" der teilnehmen soll, möchte ich Wetterdaten von openweathermap übertragen. Rein theoretisch könnte ich den Text (der ja immer ein Standardtext ist) auch einfach Zahlen zuordnen und beim Ausgabegerät übersetzen lassen....
auf deinen Input hab ich gehofft- du hast mir schon sehr oft beim nrf24 die entscheidenden Tipps gegeben
Also zum ersten Hinweis: Das ist nur ein kleiner Sketch mit dem ich mal kurz Hardware teste... daher ist es einfach nur quick and dirty.... in der Praxis gebe ich natürlich nichts auf einen seriellen Monitor aus- da sind da entsprechende Zeilen, wenn vorhanden, auskommentiert...
Ja, ich muss mal schauen, wo ich die "Idee" her hatte... ich dachte das aus einem Beispiel der Lib zu haben, finde es aber im Moment auch nicht... komisch :-/
Es ist aus deinem Post nicht so wirklich erkennbar was du denn genau machen willst.
Grundsätzlich ist dem NRF egal was in den 32 Bytes steht, die er sendet oder empfängt.
Wenn du unterschiedliche Paketformate hast, könntest du die durch ein Byte am Anfang kennzeichnen,
oder z.B. für ASCII eine andere Pipe benutzen, ohne ein Byte "zu verschwenden".
Ich will einmal ein array folgendem Inhalt senden:
Sensor[] = {byte, byte, array};
weiterhin die bestehenden nach dem Muster aus meinem Beispiel. Und beide Varianten sollen vom Empfänger identisch empfangbar und weiter zu verarbeiten sein....
Frage ist, ob es geht, dass der Empfänger anstatt Zahlen bei den Stellen 3- 9, einfach nur einen Text empfangen und mit dem array Sensor[] verarbeiten kann...
MaHa76:
Frage ist, ob es geht, dass der Empfänger anstatt Zahlen bei den Stellen 3- 9, einfach nur einen Text empfangen und mit dem array Sensor[] verarbeiten kann...
Ja, ist es. Text ist auch nur aus Bytes zusammengesetzt und:
Whandall:
Grundsätzlich ist dem NRF egal was in den 32 Bytes steht, die er sendet oder empfängt.
Wie beabsichtigst du die beiden Interpretationen zu unterscheiden?
Bisher verarbeite ich in meinem Netzwerk nur diverse Sensordaten, um nach einem kleinen Processing damit Lampen zu steuern, Helligkeit Farbe, Überblendtempo etc...
Die "Zentrale" hat ein 7" tft, hat Weckfunktionen, einen Kalender und verschiedene Spielereien um das Design und den Inhalt der Anzeige zu ändern...
Nun sollen auch Wetterdaten mit angezeigt werden- dafür habe ich schon erfolgreich die ersten Daten mit einem ESP12 von openweathermap geholt - Ziel ist die Vorschau für die nächsten 5 Tage zu holen und das ganze etwas grafisch aufzubereiten und eventl. auch alles auf SD zu loggen (wobei ich hier noch beim lernen bin, wie ich damit arbeiten kann)
Ich möchte mein "Netzwerk" nicht unbedingt ins WLAN bringen- daher war mein erster Gedanke, dass der ESP12 auch einen nrf24 bekommt und die Daten schickt...
Wobei ich den ja auch direkt in die Zentrale setzen und verkabeln kann... und die Daten dann via Kabel zu übertragen... aber was bietet sich da am besten an?
Mir fehlt viel Basiswissen für solche grundlegenden Dinge :-/
Mir fehlt viel Basiswissen für solche grundlegenden Dinge :-/
Dann gebe ich dir einen Tipp!
Führe ein Protokoll ein!
Baue ein eigenes, damit du es auch in der Tiefe verstehst.
Dann erledigen sich deine Sorgen ohne alle Schmerzen.
Fast wie von selber.
Ich habe den SPI Bus auf den ESP8266's noch nicht benutzt, auf meinem ESP32 läuft der NRF prima.
Also, mein Lampen/Sensor- Netzwerk soll nicht ins WLAN, weil ich nicht fit genug bin, dass vor ZUgriff von außen zu schützen- und wenn allein die Menge an Datenverkehr von außen gelesen werden kann, erlaubt das schon Rückschlüsse darauf, wann jemand zu Hause ist und wann nicht.
Den ESP12 mit einem nrf zu koppeln sehe ich auch nicht als große Hürde an, da gibts genug Anleitungen
Welche Art Protokoll/Verbindung wäre denn zu empfehlen, wenn ich den ESP verdrahten würde? Letztendlich muss er keine Befehle von der Zentrale erhalten, sondern nur die aktuellen Wetterdaten alle 60min "bereit stellen" (klar- an der Stelle braucht er zumindest die Rückmeldung der Zentrale, dass jetzt die Daten geschickt werden können)...
MaHa76:
Welche Art Protokoll/Verbindung wäre denn zu empfehlen, wenn ich den ESP verdrahten würde?
Ich würde eine normale bidirektionale serielle Anbindung vorschlagen, etwa wie bei einem GPS Modul.
MaHa76:
Letztendlich muss er keine Befehle von der Zentrale erhalten, sondern nur die aktuellen Wetterdaten alle 60min "bereit stellen" (klar- an der Stelle braucht er zumindest die Rückmeldung der Zentrale, dass jetzt die Daten geschickt werden können)...
Warum willst du die Daten anfordern?
Machst du das bei einem Wetterbericht im Radio auch?
Den ESP12 mit einem nrf zu koppeln sehe ich auch nicht als große Hürde an, da gibts genug Anleitungen
Und dann dieses:
Welche Art Protokoll/Verbindung wäre denn zu empfehlen, wenn ich den ESP verdrahten würde?
Warum machst du deinen ESP nicht zu einem ganz normalen Knoten in deinem NRF Netz?
Ob er die Wetterdaten aus dem Wlan holt..
Oder wie die anderen Knoten seine Sensordaten selber generiert, macht doch keinen Unterschied.
OK, ich sehe für beide Varianten gibt es Unterstützer
Also Punkt für die Variante als normalen knoten mit nrf24 wäre mein Gedankengang, das Teil auch mal für Internetradio (mit Toslink) zu nutzen und dann einfach hinter den Receiver zu schmeißen oder in den Reciever zu bauen, wo ich auch den Strom her holen könnte....
Punkt für die Variante der Integration in die zentrale wäre, dass ich dann kein Problem mit der Stromversorgung habe... wobei ich zu einem späteren Zeitpunkt auch einen Tablet-Akku einbauen möchte, um die Zentral auch mal auf den Couchtisch legen zu können und die Lampe darüber direkt steuern zu können, bzw. Wecker- und Kalendereinträge bequem editieren zu können- da würde ein zusätzlicher Verbraucher die Akkulaufzeit verkürzen....
"Anfordern" will ich die Wetterdaten, weil die Zentrale mit dem TFT und den ganzen Prozessen die laufen gut beschäftigt ist... ich würde dann einfach alle 60 Minuten "sagen": "So jetzt hol dir mal die Daten"... aber so ganz ist mir das noch nicht klar, wie man das "üblicherweise" macht...