WiFiUDP Class

WiFiUDP Class

Description
Defines a class of WiFi UDP implementation for Ameba.

Syntax
class WiFiUDP

Members

Public Constructors 
WiFiUDP::WiFiUDPConstructs a WiFiUDP instance of the WiFi UDP class that can send and receive UDP messages
Public Methods 
WiFiUDP:: begininitialize, start listening on the specified port. Returns 1 if successful, 0 if there are no sockets available to use
WiFiUDP:: stopFinish with the UDP socket
WiFiUDP:: beginPacketStart building up a packet to send to the remote host-specific in IP and port
WiFiUDP:: endPacketFinish off this packet and send it
WiFiUDP:: writeWrite a single byte into the packet
WiFiUDP:: writeImmediatelySend packet immediately from the buffer
WiFiUDP:: parsePacketStart processing the next available incoming packet
WiFiUDP::availableNumber of bytes remaining in the current packet
WiFiUDP::readRead a single byte from the current packet
WiFiUDP:: peekReturn the next byte from the current packet without moving on to the next byte
WiFiUDP:: flushFinish reading the current packet
WiFiUDP:: remoteIPReturn the IP address of the host who sent the current incoming packet
WiFiUDP:: remotePortReturn the port of the host who sent the current incoming packet
WiFiUDP:: setRecvTimeoutSet receiving timeout

WiFiUDP::WiFiUDP

Description
Constructs a WiFiUDP instance of the WiFi UDP class that can send and receive UDP messages.

Syntax
WiFiUDP::WiFiUDP(void)

Parameters
The function requires no input parameter.

Returns
The function returns nothing.

Example Code
Example: WiFiUdpSendReceiveString
This example demonstrates WiFi UDP send and receive string. This sketch waits for a UDP packet on a local port using a WiFi shield. When a packet is received an Acknowledge packet is sent to the client on port remotePort.

#include <WiFi.h>   
#include <WiFiUdp.h>  
  
int status = WL_IDLE_STATUS;  
char ssid[] = "yourNetwork"; //  your network SSID (name)  
char pass[] = "secretPassword";    // your network password (use for WPA, or use as key for WEP)  
int keyIndex = 0;            // your network key Index number (needed only for WEP)  
  
unsigned int localPort = 2390;      // local port to listen on  
  
char packetBuffer[255]; //buffer to hold incoming packet  
char  ReplyBuffer[] = "acknowledged";       // a string to send back  
  
WiFiUDP Udp;  
  
void setup() {  
  //Initialize serial and wait for port to open:  
  Serial.begin(9600);  
  while (!Serial) {  
    ; // wait for serial port to connect. Needed for native USB port only  
  }  
  
  // check for the presence of the shield:  
  if (WiFi.status() == WL_NO_SHIELD) {  
    Serial.println("WiFi shield not present");  
    // don't continue:  
    while (true);  
  }  
  
  String fv = WiFi.firmwareVersion();  
  if (fv != "1.1.0") {  
    Serial.println("Please upgrade the firmware");  
  }  
  
  // attempt to connect to Wifi network:  
  while (status != WL_CONNECTED) {  
    Serial.print("Attempting to connect to SSID: ");  
    Serial.println(ssid);  
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:  
    status = WiFi.begin(ssid,pass);  
  
    // wait 10 seconds for connection:  
    delay(10000);  
  }  
  Serial.println("Connected to wifi");  
  printWifiStatus();  
  
  Serial.println("\nStarting connection to server...");  
  // if you get a connection, report back via serial:  
  Udp.begin(localPort);  
}  
  
void loop() {  
  
  // if there's data available, read a packet  
  int packetSize = Udp.parsePacket();  
  if (packetSize) {  
    Serial.print("Received packet of size ");  
    Serial.println(packetSize);  
    Serial.print("From ");  
    IPAddress remoteIp = Udp.remoteIP();  
    Serial.print(remoteIp);  
    Serial.print(", port ");  
    Serial.println(Udp.remotePort());  
  
    // read the packet into packetBufffer  
    int len = Udp.read(packetBuffer, 255);  
    if (len > 0) {  
      packetBuffer[len] = 0;  
    }  
    Serial.println("Contents:");  
    Serial.println(packetBuffer);  
  
    // send a reply, to the IP address and port that sent us the packet we received  
    Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());  
    Udp.write(ReplyBuffer);  
    Udp.endPacket();  
  }  
}  
  
  
void printWifiStatus() {  
  // print the SSID of the network you're attached to:  
  Serial.print("SSID: ");  
  Serial.println(WiFi.SSID());  
  
  // print your WiFi shield's IP address:  
  IPAddress ip = WiFi.localIP();  
  Serial.print("IP Address: ");  
  Serial.println(ip);  
  
  // print the received signal strength:  
  long rssi = WiFi.RSSI();  
  Serial.print("signal strength (RSSI):");  
  Serial.print(rssi);  
  Serial.println(" dBm");  
}  

Notes and Warnings
This constructor does not take in any parameter, thus use another method to set up the IP address and port number.
 

WiFiUDP::begin

Description
Initialize, start listening on the specified port. Returns 1 if successful, 0 if there are no sockets available to use.

Syntax
uint8_t WiFiUDP::begin(uint16_t port)

Parameters
port: the local port to listen on

Returns
1: if successful
0: if there are no sockets available to use

Example Code
Example: WiFiUdpSendReceiveString
This example demonstrates WiFi UDP send and receive string. This sketch waits for a UDP packet on a local port using a WiFi shield. When a packet is received an Acknowledge packet is sent to the client on port remotePort. The detail of the code can be found in WiFiUDP:: WiFiUDP.

Notes and Warnings
NA
 

WiFiUDP::stop

Description
Disconnect from the server. Release any resource being used during the UDP session.

Syntax
void WiFiUDP::stop(void)

Parameters
The function requires no input parameter.

Returns
The function returns nothing.

Example Code
NA

Notes and Warnings
NA
 

WiFiUDP::beginPacket

Description
Start building up a packet to send to the remote host-specific in IP and port.

Syntax
int WiFiUDP::beginPacket(const char *host, uint16_t port)
int WiFiUDP::beginPacket(IPAddress ip, uint16_t port)

Parameters
host: hostname
port: port number
ip: IP address

Returns
1: if successful
0: if there was a problem with the supplied IP address or port

Example Code
Example: WiFiUdpSendReceiveString
This example demonstrates WiFi UDP send and receive string. This sketch waits for a UDP packet on a local port using a WiFi shield. When a packet is received an Acknowledge packet is sent to the client on port remotePort. The detail of the code can be found in WiFiUDP:: WiFiUDP.

Notes and Warnings
NA
 

WiFiUDP::endPacket

Description
Finish off this packet and send it

Syntax
int WiFiUDP::endPacket(void)

Parameters
The function requires no input parameter.

Returns
1: if the packet was sent successfully
0: if there was an error

Example Code
Example: WiFiUdpSendReceiveString
This example demonstrates WiFi UDP send and receive string. This sketch waits for a UDP packet on a local port using a WiFi shield. When a packet is received an Acknowledge packet is sent to the client on port remotePort. The detail of the code can be found in WiFiUDP:: WiFiUDP.

Notes and Warnings
NA
 

WiFiUDP::write

Description
Write a single byte into the packet.

Syntax
size_t WiFiUDP::write(uint8_t byte)
size_t WiFiUDP::write(const uint8_t *buffer, size_t size)

Parameters
byte: the outgoing byte
buffer: the outgoing message
size: the size of the buffer

Returns
single-byte into the packet
bytes size from the buffer into the packet

Example Code
Example: WiFiUdpSendReceiveString
This example demonstrates WiFi UDP send and receive string. This sketch waits for a UDP packet on a local port using a WiFi shield. When a packet is received an Acknowledge packet is sent to the client on port remotePort. The detail of the code can be found in WiFiUDP:: WiFiUDP.

Notes and Warnings
NA
 

WiFiUDP::writeImmediately

Description
Send packet immediately from the buffer

Syntax
size_t WiFiUDP::writeImmediately(const uint8_t *buffer, size_t size)

Parameters
buffer: the outgoing message
size: the size of the buffer

Returns
single-byte into the packet
bytes size from the buffer into the packet

Example Code
NA

Notes and Warnings
NA
 

WiFiUDP::parsePacket

Description
Start processing the next available incoming packet

Syntax
int WiFiUDP::parsePacket(void)

Parameters
The function requires no input parameter.

Returns
The function returns the size of the packet in bytes or returns “0:” if no packets are available.

Example Code
Example: WiFiUdpSendReceiveString

Notes and Warnings
NA
 

WiFiUDP::available

Description
Number of bytes remaining in the current packet.

Syntax
int WiFiUDP::available(void)

Parameters
The function requires no input parameter.

Returns
the number of bytes available in the current packet
0: if parsePacket hasn’t been called yet

Example Code
NA

Notes and Warnings
NA
 

WiFiUDP::read

Description
Read a single byte from the current packet

Syntax
int WiFiUDP::read()
int WiFiUDP::read(unsigned char* buffer, size_t len)

Parameters
buffer: buffer to hold incoming packets (char*)
len: maximum size of the buffer (int)

Returns
size: the size of the buffer
-1: if no buffer is available

Example Code
Example: WiFiUdpSendReceiveString
his example demonstrates WiFi UDP send and receive string. This sketch waits for a UDP packet on a local port using a WiFi shield. When a packet is received an Acknowledge packet is sent to the client on port remotePort. The detail of the code can be found in WiFiUDP:: WiFiUDP.

Notes and Warnings
NA
 

WiFiUDP::peek

Description
Return the next byte from the current packet without moving on to the next byte

Syntax
int WiFiUDP::peek(void)

Parameters
The function requires no input parameter.

Returns
b: the next byte or character
-1: if none is available

Example Code
NA

Notes and Warnings
NA
 

WiFiUDP::flush

Description
Finish reading the current packet

Syntax
void WiFiUDP::flush(void)

Parameters
The function requires no input parameter.

Returns
The function returns nothing.

Example Code
NA

Notes and Warnings
NA
 

WiFiUDP::remoteIP

Description
Return the IP address of the host who sent the current incoming packet

Syntax
IPAddress WiFiUDP::remoteIP(void)

Parameters
The function requires no input parameter.

Returns
IP address connecting to

Example Code
Example: WiFiUdpSendReceiveString
This example demonstrates WiFi UDP send and receive string. This sketch waits for a UDP packet on a local port using a WiFi shield. When a packet is received an Acknowledge packet is sent to the client on port remotePort. The detail of the code can be found in WiFiUDP:: WiFiUDP.

Notes and Warnings
NA
 

WiFiUDP::remotePort

Description
Return the port of the host who sent the current incoming packet

Syntax
uint16_t WiFiUDP::remotePort(void)

Parameters
The function requires no input parameter.

Returns
The remote port connecting to

Example Code
Example: WiFiUdpSendReceiveString
This example demonstrates WiFi UDP send and receive string. This sketch waits for a UDP packet on a local port using a WiFi shield. When a packet is received an Acknowledge packet is sent to the client on port remotePort. The detail of the code can be found in WiFiUDP:: WiFiUDP.

Notes and Warnings
NA
 

WiFiUDP::setRecvTimeout

Description
Set receiving timeout

Syntax
void WiFiUDP::setRecvTimeout(int timeout)

Parameters
timeout in seconds

Returns
The function returns nothing.

Example Code
NA

Notes and Warnings
NA
 

請先確認已安裝QQ通訊軟體