Hello,
This is my first time with wireless networking so I'm sure I'm doing something dumb, but I have been banging my head against the wall all week and can't seem to get this up and running.
I am doing a project for someone who needs to use the ESP32 Thing to have a sensor (measures wind velocity) to communicate via OSC to a program called Touch Designer. I got the sensor up and running no problem, and I can run the example wifi sketches (turn the light on and off with browser etc), but when it came to communicating via UDP to the OSClistener, it just...doesn't do it.
So I tried communicating via UDP alone - I downloaded UDP sender/receiver and ran the WiFi UDP client example:
/*
* 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 = "asdfasdfas";
const char * networkPswd = "asdfadsfasdf";
//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.1.100";
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;
}
}
Serial shows I am connecting to WiFi but when I open the UDP receiver, it says it's listening but I don't see the "seconds since boot" message.
ANY advice would be so so appreciated.