Lab_interaccio/2019/Paonessa/Paonessa_receive/Paonessa_receive.ino

103 lines
2.4 KiB
Arduino
Raw Normal View History

2025-02-25 21:29:42 +01:00
/*
* This sketch sends random data over UDP on a ESP32 device
*
*/
#include <WiFi.h>
#include <WiFiUdp.h>
#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;
}
}