Paar vragen over Ethernet

Arduino specifieke Software
Berichten: 79
Geregistreerd: 07 Dec 2012, 10:27
Woonplaats: Paesens (Frl)

Paar vragen over Ethernet

Berichtdoor paysan » 10 Apr 2013, 10:25

Ik heb een paar vragen over het programmeren rond the EthernetUdp library.

Ik heb de voorbeelden die in de reference staan op gepakt en snap een paar dingen niet.


Eerst de Udp.write



void setup() {
// start the Ethernet and UDP:
Ethernet.begin(mac,ip);
Udp.begin(localPort);
}

void loop() {
Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
Udp.write("hello");
Udp.endPacket();
}

Ik zie nergens hoe in de loop het remoteIP en remotePort wordt ingevuld.
Kan ik gewoon een array van 4 bytes aanmaken en daar de waarden van het remote IP adres in zetten?
En een int voor het poort nummer?

btw, ik heb het reeds gedaan maar het werkt niet.

----------------------

Bij de Udp.read heb ik ook een onduidelijkheid.

int packetSize = Udp.parsePacket();
if(packetSize)
{
Serial.print("Received packet of size ");
Serial.println(packetSize);
Serial.print("From ");
IPAddress remote = Udp.remoteIP();

Hoe werkt de laatste regel.
Ik snap wel dat in de variable remote de de string van het remote IP adres komt maar wat doet het eerste woord IPAddress ?

Advertisement

Gebruikers-avatar
Berichten: 229
Geregistreerd: 20 Jan 2013, 12:01

Re: Paar vragen over Ethernet

Berichtdoor astrofrostbyte » 10 Apr 2013, 18:29

Udp.write
Je hebt hier volkomen gelijk, die Udp.remoteIP(), en Udp.remotePort() vallen een beetje uit de lucht, maar deze functies zijn eigenlijk om de info uit een net ontvangen frame te halen, het stukje voorbeeld code is dus wat je vaak ziet als je antwoord geeft op een vraag die net binnen gekomen is.

kijk eens op de volgende pagina http://arduino.cc/en/Reference/Ethernet
http://arduino.cc/en/Reference/EthernetUDPRemoteIP
- UDP.remoteIP() // This function must be called after UDP.parsePacket().

Kijk eens naar het NetworkTime voorbeeld, hier is namelijk de arduino die de communicatie initieerd
http://arduino.cc/en/Tutorial/UdpNtpClient in de functie sendNTPpacket() helemaal onderaan
en hier zie je wel dat er een IP en port worden aangemaakt.

Code: Alles selecteren
void setup()
{  Ethernet.begin(mac,ip);// start the Ethernet and UDP:
   Udp.begin(localPort);
}

void loop()
{  IPAddress targetIP(132, 163, 14, 101); 
   Udp.beginPacket( targetIP , 1234 );
   Udp.write("hello");
   Udp.endPacket();
}




Udp.read

http://arduino.cc/en/Reference/EthernetIPAddress

IPAddress is blijkbaar een class/object en maakt het iets makkelijker om met IP addressen te werken.
Het valt wel op dat in veel arduino voorbeelden dit niet altijd gebruikt wordt.
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate

Berichten: 79
Geregistreerd: 07 Dec 2012, 10:27
Woonplaats: Paesens (Frl)

Re: Paar vragen over Ethernet

Berichtdoor paysan » 10 Apr 2013, 21:44

Ok, bedankt het werkt nu!!!

Gebruikers-avatar
Berichten: 229
Geregistreerd: 20 Jan 2013, 12:01

Re: Paar vragen over Ethernet

Berichtdoor astrofrostbyte » 13 Apr 2013, 07:31

mooi, ik heb het ook nog even proberen door te geven aan arduino.cc dat de webpage onvolledig is
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate

Berichten: 79
Geregistreerd: 07 Dec 2012, 10:27
Woonplaats: Paesens (Frl)

Re: Paar vragen over Ethernet

Berichtdoor paysan » 13 Apr 2013, 09:50

Goed zo!!
Dank voor alles.

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: okuwuhuaozaqa, RussellAlets en 23 gasten