Daten von Arduino zu Arduino über LAN

Hallo zusammen,

ich lese mit einem UNO ein Energy Meter ( SDM 630 ) aus und schicke die Messwerte an ein NAS zur weiteren verarbeitung ( RRD Datenbank, Website). Der UNO ist als Client konfiguriert. Es handelt sich um einen Arduino UNO WiFi Rev 2. Die Messwerte werden über HTML versendet und mit einem php Script auf der NAS entprechend gespeichert. Dieses funktioniert problemlos.

Nun möchte ich zusätzlich die Messwerte von diesem Arduino an einen zweiten senden um dort die aktuellen Werte zeitnah auf einem LCD darstellen.

Könnte mir jemand auf die Sprünge helfen wie ich das realisieren könnte. Server/ Client oder so ? Ich steh da völlig auf dem Schlauch wie ich die Daten vom ersten an den zweiten Arduino bekomme.

Ich brauch erstmal keinen Sketch, nur eine Idee. Alles weitere versuch ich dann erstmal selbst zu gestalten.

vilen Dank im vorraus

Hallo,

könnte Serielle Kommunikation über Rx/Tx/GND eine Lösung sein?

Alternativ ein Umweg vom Client über den NAS zum nächten Client?

Das wären so meine ersten Schnellschüsse...

Viele Grüße Jörg Pauly

Hallo,

wenn beide am gleichen Netzwerk hängen könnten man UDP oder auch TCP nehmen.

Beispiel dazu in der IDE

Heinz

@ joergpauly

RX/TX bräuchte ich eine Kabelverbindung bzw. 433 Mhz da langt die Reichweite nicht. Client über NAS an Client ist der zeitfaktor zu hoch, ich bräuchte die Werte auf dem LCD zeitnah.

@Rentner

TCP/UDP schau ich mir mal an.

Die beide UNO´s sind befinden sich in einem Netzwerk der erste per WiFi der zweite LAN.

Danke

Siggi63:
Könnte mir jemand auf die Sprünge helfen wie ich das realisieren könnte.
Server/ Client oder so ?
Ich steh da völlig auf dem Schlauch wie ich die Daten vom ersten an den zweiten Arduino bekomme.

Wenn du heute das tust:

(UNO webclient) -->http–>(NAS webserver mit PHP)

Was hindert dich, ähnliches mit einem anderen Ziel zu machen?

(UNO webclient) -->http -->(UNO2 webserver)

Also auf dem UNO2 einen webserver zu installieren?

Würde ich per udp lösen. In den Beispielen der IDE ist dein Fall dabei. Udp Paketauswertung geht im Prinzip wie Auswertung von seriellen Eingaben.

Hallo,

ich kämpfe gerade miz UDP, scheint mir die beste Lösung zu sein.

Danke

Hallo,

nach vielen Versuchen habe ich eine Datenübertragen über UDP hinbekommen. Ich habe da aber noch ein Problem bei dem ich nicht weiterkomme. Ich sende 3 Messwerte nacheinander über UDP.

 Udp.beginPacket(RecipientIP, RecipientPort);
     Udp.print(strom);
     Udp.endPacket();
     delay(100); 

     Udp.beginPacket(RecipientIP, RecipientPort);
     Udp.print(spannung);
     Udp.endPacket();
     delay(100);   

     Udp.beginPacket(RecipientIP, RecipientPort);
     Udp.print(leistung);
     Udp.endPacket();
     delay(100);

Am Empfänger kommen die Daten beim auslesen mit

int packetSize = Udp.parsePacket();
  if(packetSize)
  {
     Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE);
      
    Serial.println(packetBuffer);

im Serial Monitor auch schön Zeile für Zeile an. Beim LCD geht das nicht.

Nun möchte ich das ganze auf einem LCD darstellen und zwar Zeile für Zeile. Soll heißen: Messwert 1 Zeile 1 Messwert 2 Zeile 2 Messwert 3 Zeile 3

Wenn ich die Messwerte in nur einem UDP Packet sende, wie trenne ich die Werte um sie einzeln anzuzeigen.

Kleiner Tipp in die richtige Richtung währe schön

Danke

Die Messwerte in einem Packet getrennt durch ein "Sonderzeichen" versenden und dann am Reiceiver trennen Richtig ?

Aber wie ?

Kleiner Tipp dazu ?

strtok

Danke

Hallo,

das Thema gabs gerade vor ein paar Tagen

link

Heinz

@noiasca

klappt mit srtok super

@Renter

danke für den Tipp

vielen Dank an alle nu läufst so wie ich wollte

sehr gut. Danke für die Rückmeldung. Hab' mir schon sorgen gemacht, du verzweifelst am UDP ... ^^