Mit einem Nrf24 unterschiedliche Struct-Daten an mehrere Empfänger versenden

Egon Bahr hätte das Problem ausgeklammert, so wie er es bei den Gesprächen mit der DDR gemacht hat.

Ich komme aus einer Region. Da ist ausklammern Gesetz die Regel.

Du könntest das Problem umgehen und dadurch in diesem Thema vorankommen.

Bin ich jetzt schon, weil ich einfach nicht mithelfen kann. Ihr glaubt ja garnicht wie unangenehm mir das ist. Lade euch alle auf´n :beer: ein.

Was man bei den anderen Zweig so liest, hat es kaum noch was damit zu tun. Hoffe nur das ich es halbwegs auf die Kette bekomme was, und warum da etwas passiert. :wink: :slightly_smiling_face:

Muss mich für heute wieder verabschieden....

Wünsche euch nee gute Zeit, und bleibt wie immer Gesund.

Doch hat es.
Sonst wär ich nicht mal drauf gestossen.

Du brauchst nur sagen, das Du Deinen MEGA weghaust und vom Renncomputer die Daten mit einem UNO aufnimmst. Und verteilst.
Geht sofort.

Das kannst jetzt da nachlesen.
Bis zum Schluß.
Da wirst Du ggfl. auch sehen, das sich etwas geändert hat - das erkläre ich später :wink:

So nu aber nochmal zurück auf Anfang.
Und damit ist dann hier auch Schluss, da ich gerne wieder im Ursprungsthread weitermachen würde, da es jetzt nur noch um inhaltliche Fragen geht.

Der letzte Eintrag dort befasste sich mit der aktuellen Zeit:

Und mit dem - leider etwas überlaufendem - Inhalt.

Da ich weiss, wie mein Aufbau aussieht und ich das da eben genau abgebrochen habe, würde ich nur wissen wollen, wie Du die RTC auf den Slaves AKTUELL(!) syncronisierst.

Ich hatte mir da schon alles ohne RTC's auf den Slaves zurechtgelegt, aber Dein Blockbild gab ja aus, das da überall eine DS3231 mitlaufen soll.
Die Frage ist: Muss das sein, oder möchtest auf die Hardware verzichten?

Wir sehen uns dann dort wieder...

Hallo xy Projekt,
wenn ich ehrlich bin würde ich nur ungern darauf verzichten wollen. Grund ist das ich die USB serial 0 als Eingang für die Renndaten nutze. Der Mini USB vom UNO lässt sich schlecht in einem 2mm Gehäuseblech verbauen.Ein weiterer Grund das ich die eingehenden Rohdaten ohne viel Schnick schnack an Serial 1 weitergeben kann.

Dort sende ich die aktuelle bzw. neu eingestellte Uhrzeit am Sender als Struct über die NRF´s. Zuvor beim betätigen des Tasters für die Uhrzeit stellen, sende ich ein Steuerwort mit das die empfänger wissen das jetzt ein Uhrzeitstruct kommt.

Nach dem Empfangen des Uhrzeit Struct, schreibe ich diese Daten in die RTC und stelle das Steuerwort zurück so das ich die Renndaten(nur Zeiten) wieder im Renndaten Struct empfangen kann.

Etwar wirr, aber es klappt.... :rofl:

So, könnte jede Anzeige die Uhrzeit anzeigen ohne das der Converter mitlaufen muss.
Das ist der eigentliche Grund.

Hi,
Naja sowas ähnliches hatte ich auch gedacht - daher die Frage.
Im Moment baue ich kein Struct, sondern übermittle ein Feld mit der Größe der UnixTime.
Passt in ein (Daten)Paket. Punkt.
Das wiederhole ich derzeit wenn alle Konvertierungen durch sind und dort ein Idle läuft und zusätzlich wenn abgesichert ist, das mindestens 5x die Werte aus dem aufgespalteten Array versandt wurden.

Im Normalfall also mindestens einmal je Sekunde für alle.

Dann muss ich das nur für die Empfänger noch aufdröseln, das die das in die RTC schreiben.
Na schaun wa ma.

Es wird.

Hab zwar keine Ahnung was UnixTime und ein Idle ist oder macht(da werde ich mal google fragen müssen) Und wenn ich Dich richtig verstanden habe, 5x die Werte versenden?
Okay, was hinterfrage ich. Du bist derjenige Auserwählte :wink: Der den NRF´s das singen beibringen kann.

So, es ist wieder kucheltime mit Frau angesagt.
Wünsch euch noch en entspannten Abend.

Das sind die Sekunden ab einem bestimmten, willkürlich festgelegten Zeitpunkt 1. Januar 1970 (Unixtime). Excel nimmt einen anderen Zeitpunkt und manche zählen die Sekunden seit Jahrtausendwechsel. Aufpassen muß man wegen des Jahr-2038-Problems.

Mit der Unixzeit kann man normal rechnen, also beispielsweise Differenzen bilden.

In diesem Thema hätte ich einfach Stunden, Minuten und ggf. Sekunden übertragen, da mit der Zeit ja nicht gerechnet werden soll. Das wären dann nur drei Bytes. Außerdem dürfte eine RTC zur Synchronisierung genügen, denn während ein paar Sekunden läuft ein Arduino genau genug.

Ich bin gespannt!

Da war mein Einsatz.

Wenn aber der Sender weg ist, dann läuft die TimeLib.

Anscheinend läuft es da nicht so ganz passabel.

Ich sende jetzt genau einen Feldbezeichner mit Inhalt.
Aufgedröselt wird dann auf den Clients.

Das macht Druck .... :clock10:

Nicht von mir :roll_eyes:

Druck, ist in meinen Augen eine Kraft die auf eine Fläche drückt.....
In diesem Fall ist es eine Genialität die nach außen möchte :slight_smile:

Wenn der Sender beim einschalten der Matrix nicht läuft, zeigt die Uhr der Matrix die Unixtime. Richtig?

vielen Dank für die Aufklärung, wenn ich es richtig verstehe, arbeitet millis genau mit dieser Zeit.

Nee,

  1. Unixtime zählt in Sekunden ab 1.1.1970
  2. millis() zählt in Millisekunden ab letztem Reset

Puhh, komme mir irgendwie fehl am Platze vor, Grundlagen = 0
6 setzen. :worried:

Okay verstanden..... nun gibt es ja noch den Timestamp voher kommt da die Zeit?

Von

  1. einer RTC wie DS3231 mit Batteriepufferung, die man gelegendlich (einmal im Jahr) stellen muß.
  2. aus dem WWW von einem Zeitserver, der ESP32 könnte sowas.

Das aktuelle Datum und die Zeit kann man dann in die Unix-Zeit umrechnen, was Du aber m. E. nicht brauchst.

Heißt das man könnte die Unix-Zeit mit einer DS3231 sozusagen bis zur sek. stellen?
Und die 1000´s tel sek. werden ignoriert?

Das wäre wissenswert für mein nächstes Projekt. :slightly_smiling_face:

DS3231 wird mit Datum und Stunden, Minuten und Sekunden gestellt. Von Unix-Zeit weiß der nichts. Man kann diese Zeit dann in Sekunden seit heute 0:00:00 Uhr, seit 1.1.2000 0:00:00 Uhr oder 1.1.1970 0:00:00 Uhr umrechnen.

Sowas kennt DS3231 nicht.

Schreibe mir doch mal eine Nachricht, was Du planst, dann kann ich genauer werden :face_with_monocle: