udp.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /* UDP CONFIGURATION */
  2. int UKI_UDP_In_Port = 9000; //udp port input for ESP
  3. //default address and port to send to (IP read from config)
  4. IPAddress UKI_UDP_Out_IP ;
  5. int UKI_UDP_Out_Port = 8000 ;
  6. Ticker tkUKI; // periodic send ADC to UDP
  7. int GSR_sensor;
  8. bool flag_UDP;
  9. int UDP_tick = 50 ; //delay between to udp send
  10. void UDP_flag(){
  11. flag_UDP = true;
  12. }
  13. void UDP_send_receive() {
  14. if (flag_UDP) {
  15. flag_UDP = false;
  16. redLedState (1, 300);
  17. /* UKI part */
  18. GSR_sensor = analogRead(A0);
  19. //UKI_UDP.beginPacketMulticast((224, 1, 2, 3), 8000, WiFi.localIP());//
  20. UKI_UDP.beginPacket(UKI_UDP_Out_IP, UKI_UDP_Out_Port);
  21. UKI_UDP.print(UKI_NAME);
  22. UKI_UDP.print(" ");
  23. UKI_UDP.print(GSR_sensor);
  24. UKI_UDP.endPacket();
  25. //Check udp in
  26. int packetSize = UKI_UDP.parsePacket();
  27. if(packetSize) {
  28. UKI_UDP_Out_IP = UKI_UDP.remoteIP();
  29. UKI_UDP.beginPacket(UKI_UDP_Out_IP, 8000);
  30. UKI_UDP.print("new master ip");
  31. UKI_UDP.endPacket();
  32. }
  33. redLedState (0, 300);
  34. }
  35. }
  36. void setupUDP(){
  37. UKI_UDP_Out_IP.fromString(UKI_UDP_IP);
  38. Serial.print ("sending UDP to ");
  39. Serial.println (UKI_UDP_Out_IP);
  40. UKI_UDP.begin(UKI_UDP_In_Port);
  41. tkUKI.attach_ms(UDP_tick, UDP_flag); //raises flag
  42. }