Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*************************************************************
  2.   Blynk is a platform with iOS and Android apps to control
  3.   Arduino, Raspberry Pi and the likes over the Internet.
  4.   You can easily build graphic interfaces for all your
  5.   projects by simply dragging and dropping widgets.
  6.  
  7.     Downloads, docs, tutorials: http://www.blynk.cc
  8.     Sketch generator:           http://examples.blynk.cc
  9.     Blynk community:            http://community.blynk.cc
  10.     Follow us:                  http://www.fb.com/blynkapp
  11.                                 http://twitter.com/blynk_app
  12. /* Comment this out to disable prints and save space */
  13.  
  14.  
  15. #define BLYNK_PRINT Serial // Куда выводить отладочную информацию Blynk. В Серийный порт
  16.  
  17. // подключение библиотек. Формальности
  18. #include <ESP8266WiFi.h> // Библиотека контроллера ESP8266 и WiFi в нём
  19. #include <BlynkSimpleEsp8266.h> // Библиотека Blynk для ESP8266
  20. #include <Servo.h> // Библиотека серво
  21. #include <OneWire.h> // Библиотека протокола OneWire (для датчика температуры)
  22. #include <TimeLib.h> // Библиотека для таймера
  23. #include <DallasTemperature.h> // Библиотека для датчика 18B20, работающего через OneWire
  24.  
  25. #define ONE_WIRE_BUS D3 // Вывод микроконтроллера, на котором висит где датчик. Мы повесили на D3
  26.  
  27. // Создаем разные объекты (температурный датчик, таймер)
  28. OneWire oneWire(ONE_WIRE_BUS);
  29. DallasTemperature sensors(&oneWire);
  30. SimpleTimer timer;
  31. Servo servo; // Создаем экземпляр серво
  32.  
  33.  
  34. // Наш идентификатор, полученный в Blynk на телефоне
  35. char auth[] = "7a0c09f8bb6e49079ba26d56e4472016";
  36.  
  37. // Данные WiFi подключений
  38. char ssid[] = "Profotech";
  39. char pass[] = "EBBF5F89E3";
  40.  
  41. BLYNK_WRITE(V3) // В случае записи чего-либо в виртуальный регистр V3 на стороне телефона
  42. {
  43.   servo.write(param.asInt()); // Пишем значение параметра регистра в Серву
  44. }
  45.  
  46. void setup() // Настройка, запускается один раз при запуске контроллера
  47. {
  48.   // Создаем соединение через Сериал порт
  49.   Serial.begin(9600);
  50.  
  51.   Blynk.begin(auth, ssid, pass); // соединение с Blynk
  52.   sensors.begin(); // Сенсоры запускаем
  53.  
  54.   timer.setInterval(1000L, sendTemps); // Создаем таймер с обновлением 1 раз в 1000мкс, и запуском функции sendTemps
  55.   servo.attach(D1); // Показываем серве, к какому пину она подключена
  56. }
  57.  
  58.  
  59. void sendTemps() // функция, вызываемая по таймеру
  60. {
  61.   sensors.requestTemperatures(); // Опрос сенсоров
  62.  
  63.   float tempBabyRoom = sensors.getTempCByIndex(0); // Получаем температуру в Цельсиях от первого (единственного) датчика
  64.  
  65.   Serial.println(tempBabyRoom); // Выводим отладочную инфу в Serial
  66.   Blynk.virtualWrite(4, tempBabyRoom); // Выдаем в Blynk в виртуальный канал V4 температуру
  67. }
  68.  
  69.  
  70. void loop() // Основной цикл программы - работает непрерывно
  71. {
  72.   Blynk.run(); // Работа основного цикла Blynk  
  73.   timer.run(); // Работа цикла таймера
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement