Go Down

Topic: RF24 Zahlen und Text übertragen? (Read 641 times) previous topic - next topic

combie

#15
May 16, 2018, 10:10 pm Last Edit: May 16, 2018, 10:12 pm by combie
Quote
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.

Quote
Ich habe den SPI Bus auf den ESP8266's noch nicht benutzt, auf meinem ESP32 läuft der NRF prima.
mit den 8266 auch.
Problemlos.
Ein Frosch, der im Brunnen lebt, beurteilt das Ausmaß des Himmels nach dem Brunnenrand.

MaHa76

OK, danke für Eure Tipps.

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)...

Whandall

#17
May 17, 2018, 08:52 am Last Edit: May 17, 2018, 08:59 am by Whandall
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.

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?
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

combie

Du überrascht mich!

Erst sagst du dieses:
Quote
Den ESP12 mit einem nrf zu koppeln sehe ich auch nicht als große Hürde an, da gibts genug Anleitungen :-)
Und dann dieses:
Quote
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.
Ein Frosch, der im Brunnen lebt, beurteilt das Ausmaß des Himmels nach dem Brunnenrand.

MaHa76

OK, ich sehe für beide Varianten gibt es Unterstützer :D

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...

Whandall

"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...
Gut beschäftigt mit Däumchendrehen in delays?

Bei einer Balancesteuerung ist ein Arduino herausgefordert, aber bei deiner Anwendung?

Animierst du unablässig Dinge auf dem TFT?

Anfordern würde ich höchstens eine Übertragung der neuesten Daten,
das Ermitteln der Daten würde ich dem ESP überlassen.

P.S. ich habe den Eindruck deine '.'-Taste prellt doppelt.
Wenn statt der '...' irgendetwas stehen sollte, warum schreibst du es dann nicht hin?

Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

MaHa76

Delays sind keine drin. Das TFT hat einmal je Sekunde ein Update oder wenn was passiert- da ist die Kürzeste Zeit 40ms.

Das Touch kann aber ab und an fordernd sein, weil ich auch "Schieberegler" habe.

"..." sind Gedankenpausen... :)

combie

Quote
um die Zentral auch mal auf den Couchtisch legen zu können
Das halte ich für eine wirre Idee.

Man kann sie sich mal auf den Basteltisch holen, wenn sie modifiziert werden soll.


Gut, ich kenne deine Anforderungen an das Netz nicht.
Und auch nicht die Komponenten.
Sehe hier aber deine, wie soll ich es nur sagen, "Unbeholfenheit"..


Hatte aber schon das Vergnügen 2 NRF Netze aufzubauen.
Völlig verschiedene!

----
Eine Netz ist speziell für einen Prüfstand, Probeaufbau einer Maschine(auch mehrere), ausschließlich um Temperaturen aufzunehmen.

Aufbau:
1 Master des NRF Mesh, welcher  gleichzeitig ein Gateway zum Ethernet bildet
ca 100 NRF Knoten, welche eine Seriennummer im EEprom haben
1 Firmenserver, mit Apache, PHP und SQL (sowieso schon im Intranet vorhanden gewesen)

An jedem Knoten sind  DS18S20/DS18B20 angeschlossen.

Die EDV Abteilung wartet die Datenbank.

Klarer:
Jedem Sensor wird ein bestimmter Messort zugeordnet.
Der Sensor hat ja eine eingebaute Seriennummer.
Der jeweilige Knoten sendet Sensor Seriennummer und Temperatur zum Master, der wiederum weiter an PHP.  PHP trägt den Messwert in die DB ein.

Positive Effekte:

Wenn ein Knoten defekt ist, wird er einfach ausgetauscht. Es ist dazu keine weitere Konfiguration nötig.

Wenn ein Sensor defekt ist, gibt die EDV Abteilung einen neuen aus, und trägt die Daten, wie Seriennummer, Testobjekt, Messstelle und Zeit in die DB ein.

Wenn ein Sensor an einen anderen Knoten angeschlossen werden soll (z.B. wegen Kabellänge, oder Umbau der Testeinrichtung), wird er einfach umgesteckt. Es ist dazu keine weitere Konfiguration nötig.

Die gesamte Konfiguration ist in der DB verankert,  das Mesh selber, ist selbstorganisierend.

Die Knoten senden für  jeden Messwert "SensorID,Temperatur"
Die Knoten wissen nichts über den Testaufbau. Finden nur jeweils ihre angeschlossenen Sensoren.

---

Das andere Mesh ist fummeliger organisiert.
Verschiedene Sensoren und Aktoren.
433MHz Infrarot, Schalter Taster Motoren Beleuchtung Bewegungsmelder usw.
Sie sind mit festen Bezeichnern versehen.
Hier dient ein ESP8266 als NRF-Wlan Gateway und Master
Im Mesh stecken ca 50 Knoten.
Es deckt ca 10000m² ab.
Steuerung erfolgt über den PC-Browser, oder von einem beliebigen Mobilen Gerät.

Die gesamte Logik steckt im ESP.
Dieser wird per OTA Update mit  Änderungen versorgt.
----


Mein Tipp:
Arbeite sauber!

Liste alle Elemente auf, welche bei dir zum Einsatz kommen werden.
Lasse Freiräume für spätere Erweiterungen.
Male Programmflussdiagramme für jeden einzelnen endlichen Automaten.
Male Datenflussdiagramme!

Wenn deine Gedanken nicht in klaren Bahnen gehen, wird dein Vorhaben im Chaos versinken.
Also:
Schaffe klare Schnittstellen!
Schaffe unmissverständliche Protokolle!
Dokumentiere.

Ein Frosch, der im Brunnen lebt, beurteilt das Ausmaß des Himmels nach dem Brunnenrand.

MaHa76

Naja, ganz so chaoitisch ist das System nicht. In meiner alten kleinen Wohnung hat es super funktioniert- über 2 Jahre, es waren alle(!) Lampen eingebunden und alle hatten sich dran gewöhnt sich nicht mit Lichtschaltern oder Fernbedienungen befassen zu müssen :-D

Nun sind wir umgezogen, haben wesentlich mehr Zimmer und Lampen- derzeit arbeiten die vorhandenen Lampen autark- sprich über einen Helligkeitssensor wird entschieden ob es dunkel genug ist für Licht oder Schlafenszeit... ein PIR erkennt Bewegungen.

Ich sitze nun an der Erweiterung des Netzwerks und bringe eben ein paar Extras rein...

Inzwischen hab ich gut 10.000 Zeile Code - nur ein einziges delay da drin würde mehr als nur stören.... es ist alles ala "Nachtwächter" zeitabhängig gesteuert, von alle 40ms das Touch abfragen, bis einmal pro Tag etwas zu aktualisieren.

Darüber hinaus gibt es ereignisgesteuerte Aktionen- bei Tageswechsel aktualisiert sich der Kalender und holt sich aktuelle Feiertage oder Geburtstag oder andere Ereignisse aus dem Kalender etc. pp.

Ich tu mir schwerer damit, dass ich mehre SPI- Gerät an einer Leitung habe... da hängt es am meisten...

und dann eben das Basis- Wissen des Programmierens... Idee und Logik-Verständnis hab ich mehr als genug... Struktur beim Arbeiten auch.

combie

#24
May 17, 2018, 01:31 pm Last Edit: May 17, 2018, 01:33 pm by combie
Quote
Ich tu mir schwerer damit, dass ich mehre SPI- Gerät an einer Leitung habe... da hängt es am meisten...
Gerade das ist doch eigentlich kein Problem!
Dafür wurde /CS bzw SlaveSelect erfunden

Welche Sorgen hast du damit?
Ein Frosch, der im Brunnen lebt, beurteilt das Ausmaß des Himmels nach dem Brunnenrand.

MaHa76

#25
May 17, 2018, 01:37 pm Last Edit: May 17, 2018, 01:39 pm by MaHa76
Ich hab ein etwas kritisches TFT mit RA8875 - ich habs aber via TriState- Buffer entkoppelt- sollte also nicht stören.

Ich habe den Sketch schon auf ein Minimum reduziert, um Einflüsse aus dem lange Sketch ausschließen zu können.

Das TFT arbeitet immer sauber- egal was ist.

Der nrf24 arbeitet prinizpiell auch, empfängt aber nicht immer, und nicht immer sinnvolle Werte.

Kommentiere ich die Zeilen fürs TFT aus, empfängt der nrf genau das was er soll... Ich hatte da hier vor ca. 2 Wochen schon einen Beitrag dazu... da kam aber keine Lösung bei raus... http://forum.arduino.cc/index.php?topic=540944.30

combie

Tja...
Dann kann ich dir auch nicht helfen!

Da ich weder einen Teensy, noch dein Display habe.
Und auch zu weit weg bin um meinen LA an deine Schaltung anzuschließen.

Bin mir aber zu 99,99% sicher, dass das grundsätzlich funktionieren muss.
Ein Frosch, der im Brunnen lebt, beurteilt das Ausmaß des Himmels nach dem Brunnenrand.

MaHa76

Ja... ich muss da wohl selbst ran  :-/

Da ist mein nächster Schritt den Gameboy meiner Tochter als Testobjekt zu nutzen. der ist auch mit einem Teensy 3.6 und einem 5" TFT mit RA8875. da werde ich mal einen nrf24 an die separaten SPI- Pins anlöten und testen. An der Zentrale will ich nicht zu viel hin und her löten, da ich das ganze sehr kompakt halten wollte und alles sehr eng gepackt habe...

Prinzipiell kann ich dir aber auch die Zentrale zuschicken ;)

combie

Quote
Prinzipiell kann ich dir aber auch die Zentrale zuschicken
Das ist ja mal interessant...

Danke, für dein Vertrauen!


Ansonsten, wenn der nRF falsche Daten an den µC per SPI übergibt:
1. kann eigentlich nur das Timing falsch sein, (SPI Mode)
2. bzw, der Bus belastet, weil 2 LineDriver gegeneinander arbeiten.
Aber da du ja sagst, dass es  ohne Display funktioniert, kommt im Grunde nur Punkt 2 in Betracht.

Im Grunde kannst du Punkt 2 auch mit einem Multimeter prüfen.

z.B. Miso auf 1/2 Vcc hängen und schauen, ob sich beim Betätigen von /CS was tut
*alles ohne jede Gewähr*
Ein Frosch, der im Brunnen lebt, beurteilt das Ausmaß des Himmels nach dem Brunnenrand.

MaHa76

Ja, bin da auch mal im Netz über etwas gestolpert, wo man nen analogen Eingang vom Teensy gleich dazu nutzen kann zu schauen was auf dem Bus passiert...

Aber an 2. hab ich auch schon gedacht... nur fehlt mir eben da einfach das Basiswissen zum Programmieren- sieht man wahrscheinlich auch in meinem langen Sketch... da hätte man als Profi einiges vereinfach können.

Etwas Grundvertrauen muss man ja haben, sonst wird man ja irre in dieser Welt :-D

Go Up