Читаем данные с датчиков (DHT11, Blynk, Aimylogic)
Содержание
Вступление
В данной статье рассмотрим вариант получения данных с датчиков посредством голосового запроса Алисе. Для примера будем использовать датчик DHT11 подключенный к NodeMCU и добавленный в проект Blynk.
Данная статья будет являться лишь примером получения данных с датчиков с помощью http get запроса. По данному примеру можно будет "пробросить" датчики, возвращающие ответ в различных форматах.
Собираем простейший датчик
В данном примеру будут использованы следующие компоненты:
Собираем простейшую схему, как на рис.1.

Внимание! Для работы с nodemcu в Arduino IDE требуется настройка с платой. Пример настройки можно найти здесь: https://robotclass.ru/articles/node-mcu-arduino-ide-setup/. Также потребуется установка библиотек Blynk - скачать можно здесь: http://help.blynk.cc/en/articles/512105-how-to-install-blynk-library-for-arduino-ide.
Подключаем плату к ПК и прошиваем следующей прошивкой:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include "DHT.h"
int custT = 0;
int custH = 0;
char auth[] = "Токен_Blynk";
char ssid[] = "Имя_точки_доступа_Wifi";
char pass[] = "Пароль_Wifi";
#define DHTPIN D1
#define DHTTYPE DHT11 // DHT 11
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
dht.begin();
}
void loop()
{
Blynk.run();
int h = dht.readHumidity(); //получаем влажность
int t = dht.readTemperature(); //получаем температуру
if (h != custH){ //если показания отличаются от прошлых - отправляем их на виртуальный пин
Blynk.virtualWrite(V0, h);
custH = h;
}
if (t != custT){ //если показания отличаются от прошлых - отправляем их на виртуальный пин
Blynk.virtualWrite(V1, t);
custT = t;
}
}
Не забываем изменить параметры:
char auth[] = "Токен_Blynk";
char ssid[] = "Имя_точки_доступа_Wifi";
char pass[] = "Пароль_Wifi";
Подробнее о том, как создать проект в Blynk и получить токен можно узнать ЗДЕСЬ