/* * This sketch sends random data over UDP on a ESP32 device * */ #include #include #define id 4 // WiFi network name and password: const char * networkName = "Musica_para_electroimanes"; const char * networkPswd = "magnetic"; //const char * networkName = "HANGAR_convidats"; //const char * networkPswd = "convidatsHANGAR"; //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.4.255"; //const char * udpAddress = "172.24.7.106"; unsigned int udpPort[7] = { 2345, 2346, 2347, 2348, 2349, 2350, 2351 }; // TO SET SENDING PORT PLAYER //Are we currently connected? boolean connected = false; //The udp library class WiFiUDP udp; void setup(){ // Initilize hardware serial: Serial.begin(2000000); pinMode(13, OUTPUT); digitalWrite(13, LOW); //Connect to the WiFi network connectToWiFi(networkName, networkPswd); } char buffer[2] = "0"; unsigned long time_off = millis(); boolean state = false; void on_solenoide() { //Serial.println("Hola"); time_off = millis(); state = true; digitalWrite(13, HIGH); } void off_solenoide() { //Serial.println("adios"); state = false; digitalWrite(13, LOW); } void loop(){ if (((millis()-time_off)>50)&&(state==true)) off_solenoide(); memset(buffer, 0, 1); udp.parsePacket(); if(udp.read(buffer, 1) > 0){ if (buffer[0]=='1') on_solenoide(); } } 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[id]); connected = true; break; case SYSTEM_EVENT_STA_DISCONNECTED: Serial.println("WiFi lost connection"); connected = false; break; } }