INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Daten mit UDP
14.04.2019, 08:37
Beitrag #1
Daten mit UDP
Hallo,

Ich übertrage Daten (wenige) mit UDP. Das klappt ganz prima. Ich bekomme das Übertragene mit angehängten Wert der Zeichenkettenlänge. Ich möchte die empfangenen Informationen zur Bearbeitung voneinander trennen. Ich kriegs nicht hin. Bestenfalls bekomme ich nach einer Umwandlung in eine Zeichenkette ein angehängte Leerzeichen (Bild). Was tun? Bitte um Hilfe.

Gruß, Anton.


Angehängte Datei(en) Thumbnail(s)
   

Der einzige natürliche Feind des Menschen, ist die Technik.Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.04.2019, 08:51
Beitrag #2
RE: Daten mit UDP
(14.04.2019 08:37)Blende8 schrieb:  Was tun?

Bloß nicht zu viel verraten!

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.04.2019, 08:58 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2019 09:12 von Blende8.)
Beitrag #3
RE: Daten mit UDP
Ist ja gut, ich dachte das reicht als Info.

Ich sende 001 und 4711 vom Server. Der Empfänger (Client) sieht so aus

Code:
AsyncUDP udp;

void setup()
{
netz_setup();
}

void loop()
{

}

/*  NETZ SETUP (Funktion)
*  ---------------------  
*/
void netz_setup()
{
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
      
  if(udp.listen(subnet))
  {
    udp.onPacket([](AsyncUDPPacket packet)
    {
    char test2 = Serial.write(packet.data(), packet.length());
    String stringOne =  String(test2);
    Serial.println(stringOne);
      
    } );
  }
//melder();  
}

/*  BROADCAST (Funktion)
*  ---------------------  
*/
void melder()
{
    //Send broadcast
    //udp.broadcast("hallo?");
}

Gruß, Anton.

genau umgekehrt...
Code:
Ich sende 001 und 4711 vom Server. Der Empfänger (Client) sieht so aus
nicht so.

Der einzige natürliche Feind des Menschen, ist die Technik.Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.04.2019, 10:30 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2019 10:31 von Tommy56.)
Beitrag #4
RE: Daten mit UDP
Du solltest Dir mal die Beschreibung von Serial.write zu Gemüte führen.
Um das unbekannte Zeichen zu erkennen, solltest Du Dir den Puffer als HEX ausgeben. Da Du uns den Sender verheimlichst, kann man nichts dazu sagen.
Ich vermute, dass es 0x3 oder 0x4 ist.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.04.2019, 10:37
Beitrag #5
RE: Daten mit UDP
Zitat:packet.data()
packet.length()

Kannst du doch einzeln ausgeben!

Warum erst zusammenfügen um es dann zu trennen?

Dir ist wohl zwischenzeitlich entgangen das es ein Unterforum für den Esp... gibt, oder machst du UDP auf einem UNO?

Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.04.2019, 10:51 (Dieser Beitrag wurde zuletzt bearbeitet: 14.04.2019 12:52 von Blende8.)
Beitrag #6
RE: Daten mit UDP
Hallo Tommy, hallo Fips,

erst einmal Danke. Verheimlichen will ich nichts. Fips fragt nach Zusammenfügen und Trennen. Das Zusammenfügen von Nachricht und Länge erledigt, so wie ich es verstanden habe das UDP-Protokoll. Ich habe aber keinen Plan über eine Vorgehensweise um die urprüngliche Nachrichten zurückzugewinnen um damit weiterzuarbeiten.

gesendet wird von hier.
Code:
AsyncUDP udp;

void setup()
{
netz_setup();    
}

void loop()
{
}

/*  NETZ SETUP (Funktion)
*  ---------------------  
*/
void netz_setup()
{
  
Serial.begin(115200);
    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);
    if (WiFi.waitForConnectResult() != WL_CONNECTED) {
        Serial.print("WiFi Failed");
        while(1) {
            delay(1000);
        }
    }
    if(udp.connect(IPAddress(192,168,1,100), subnet)) {
        Serial.print("UDP connected");
        udp.onPacket([](AsyncUDPPacket packet)
        {          
            packet.printf("Got %u bytes of data", packet.length());
        });
            udp.broadcastTo("001", 1234);
            udp.broadcastTo("4711", 1234);
    }
}

Gruß, Anton.

Stell ich mich denn so blöd an?

Gruß, Anton.

Der einzige natürliche Feind des Menschen, ist die Technik.Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Daten Rs232 und Funk oetscherbaer1 3 582 25.01.2019 23:04
Letzter Beitrag: oetscherbaer1
  Serielle Daten Windigipet 2018 Software, Arduino Mega 2560 verarbeiten/melden Christian_Moba-Arduino 11 2.127 15.09.2018 09:43
Letzter Beitrag: MicroBahner
  Daten zum Server schicken (SSL?) Gandalf 1 909 03.09.2018 18:13
Letzter Beitrag: Tommy56
  Warten auf Daten BanditBandeh 16 1.963 25.08.2018 14:07
Letzter Beitrag: hotsystems
  Daten vom Arduino Mega an Nextion Diskusguppy 4 2.025 25.02.2018 13:29
Letzter Beitrag: hotsystems
Information DHT 22 Daten per 433 Mhz senden Niklas 5 1.804 10.12.2017 17:15
Letzter Beitrag: hotsystems
Lightbulb Wie kann ich Daten vom Nextion Display auf Arduino Mega2560 senden und benutzen MarkusA 14 5.375 02.11.2017 23:10
Letzter Beitrag: MarkusA
  Daten übergabe ans Nextion Display Franz54 53 10.717 09.10.2017 09:16
Letzter Beitrag: Franz54
  Daten per PHP an MYSQL übergeben ArduM0 4 1.783 09.08.2017 19:52
Letzter Beitrag: Bitklopfer
  Daten von Multicast Adresse empfangen Stromsparer 4 1.294 18.07.2017 12:59
Letzter Beitrag: Stromsparer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste