Главная  /  Области применения  /  Передача показаний датчиков ds18b20 и DHT22 на сайт «Народный мониторинг» narodmon.ru

Передача показаний датчиков ds18b20 и DHT22 на сайт «Народный мониторинг» narodmon.ru


Содержание

Народный мониторинг - IoT проект Интернета вещей
Схема подключения
Подготовка модуля к работе
Конфигурация модуля



Народный мониторинг - IoT проект Интернета вещей

Отечественный проект Интернета вещей (IoT Cloud) narodmon.ru, основанный в 2011 году, предназначен для сбора, обработки, хранения и отображения (на карте и в приложениях) показаний датчиков и веб-камер своих участников с публичным или приватным доступом на различных платформах.


Smacont. проект Интернета вещей (IoT Cloud)

Народный мониторинг - IoT проект Интернета вещей

Народный мониторинг - это:
• удаленный мониторинг среды в доме, в серверной, на местности;
• визуализация показаний датчиков на карте мира;
• публичный и приватный просмотр показаний датчиков;
• интерактивный график по показаниям за сутки, неделю, месяц;
• отображение данных с Cosm, например от счетчиков Current Cost EnviR;
• облегченная версия сайта narodmon.ru/m для мобильных устройств;
• утилита для просмотра показаний датчиков на компьютере;
• SMS и e-mail информирование при неактивности и выходе показаний за установленные пределы;
• API для разработчиков приложений, виджетов, сайтов;
• Запросы по SMS о текущих показания датчиков по указанному адресу или своих устройств.

В настоящее время, к сервису подключены десятки тысяч устройств по всему миру, которые передают данные о температуре, влажности, атмосферном давлении, уровне радиации, загрязнении воздуха, и других параметрах.

По каждому датчику можно смотреть статистику, в том числе за длительный период. Срок хранения подробных показаний датчиков составляет 30 дней, среднечасовых значений - 1 год, среднесуточных - вечность. Если нужно хранить подробные показания дольше, то можно настроить их автоматическую выгрузку на Яндекс.Диск или Google Drive.

В данной статье рассмотрим подключение выносного датчика температуры ds18b20, установленного на улице (в экране Стивенсона) и датчика DHT22, установленного на балконе.

Значение датчика температуры ds18b20 предоставлено для всеобщего доступа, а значения температуры и влажности от датчика DHT22 используются для приватного доступа.



Схема подключения


Smacont. Схема подключения

Схема подключения к модулю D1 mini


Smacont. Схема подключения

Схема подключения к модулю esp8266-01



Подготовка модуля к работе

Подготовка модуля к работе заключается в выполнении следующих шагов.

Шаг 1. Программирование модуля

Программирование модуля (запись программы (прошивки) «Smacont-ESP») осуществляется в соответствии с инструкцией «Программирование модулей ESP и отладочных плат».

Шаг 2. Настройка сетевого соединения с модулем

Выполнить настройку сетевого соединения с модулем в соответствии с инструкцией «Первое включение».

Шаг 3. Настройка WiFi-сети

Выполнить настройку WiFi-сети в соответствии с инструкцией «Настройки WiFi-сети».



Конфигурация модуля

Внешние устройства

Конфигурирование модуля для работы с сенсором DS18B20 выполняется в соответствии с инструкцией «Подключение датчиков температуры DS18B20».

Необходимо обратить внимание, что в нашем примере сенсор DS18B20 подключен к «GPIO0» и привязан к переменной «V0».

Конфигурирование модуля для работы с сенсором DHT22 выполняется в соответствии с инструкцией «Подключение датчика температуры и влажности DHT11/DHT21(AM2301)/DHT22».

Необходимо обратить внимание, что в нашем примере сенсор DHT22 подключен к «GPIO2» и привязан к переменным «V1» (температура) и «V2» (влажность).

На вкладке «Vx map» проконтролируем изменение значений переменных «V0», «V1» и «V2» в зависимости от изменения температуры и влажности окружающей среды.


Smacont. Вкладка «Vx map»

Вкладка «Vx map»

Текстовые шаблоны

На вкладке «Текст. шабл.» необходимо заполнить текстовые шаблоны «Т06» и «Т07».


Smacont. Вкладка «Текстовые шаблоны»

Вкладка «Текстовые шаблоны»

Шаблон «Т06» содержит имя домена «narodmon.ru».

Шаблон «Т07» содержит «URL-путь» и «параметры»: /get?ID=XXXXXXXXXX&T1=$V00&DHT22T=$V01&DHT22H=$V02.
где:
XXXXXXXXXX - MAC (ID) или уникальный идентификатор прибора в проекте народного мониторинга;
• «T1», «DHT22T», «DHT22H» - уникальные метрики датчиков подключенных к прибору. Предназначены для идентификации датчиков и привязки их показаний к приборам;
• «$V00», «$V01», «$V02» - ссылки на переменные «V0», «V1» и «V2», вместо которых будут вставлены числовые значения этих переменных.

TIMER

Для периодического опроса сенсоров ds18b20 и DHT22 будем использовать «TMR3» так как по умолчанию он уже настроен на работу с периодом десять секунд. Данный период (10 сек.) выбран, чтобы не вызывать внутренний нагрев сенсоров, который может привести к изменению значения температуры. Чем больше данный период, тем меньше сказывается внутренний нагрев на показания датчиков.

На вкладке «TIMER» необходимо произвести конфигурирование таймера «TMR3»:
• включить таймер (установить «галочку» у параметра «Управление»);
• параметр «При подаче напр. пит.» установить в состояние «ВКЛ.».

Для обеспечения возможности дальнейшей обработки события от таймера, необходимо привязать параметр «Состояние» таймера «TMR3» к одному из «Vx», например, к «V59».

Для периодической отправки значений сенсоров будем использовать «TMR7» так как по умолчанию он уже настроен на работу с периодом пять минут. Данный период (5 мин.) является минимально возможным для работы с сервисом narodmon.ru. В целях противодействия DOS-атакам, при интенсивной передаче данных (например, при передаче показаний чаще 1 минуты или же http-запросов к сайту и REST API), доступ к серверу проекта с IP-источника блокируется сперва на 5 минут, а затем на 1 час. Если паразитный трафик не прекращается, то срок может быть увеличен как и диапазон IP адресов источника трафика.

На вкладке «TIMER» необходимо произвести конфигурирование таймера «TMR7»:
• включить таймер (установить «галочку» у параметра «Управление»);
• параметр «При подаче напр. пит.» установить в состояние «ВКЛ.».

Для обеспечения возможности дальнейшей обработки события от таймера, необходимо привязать параметр «Состояние» таймера «TMR7» к одному из «Vx», например, к «V60».


Smacont. Конфигурирование «TIMER»

Конфигурирование «TIMER»

Действия

На вкладке «Действия» создаем действие «GET-запрос» («Действие N0»).

В качестве параметра «<хост>» выбираем шаблон «Т06» содержащий имя домена «narodmon.ru».

В качестве параметра «[/][?<параметры>]» выбираем шаблон «Т07» содержащий «URL-путь» и «параметры».


Smacont. Действие «GET-запрос»     Smacont. Действие «GET-запрос»     Smacont. Действие «GET-запрос»

Действие «GET-запрос»

Настройка действий, для опроса сенсоров ds18b20 и DHT22, рассмотрены в статьях «Подключение датчиков температуры DS18B20 и «Подключение датчика температуры и влажности DHT11/DHT21(AM2301)/DHT22».

Сценарии

На вкладке «Сценарии (Задачи)» создаем сценарии (задачи, триггеры), которые будут вызываться по событиям обновления переменной «V59» и «V60» (события формируются таймерами «TMR3» и «TMR7», происходит каждые 10 секунд и каждые 5 минут).

В качестве действия выберем «Действие N0», «Действие N1», «Действие N2», по которым будут вызываться функции опроса сенсоров и «GET-запрос».


Smacont. Сценарии

Сценарии

Получаем следующий алгоритм работы:
1. при событии «Обновление статуса TMR7» (формируется каждые 5 минут), будет выполняться сценарий, т.е. вызывается «Действие N0» («GET-запрос»);
2. при выполнении «Действие N0» происходит передача показаний сенсоров ds18b20 и DHT22.

В результате, на странице сервиса narodmon.ru получаем отображение значений сенсоров ds18b20 и DHT22.


Smacont. Сценарии



Программы

Прошивка «Smacont-ESP»:
скачать

«Программа Настройки»:
запусить (только браузер Firefox)
скачать zip-архив

Телеграм канал

Новости

Энергонезависимая память (EEPROM)

Переменные «Vx» (карта переменных «Vx»)

WEB-интерфейс

Действие «wifi_CheckConn()». После подключения к WiFi-сети, выполнить действие с задержкой

Обмен данными. Open Monitoring

Датчики температуры и влажности AHT10/AHT15/AHT20/AHT21/AHT25

Датчик температуры и влажности SHT30 (SHT31/SHT35)

Действие «valueToVx()», «valueToArrVx()». Отслеживание заданного уровня в диапазоне значений

Действие «termostat()». Термостат

ESP-NOW. Датчик температуры и влажности с питанием от батареек

Последовательные интерфейсы (UART, I2C, SPI)

Управление одноканальным модулем реле

Протокол MQTT

Обмен данными. NarodMon

Обмен данными. ioControl



Программы для модулей ESP     Программы     Применения     Справочник         Контакты     SMACONT. Напишите нам smacont@ya.ru