Difference between revisions of "Arduino: Ethernet UDP Receive Data"

From OnnoWiki
Jump to navigation Jump to search
(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...)
 
Line 3: Line 3:
  
  
Ethernet : UDP.read()
+
==Ethernet : UDP.read()==
Description
 
  
Reads UDP data from the specified buffer. If no arguments are given, it will return the next character in the buffer.
+
Baca UDP data dari buffer yang di tentukan. Jika tidak ada argumen yang diberikan, dia akan memberikan karakter selanjutnya yang ada di buffer.
  
This function can only be successfully called after UDP.parsePacket().
+
Fungsi ini hanya dapat di panggil secara baik sesudah UDP.parsePacket().
Syntax
 
  
UDP.read();
+
==Syntax==
UDP.read(packetBuffer, MaxSize);
 
Parameters
 
  
packetBuffer: buffer to hold incoming packets (char)
+
UDP.read();
MaxSize: maximum size of the buffer (int)
+
UDP.read(packetBuffer, MaxSize);
Returns
 
  
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, 1, 177);
+
  IPAddress ip(192, 168, 0, 3);
 
   
 
   
 
  unsigned int localPort = 8888;      // local port to listen on
 
  unsigned int localPort = 8888;      // local port to listen on

Revision as of 11:29, 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() {
  // 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);
  }
}



Referensi