Блог

Термометр на ESP8266+Blynk

Продолжаем цикл статей для начинающих.

Поскольку информации по данному вопросу в Интернете маловато, выкладываю инструкцию по подключению термометра на DS18B20 и использованию его через Blynk.
Скопипасчено, переведено и компилировано со статей:
http://www.instructables.com/id/THE-2016-SUPER-NOOB-FRIENDLY-WAY-Control-an-Arduin/
https://community.blynk.cc/t/solved-blynk-and-esp8266-ds18b20/5327/11
А также проверено и работает.


Нам потребуется:

  1. Любая плата с ESP8266 на борту (я использовал Wemos D1 R2 – не люблю соплей и танцов с бубном при прошивке и использовании)
  2. Термометр DS18B20
  3. Мобильник с андроидом

Присоединяем DS18B20 согласно схеме (резистор обязателен!):

Выглядит это примерно вот так (здесь он  подключен к GPIO5 – в скетче это прописано) :

 

Датчик может быть в любом исполнении – не обязательно влагозащищенный (просто такой достался).

 

Будем считать, что у Вас уже установлена Arduino IDE с поддержкой плат на ESP8266, и что светодиодиком на ней Вы уже помигали. Если нет – идем на этот замечательный сайт:

https://esp8266.ru/arduino-ide-esp8266/

Поставили? Отлично.

Теперь начнем работать с Blynk. Blynk – простая система управления устройствами со смартфона. Более подробно – на том же сайте https://esp8266.ru/esp8266-blynk/

 

Слишком много букв? Неважно, сделаем поменьше

 

1. Загрузите последнюю библиотеку blynk с http://www.blynk.cc/getting-started/, разархивируйте и скопируйте ее в каталог библиотеки arduino (обычно: C: \ Program Files (x86) \ Arduino \ libraries).

2. Загрузите приложение blynk для Android или iphone (бесплатно в магазине Apple / Google Play) и сделайте свое первое приложение. Перейдите к настройкам и выберите esp8266.

3. в разделе «Настройки» в приложении вы найдете «auth token», придет по электронной почте при создании проекта.

4. Запускаем Blink.

5. Создаем новый проект (назовите его, как хотите).

6. На вашу электронную почту должен прийти токен для этого проекта.

7. Откройте arduino IDE.

8. Загрузите этот скетч (сначала вставьте туда свой токен, ssid и password):

#define BLYNK_PRINT Serial   

#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

#include <OneWire.h>

#include <DallasTemperature.h>

#include <TimeLib.h>

#include <SimpleTimer.h>

#define ONE_WIRE_BUS 5 //DS18b20 на GPIO5, можно переназначить на другой пин

 

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

 

char auth[] = "ххххххххххххх"; //тут токен авторизации для вашего проекта, придет по почте

 

SimpleTimer timer;

 

void setup()

{

  Serial.begin(9600);

  Blynk.begin(auth, "ssid", "password"); //ваши ssid и password

 

  sensors.begin();

 

  timer.setInterval(1000L, sendTemps); // интервал опроса сервера (1000L = 1 секунда)

}

 

void sendTemps()

{

  sensors.requestTemperatures(); // Polls the sensors

 

  float tempBabyRoom = sensors.getTempCByIndex(0); // Получение температуры в градусах Цельсия, для Фаренгейта getTempFByIndex

 

  Blynk.virtualWrite(4, tempBabyRoom); //4-й виртуальный порт, значение которого идет в Blynk

}

 

void loop()

{

  Blynk.run();

  timer.run();

}

 

Рекомендуется сначала нажать "Проверить", чтобы проверить наличие библиотек (и не задавать потом вопросы типа "Апочемууменянеработаетипишетошибку?"). В случае ошибок посмотреть лог и докачать библиотеки.
9. Добавьте "Gauge" на панель проекта.

10. Кликните на нем, появится панель настроек.

11. В настройках кликните на "PIN", выберите "Virtual" и "V4"

13. Выйдите из настроек.

14. Запустите проект (в правом верхнем углу экрана нарисована конопочка как "Play".

15. Наслаждайтесь!

 

Можно добавить в скетч кнопки управления, диммеры и что угодно – это на Ваш вкус. Ну это уже сами сделаете :) .

 

 

Дисклеймер: Все, что вы делаете – на свой страх и риск. Я не связан ни с Blynk, ни с Wemos – так что это рекламой не является. Все оборудование приобретено за свои деньги у различных продавцов.

 

 

©2018 ieugene.ru

Яндекс.Метрика
Рейтинг@Mail.ru

Search