forked from espressif/arduino-esp32
Added a basic WiFi UDP client example (#114)
* Added a basic WiFi UDP client example: a sketch that sends random bytes over udp. * Updated udp example and included Python and Ruby UDP servers.
This commit is contained in:
75
libraries/WiFi/examples/WiFiUDPClient/WiFiUDPClient.ino
Normal file
75
libraries/WiFi/examples/WiFiUDPClient/WiFiUDPClient.ino
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
* This sketch sends random data over UDP on a ESP32 device
|
||||
*
|
||||
*/
|
||||
#include <WiFi.h>
|
||||
#include <WiFiUdp.h>
|
||||
|
||||
// WiFi network name and password:
|
||||
const char * networkName = "your-ssid";
|
||||
const char * networkPswd = "your-password";
|
||||
|
||||
//IP address to send UDP data to:
|
||||
// either use the ip address of the server or
|
||||
// a network broadcast address
|
||||
const char * udpAddress = "192.168.0.255";
|
||||
const int udpPort = 3333;
|
||||
|
||||
//Are we currently connected?
|
||||
boolean connected = false;
|
||||
|
||||
//The udp library class
|
||||
WiFiUDP udp;
|
||||
|
||||
void setup(){
|
||||
// Initilize hardware serial:
|
||||
Serial.begin(115200);
|
||||
|
||||
//Connect to the WiFi network
|
||||
connectToWiFi(networkName, networkPswd);
|
||||
}
|
||||
|
||||
void loop(){
|
||||
//only send data when connected
|
||||
if(connected){
|
||||
//Send a packet
|
||||
udp.beginPacket(udpAddress,udpPort);
|
||||
udp.printf("Seconds since boot: %u", millis()/1000);
|
||||
udp.endPacket();
|
||||
}
|
||||
//Wait for 1 second
|
||||
delay(1000);
|
||||
}
|
||||
|
||||
void connectToWiFi(const char * ssid, const char * pwd){
|
||||
Serial.println("Connecting to WiFi network: " + String(ssid));
|
||||
|
||||
// delete old config
|
||||
WiFi.disconnect(true);
|
||||
//register event handler
|
||||
WiFi.onEvent(WiFiEvent);
|
||||
|
||||
//Initiate connection
|
||||
WiFi.begin(ssid, pwd);
|
||||
|
||||
Serial.println("Waiting for WIFI connection...");
|
||||
}
|
||||
|
||||
//wifi event handler
|
||||
void WiFiEvent(WiFiEvent_t event){
|
||||
switch(event) {
|
||||
case SYSTEM_EVENT_STA_GOT_IP:
|
||||
//When connected set
|
||||
Serial.print("WiFi connected! IP address: ");
|
||||
Serial.println(WiFi.localIP());
|
||||
//initializes the UDP state
|
||||
//This initializes the transfer buffer
|
||||
udp.begin(WiFi.localIP(),udpPort);
|
||||
connected = true;
|
||||
break;
|
||||
case SYSTEM_EVENT_STA_DISCONNECTED:
|
||||
Serial.println("WiFi lost connection");
|
||||
connected = false;
|
||||
break;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user