ESP_UKI.ino 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*
  2. ESP_UKI
  3. TODO : clean webserver
  4. better function organizing
  5. add firmware number in webserver
  6. rework led system with tickers
  7. send ADC to default IP via udp, allow configuration
  8. */
  9. #include "includes.h" //headers and variables declaration
  10. void setup ( void ) {
  11. EEPROM.begin(512);
  12. Serial.begin(115200);
  13. Serial.println("Starting ES8266");
  14. setupLeds();
  15. setupWifi();
  16. setupWebserver();
  17. setupOTA();
  18. delay(200);
  19. Serial.println("Ready");
  20. Serial.print("IP address: ");
  21. Serial.println(WiFi.localIP());
  22. //UKI sensor setup
  23. UKI_UDP.begin(UKI_UDP_In_Port);
  24. delay(1000);
  25. digitalWrite(Red_Led, HIGH); //red led off
  26. digitalWrite(Blue_Led, HIGH);
  27. delay(1000);
  28. ledBlink(Red_Led, 3, 100); //3 quick blink on red led as we start
  29. delay (1000);
  30. }
  31. void loop ( void ) {
  32. loopWebserver();
  33. loopOTA();
  34. /* UKI part */
  35. GSR_sensor = analogRead(A0);
  36. //UKI_UDP.beginPacketMulticast((224, 1, 2, 3), 8000, WiFi.localIP());//
  37. UKI_UDP.beginPacket(UKI_UDP_Master_IP, 8000);
  38. UKI_UDP.print(config.DeviceName);
  39. UKI_UDP.print(" ");
  40. UKI_UDP.print(GSR_sensor);
  41. UKI_UDP.endPacket();
  42. //yield();
  43. //Red_Led_State = !Red_Led_State;
  44. //analogWrite(Red_Led, GSR_sensor);
  45. delay(20);
  46. //Check udp in
  47. int packetSize = UKI_UDP.parsePacket();
  48. if(packetSize) {
  49. UKI_UDP_Master_IP = UKI_UDP.remoteIP();
  50. UKI_UDP.beginPacket(UKI_UDP_Master_IP, 8000);
  51. UKI_UDP.print("new master ip");
  52. UKI_UDP.endPacket();
  53. }
  54. }