Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*************************************************************
- Blynk is a platform with iOS and Android apps to control
- Arduino, Raspberry Pi and the likes over the Internet.
- You can easily build graphic interfaces for all your
- projects by simply dragging and dropping widgets.
- Downloads, docs, tutorials: http://www.blynk.cc
- Sketch generator: http://examples.blynk.cc
- Blynk community: http://community.blynk.cc
- Follow us: http://www.fb.com/blynkapp
- http://twitter.com/blynk_app
- /* Comment this out to disable prints and save space */
- #define BLYNK_PRINT Serial // Куда выводить отладочную информацию Blynk. В Серийный порт
- // подключение библиотек. Формальности
- #include <ESP8266WiFi.h> // Библиотека контроллера ESP8266 и WiFi в нём
- #include <BlynkSimpleEsp8266.h> // Библиотека Blynk для ESP8266
- #include <Servo.h> // Библиотека серво
- #include <OneWire.h> // Библиотека протокола OneWire (для датчика температуры)
- #include <TimeLib.h> // Библиотека для таймера
- #include <DallasTemperature.h> // Библиотека для датчика 18B20, работающего через OneWire
- #define ONE_WIRE_BUS D3 // Вывод микроконтроллера, на котором висит где датчик. Мы повесили на D3
- // Создаем разные объекты (температурный датчик, таймер)
- OneWire oneWire(ONE_WIRE_BUS);
- DallasTemperature sensors(&oneWire);
- SimpleTimer timer;
- Servo servo; // Создаем экземпляр серво
- // Наш идентификатор, полученный в Blynk на телефоне
- char auth[] = "7a0c09f8bb6e49079ba26d56e4472016";
- // Данные WiFi подключений
- char ssid[] = "Profotech";
- char pass[] = "EBBF5F89E3";
- BLYNK_WRITE(V3) // В случае записи чего-либо в виртуальный регистр V3 на стороне телефона
- {
- servo.write(param.asInt()); // Пишем значение параметра регистра в Серву
- }
- void setup() // Настройка, запускается один раз при запуске контроллера
- {
- // Создаем соединение через Сериал порт
- Serial.begin(9600);
- Blynk.begin(auth, ssid, pass); // соединение с Blynk
- sensors.begin(); // Сенсоры запускаем
- timer.setInterval(1000L, sendTemps); // Создаем таймер с обновлением 1 раз в 1000мкс, и запуском функции sendTemps
- servo.attach(D1); // Показываем серве, к какому пину она подключена
- }
- void sendTemps() // функция, вызываемая по таймеру
- {
- sensors.requestTemperatures(); // Опрос сенсоров
- float tempBabyRoom = sensors.getTempCByIndex(0); // Получаем температуру в Цельсиях от первого (единственного) датчика
- Serial.println(tempBabyRoom); // Выводим отладочную инфу в Serial
- Blynk.virtualWrite(4, tempBabyRoom); // Выдаем в Blynk в виртуальный канал V4 температуру
- }
- void loop() // Основной цикл программы - работает непрерывно
- {
- Blynk.run(); // Работа основного цикла Blynk
- timer.run(); // Работа цикла таймера
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement