Подключаем датчик температуры и влажности к Blynk (AM2301A + ESP8266 + Blynk)

Обновлено: 11 мая

Доброго времени суток, дорогие читатели. В этой статье мы разберем подключение датчика AM2301A к Blynk.


Видео:


AM2301A - датчик температуры и влажности


Датчик влажности DHT21/AM2301A – датчик температуры и влажности повышенной точности. Точный и простой в подключении. Подключается по одно проводному интерфейсу.


Код производителя: DHT21, AM2301A

Производитель рекомендует не превышать длину проводов более 30 метров (при напряжении 5В) и при подтягивающем резисторе 5,1К для обеспечения заявленной в датировании точности измерений. При напряжении питания 3,3 В максимальная длина проводников не должна превышать 100 см.


Распиновка:

  • GND (Черный провод) – "Земля"

  • VCC (Красная проволока) - "+" питание

  • OUT (Желтый провод) – цифровой выход

Характеристики:

  • Производитель: AOSONG

  • Тип датчика: DHT21/AM2301A

  • Тип подключения: 3-проводное

  • Тип интерфейса: цифровой

  • Интерфейс: 1-wire

  • Точность: 0.1 ºC

  • Диапазон измерения влажности: 0-100%

  • Диапазон измерения температуры: -40 ~ 80 ºC

  • Точность измерения влажности: ±2% RH

  • Точность измерения температуры: ±0.5%

  • Дополнительные компоненты: не требуются

  • Калибровка: заводская

Wi-Fi модуль ESP8266 Witty Cloud



Wi-Fi модуль ESP8266 Witty построен на базе популярного чипа ESP8266-12 и предназначен для создания устройств управления и/или сбора информации через Wi-Fi сеть. Модульная конструкция позволяет максимально гибко формировать конфигурацию конечного устройства. В качестве минимального оснащения предлагаются смонтированные на модуле датчик освещенности и RGB светодиод. Питать модуль можно как через microUSB разъем (5В) так и непосредственно от источника питания 3.3В.

Соответствие пинов подключения внешних устройств модуля:

  • LDR = A0;//датчик освещенности

  • RED = 15;//красный вывод RGB светодиода

  • GREEN = 12;//зеленый вывод RGB светодиода

  • BLUE = 13;//синий вывод RGB светодиода

  • BUTTON = 4;//кнопка

Характеристики:

  • питание модуля - 5 В / 220 мА

  • режим WiFi: 802.11 b/g/n, 2.4 ГГц

  • шифрование: WPA / WPA2

  • режим работы:

  • клиент(STA)

  • точка доступа(AP)

  • клиент + точка доступа (STA+AP)

  • доступные сетевые протоколы:IPv4, TCP, UDP, HTTP, FTP

  • GPIO:11

  • интерфейс:UART, HSPI, I2C, I2S

  • внутренняя память:4 Мб

  • USB-UART мост: CH340

  • размеры: 30мм х 30мм х 20мм

Подключение


Для подключения и прошивки нам понадобится адуино иде и аккаунт в блинк.


1. У вас должны быть установлены платы ESP, посмотреть можно здесь.

2. Устанавливаем библиотеку для датчика

В поиске вводим am2301

Жмем установить.


3. Регистрируемся в блинк здесь (библиотека blynk должна также быть установлена)

4. Создаем шаблон для нашего датчика

Переходим раздел шаблоны

Добавляем новый шаблон


Переходим в раздел датастримов.

Создаем два виртуальных датастрима. Первый - температура.

Второй - влажность.

Готово.

Переходим во вкладку Web Dashboard, добавим два Label виджета.


Сохраняем шаблон. У вас должен появится такой экран.

Переходим в раздел Search и создаем девайс с шаблона.



У вас появится окно с данными девайса. Дальше вставим из в код прошивки


5. Переходим к прошивке. Возвращаемся в ардуино иде.


Ниже предоставлен готовый код. Вам нужно скопировать и подставить свои данные девайса и вай фай сети.


// Вставьте информацию со своего девайса
#define BLYNK_TEMPLATE_ID "TMPL61m58Y8k"
#define BLYNK_DEVICE_NAME "Demo Temp Hum"
#define BLYNK_AUTH_TOKEN "ruDUv65xK3REqsAa-eli43uCP4itbOFk"
#define DHTPIN 14 // укажите пин к которому подключен датчик
#define DHTTYPE    DHT21
// Comment this out to disable prints and save space
#define BLYNK_PRINT Serial

#include <DHT.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "";
char pass[] = "";

BlynkTimer timer;
DHT dht(DHTPIN, DHTTYPE);


// This function sends Arduino's uptime every second to Virtual Pin 2.
void myTimerEvent()
{
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();
  Blynk.virtualWrite(V0, t);
  Blynk.virtualWrite(V1, h);
}

void setup()
{
  Serial.begin(115200);
  dht.begin();
  Blynk.begin(auth, ssid, pass);
 
  timer.setInterval(1000L, myTimerEvent);
}

void loop()
{
  Blynk.run();
  timer.run();
}

6. Прошиваем девайс, выбрав, при этом правильную плату и порт которому подключена плата.

ESP8266 Witty Cloud подключаем в нижнюю плату.


Настройки в редакторе для загрузки


Нажимаем скомпилировать и загрузить

Должно появится сообщение об успешной загрузке