mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-11-03 23:51:39 +01:00 
			
		
		
		
	
		
			
	
	
		
			76 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
		
		
			
		
	
	
			76 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 *  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;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |