Advertisement
Krzyspx

Programowanie zdarzeń w EVENTORze BLYNK

Jun 3rd, 2017
492
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.37 KB | None | 0 0
  1. /*************************************************************
  2.   TEST EVENTOR versja 2 programowanie funkcji w aplikacji BLYNK w telefonie
  3.  *************************************************************/
  4.  
  5. #define BLYNK_PRINT Serial
  6. #include <ESP8266WiFi.h>
  7. #include <BlynkSimpleEsp8266.h>
  8.  
  9. char auth[] = "11111111111111111111111111111111";
  10. char ssid[] = "oooooooooooooooooooo";
  11. char pass[] = "ppppppppp";
  12.  
  13. #include <Timers.h> //
  14. Timers <4> akcja; // 4  wątki\
  15.  
  16. WidgetLED led1(V1); // vLED wskażnik połącznia z arduino - miga co 1 sek jeśli jest połączenie
  17.  
  18. #define led_bialy 12 //  led jak odbiornik 1
  19. #define led_blue  14  //  odbiornik 2
  20. #define led_esp   2 //   odbiornik 3
  21.  
  22. #define przyc1 4 //przycisk 1
  23. #define przyc2 5
  24. #define przyc3 13
  25.  
  26. int opoznienie = 10; //czas załączenia odbiornika w sek
  27.  
  28. bool startlicz = 0; //zmienna licznika załączenia - start/stop
  29. int licz = 0;       //zmienna licznika załączenia - licznik czasu
  30.  
  31. BLYNK_WRITE(V25)
  32. {
  33.   opoznienie =  param.asInt();
  34. }
  35. BLYNK_WRITE(V26)
  36. {
  37.   startlicz =  param.asInt();
  38.   licz = opoznienie;
  39. }
  40.  
  41. void timer1sek() //coś do zrobienia co 1 sek
  42. {
  43.   liczasek(); //licznik zalączenia
  44.   transmitBLYNK();
  45. }
  46.  
  47. void setup()
  48. {
  49.   Serial.begin(115200);
  50.  
  51.   pinMode(led_bialy, OUTPUT); // port jako wyj do odbiornika
  52.   digitalWrite(led_bialy, 1); // wyłączenie odbiornika - wyłącza wysoki stan
  53.   pinMode(led_blue, OUTPUT); //
  54.   digitalWrite(led_blue, 1);
  55.   pinMode(led_esp, OUTPUT); //
  56.   digitalWrite(led_esp, 1);
  57.  
  58.   pinMode(przyc1, INPUT_PULLUP); // port jako wejście z przyciku
  59.   pinMode(przyc2, INPUT_PULLUP);
  60.   pinMode(przyc3, INPUT_PULLUP);
  61.  
  62.   akcja.attach(0, 1000, timer1sek); //  timer 1 sek
  63.  
  64.   Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 2, 126), 8442); // BLYNK postawiony na prywatnym serwerze NAS SYNOLOGY
  65.   Serial.println(__FILE__);
  66. }
  67.  
  68. void loop()
  69. {
  70.   Blynk.run();
  71.   akcja.process(); // timer
  72. }
  73.  
  74. void transmitBLYNK() { //procedura wysyłania stanu przycisków do serwera BLYNK
  75.   Blynk.virtualWrite(V20, digitalRead(przyc1));
  76.   Blynk.virtualWrite(V21, digitalRead(przyc2));
  77.   Blynk.virtualWrite(V22, digitalRead(przyc3));
  78. }
  79.  
  80. void liczasek() // licznik czasu załączenia odbiornika wywoływany co 1 sek przez Timer
  81. {
  82.   if (startlicz != 0) {
  83.     licz--;
  84.     Blynk.virtualWrite(V25, licz);
  85.     if (licz < 1) {
  86.       licz = 0;
  87.       startlicz = 0;
  88.     }
  89.   }
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement