udp.h 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //Ticker tkUKI; // periodic send ADC to UDP
  2. int GSR_sensor;
  3. bool flag_UDP;
  4. int UDP_tick = 50 ; //delay between to udp send
  5. void UDP_flag(){
  6. flag_UDP = true;
  7. }
  8. void UDP_send_receive() {
  9. if (flag_UDP) {
  10. flag_UDP = false;
  11. redLedState (1, 300);
  12. /* UKI part */
  13. GSR_sensor = analogRead(A0);
  14. IPAddress ipMulti(239, 0, 0, 57);
  15. UDP.beginPacketMulticast( ipMulti, 12345, WiFi.localIP() );//
  16. //UDP.beginPacket(UDP_Out_IP, UDP_Out_Port);
  17. UDP.print(ESP_NAME);
  18. UDP.print(" ");
  19. UDP.print(GSR_sensor);
  20. UDP.endPacket();
  21. //Check udp in
  22. int packetSize = UDP.parsePacket();
  23. if(packetSize) {
  24. UDP_Out_IP = UDP.remoteIP();
  25. UDP.beginPacket(UDP_Out_IP, 8000);
  26. UDP.print("new master ip");
  27. UDP.endPacket();
  28. }
  29. redLedState (0, 300);
  30. }
  31. }
  32. void setupUDP(){
  33. UDP_Out_IP.fromString(UDP_IP);
  34. Serial.print ("sending UDP to ");
  35. Serial.println (UDP_Out_IP);
  36. UDP.begin(UDP_In_Port);
  37. //tkUKI.attach_ms(UDP_tick, UDP_flag); //raises flag
  38. }