Difference between revisions of "Arduino: Ethernet UDP Receive Data"
Jump to navigation
Jump to search
Onnowpurbo (talk | contribs) (New page: Sumber: https://www.arduino.cc/en/Reference/EthernetUDPRead Ethernet : UDP.read() Description Reads UDP data from the specified buffer. If no arguments are given, it will return the ne...) |
Onnowpurbo (talk | contribs) (→Code) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
− | Ethernet : UDP.read() | + | ==Ethernet : UDP.read()== |
− | |||
− | + | Baca UDP data dari buffer yang di tentukan. Jika tidak ada argumen yang diberikan, dia akan memberikan karakter selanjutnya yang ada di buffer. | |
− | + | Fungsi ini hanya dapat di panggil secara baik sesudah UDP.parsePacket(). | |
− | |||
− | + | ==Syntax== | |
− | |||
− | |||
− | + | UDP.read(); | |
− | MaxSize | + | UDP.read(packetBuffer, MaxSize); |
− | |||
− | char : returns the characters in the buffer | + | ==Parameter== |
+ | |||
+ | packetBuffer: buffer to hold incoming packets (char) | ||
+ | MaxSize: maximum size of the buffer (int) | ||
+ | |||
+ | ==Returns== | ||
+ | |||
+ | char : returns the characters in the buffer | ||
==Code== | ==Code== | ||
Line 31: | Line 33: | ||
byte mac[] = { | byte mac[] = { | ||
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; | 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; | ||
− | IPAddress ip(192, 168, | + | IPAddress ip(192, 168, 0, 3); |
unsigned int localPort = 8888; // local port to listen on | unsigned int localPort = 8888; // local port to listen on | ||
Line 41: | Line 43: | ||
void setup() { | void setup() { | ||
+ | // Open serial communications and wait for port to open: | ||
+ | Serial.begin(9600); | ||
+ | while (!Serial) { | ||
+ | ; // wait for serial port to connect. Needed for native USB port only | ||
+ | } | ||
// start the Ethernet and UDP: | // start the Ethernet and UDP: | ||
Ethernet.begin(mac,ip); | Ethernet.begin(mac,ip); | ||
Line 73: | Line 80: | ||
} | } | ||
+ | ==Code di sisi laptop / komputer== | ||
+ | |||
+ | Pastikan komputer / laptop tersambung di jaringan. | ||
+ | Pastikan tidak ada kesalahan dalam routing. | ||
+ | Jalankan | ||
+ | nc -u 192.168.0.3 8888 | ||
+ | Tuliskan kata-kata yang ingin kita kirim | ||
==Referensi== | ==Referensi== | ||
* https://www.arduino.cc/en/Reference/EthernetUDPRead | * https://www.arduino.cc/en/Reference/EthernetUDPRead |
Latest revision as of 11:35, 8 December 2015
Sumber: https://www.arduino.cc/en/Reference/EthernetUDPRead
Ethernet : UDP.read()
Baca UDP data dari buffer yang di tentukan. Jika tidak ada argumen yang diberikan, dia akan memberikan karakter selanjutnya yang ada di buffer.
Fungsi ini hanya dapat di panggil secara baik sesudah UDP.parsePacket().
Syntax
UDP.read(); UDP.read(packetBuffer, MaxSize);
Parameter
packetBuffer: buffer to hold incoming packets (char) MaxSize: maximum size of the buffer (int)
Returns
char : returns the characters in the buffer
Code
#include <SPI.h> #include <Ethernet.h> #include <EthernetUdp.h> // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network: byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192, 168, 0, 3); unsigned int localPort = 8888; // local port to listen on // An EthernetUDP instance to let us send and receive packets over UDP EthernetUDP Udp; char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet, void setup() { // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for native USB port only } // start the Ethernet and UDP: Ethernet.begin(mac,ip); Udp.begin(localPort); } void loop() { int packetSize = Udp.parsePacket(); if(packetSize) { Serial.print("Received packet of size "); Serial.println(packetSize); Serial.print("From "); IPAddress remote = Udp.remoteIP(); for (int i =0; i < 4; i++) { Serial.print(remote[i], DEC); if (i < 3) { Serial.print("."); } } Serial.print(", port "); Serial.println(Udp.remotePort()); // read the packet into packetBufffer Udp.read(packetBuffer,UDP_TX_PACKET_MAX_SIZE); Serial.println("Contents:"); Serial.println(packetBuffer); } }
Code di sisi laptop / komputer
Pastikan komputer / laptop tersambung di jaringan. Pastikan tidak ada kesalahan dalam routing. Jalankan
nc -u 192.168.0.3 8888
Tuliskan kata-kata yang ingin kita kirim