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
UDP send oder print ??? Ich kapiers nicht
02.09.2019, 18:10
Beitrag #1
UDP send oder print ??? Ich kapiers nicht
Hallo,
ich muss feststellen, dass selbständiges Lernen der Programmiersprache nicht wirklich mein Ding ist, aber trotzdem versuch ich soviel wie möglich aus Beispielen abzuleiten.
Nun häng ich aber total beim Thema UDP-Senden an meinen Miniserver.
Ich versteh nicht wirklich, was der Unterschied zwischen sendUDP und Udp.print ist.
Als Beispiel hab ich folgenden Ausschnitt aus dem Beispielsketch:
Wobei ich natürlich dazusagen muss, dass ich weiß, dass vorab die Variablen "distanz" und "ultraschall" angelegt wurden.

dtostrf(distanz, 4, 1, ultraschall);
sendUDP(ultraschall); //Messung an MS senden

void sendUDP(String text)
{
Udp.beginPacket(MSIP, MSPORT);
Udp.print("ZistDist=");
Udp.print(text);
Udp.endPacket(); }

mit dtostrf bereite ich die Variable "distanz" zum UDP-Versand vor und leg Sie unter der Variable "ultraschall" ab. (verzeiht mir bitte falsche Wortwahl, so hab ichs einfach verstanden).
Mit sendUDP schick ich dann das was in "ultraschall" hinterlegt ist an meinen Miniserver.
Aber was ist jetzt der Unterschied zu Udp.print, denn wenn ichs im Miniserver richtig gesehen hab, schick ich zuerst den echten Text "ZistDist=" und dann etwas, was mit (text) bezeichnet wird. Dabei versteh ich zunächst nicht, was dann eigentlich vorher sendUDP wirklich macht und woher der inhalt von (text) kommt. Das muss ja irgendwas mit der Zeilte
void sendUDP(String text)
zu tun haben - oder? Leider hat mich Dr.Google da nicht weitergebracht.
Wär echt super, wenn mir jemand "in leichter Sprache" erklären könnte, was ich da mache, damit ich auch selber weiterentwickeln kann, wenn ich mal mehr über UDP senden möchte. Da muss ich ja auch irgendwie verschiedene Parameter/Werte in den UDP-String reinpacken können.
Viele Grüße
Harry
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.09.2019, 18:32 (Dieser Beitrag wurde zuletzt bearbeitet: 02.09.2019 18:38 von Tommy56.)
Beitrag #2
RE: UDP send oder print ??? Ich kapiers nicht
sendUDP ist eine (von irgend jemanden geschriebene) Funktion, die Udp.print zur Ausgabe benutzt und einen Text davor stellt.
Der Code ist optimierwürdig.

Gruß Tommy

Edit für späteres: UDP ist eigentlich besser für die Übertragung von Binärdaten geeignet. Da wäre dann Udp.write(Adresse, länge) das Mittel der Wahl.
Beispiel #32

Wenn Du den Overhead der Textübertragung in Kauf nimmst, kannst Du auch gleich TCP machen.

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
02.09.2019, 19:56
Beitrag #3
RE: UDP send oder print ??? Ich kapiers nicht
Hallo Tommy,
erstmal vielen Dank für die schnelle Antwort.
Was meinst Du mit verbesserungswürdig? Das Beispiel ist nur ein kleiner Ausschnitt, ich wollte nur kurz darstellen, was ich meine.
Aber wenn, dann bin ich für jeden Hinweis dankbar. Umso mehr Input, umso eher versteh ichs vielleicht, bzw. lerne noch andere Alternativen.

Der Sketch stammt von hier: https://www.loxforum.com/forum/faqs-tuto...miniserver

Wenn ich es richtig verstehen, ist die Zeile
sendUDP(ultraschall)
dann nur wieder eine Benennung der Variable "sendUDP"?
Bei folgender Zeile:
void sendUDP(String text)
ist dann "sendUDP" der Name von void, aber was bedeutet (String text)? Wobei das Wort "String" hellblau ist (Arduino IDE) und das Wort "text" schwarz.
Das Wort "text" kommt ja dann wieder in der Zeilte:
Udp.print(text);
Ist dieses "text" dann bezogen auf das vorhergehende text bei String?
Genau da erschließt sich mir der Zusammenhang nicht, weil ich nicht weiß, was das String (hellblau geschrieben) bedeutet.
Andere Übertragungsmöglichkeiten will ich ehrlich gesagt aktuell nicht ausprobieren. Ich bin schon froh, dass ich mit diesem Sketch soweit zurechtkomme und auch mein Miniserver das "frißt". Ich glaub TCP könnte er ggf. auch, da kenn ich mich aber gar nicht aus.


Gruß
Harry
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.09.2019, 20:33
Beitrag #4
RE: UDP send oder print ??? Ich kapiers nicht
Lass die Farben außen vor, die verwirren nur.

sendUDP ist keine Variable, sondern eine Funktion.

text ist in der Funktion sendUDP der Funktionsparameter vom Typ String.
Der wird da rein gereicht und da drin verwendet.
Wenn Du das genauer wissen willst, musst Du Dir die Grundlagen zu Funktionen anschauen.

Ich glaube, Du solltest mal ein paar Grundlagen lernen, damit Du Sketche besser verstehst.

Kennst Du schon das deutsche Arduino-Tutorial hier im Forum?

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
03.09.2019, 06:57
Beitrag #5
RE: UDP send oder print ??? Ich kapiers nicht
Hallo Tommy,
das kannte ich tatsächlich noch nicht.
Aber ich muss sagen, das ist genau für solche Typen wie mich geschrieben.
Englisch - ist halt eine Fremdsprache und hat man früher auch nicht so wirklich richtig gelernt -> musst wissen, ich hab schon ein paar Jahrzehnte auf dem Buckel
Adruino - ich fang erst an -> bin durch Zufall drauf gestoßen und begeistert von den Möglichkeiten mit geringem finanziellen Einsatz
Ich bin geradezu überwältigt.
Vielen Dank für den Tip, jetzt hab ich erstmal einiges zu lesen/verstehen/verarbeiten
Ich denke, so schnell werde ich nicht wieder was fragen, auch wenn UDP-Kommunikation jetzt nicht direkt enthalten ist (hab ich zumindest auf den ersten Überflug nicht gesehen).
Merci
Harry
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
03.09.2019, 13:06
Beitrag #6
RE: UDP send oder print ??? Ich kapiers nicht
Du kannst ruhig weiter fragen. Je konkreter die Frage, umso besser kann die Antwort ausfallen.

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Empfänger funktioniert nicht mehr jgrothe 5 216 06.09.2019 18:57
Letzter Beitrag: Tommy56
  myport nicht gefunden? - Arduino und Visual Studio Stagneth.Alexander 4 335 04.09.2019 14:16
Letzter Beitrag: Stagneth.Alexander
Wink Solar Roboter- Servo dreht nach Stopp nicht weiter Stagneth.Alexander 37 2.040 20.08.2019 14:15
Letzter Beitrag: geist4711
  Atmega 328 Sketchl läuft auf UNO3, alleine auf Breadboard nicht delay 9 667 02.08.2019 15:03
Letzter Beitrag: hotsystems
  Reaktionsspiel funktioniert nicht, wie es sollte... Stagneth.Alexander 27 1.307 21.07.2019 07:57
Letzter Beitrag: Stagneth.Alexander
Question Programm läuft nicht richtig CMeeep 22 1.554 04.07.2019 21:58
Letzter Beitrag: Franz54
  2 Sketche zusammenführen - korrelieren nicht Nicolai 11 1.154 24.05.2019 11:04
Letzter Beitrag: Nicolai
  Bedingung wird nicht wiederholt ausgeführt Lite 16 1.438 29.03.2019 05:11
Letzter Beitrag: Lite
  Gelöst ==> Arduino Nano, Kommunikation mit PC bringt nicht korrekten ASCII moehrle 4 757 02.03.2019 22:04
Letzter Beitrag: hotsystems
  Typecasting oder nicht? Batucada 1 552 19.02.2019 18:51
Letzter Beitrag: Tommy56

Gehe zu:


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