Умный дом на ESP8266+MajorDoMo. Часть 5. Подключение преобразователя влажности AM2302.

На этот раз решил подключить преобразователь влажности AM2302. Кроме влажности он выдает данные и по-температуре. Написание кода не составило труда, т.к. библиотека для датчика влажности, как и для датчика температуры из прошлой статьи, встроена в прошивку (см. часть 1). И нам остается только запрашивать готовые данные, минуя написание кода по их получению из самого преобразователя.

Как обычно, код состоит из 4 файлов. Когда-нибудь руки все же дойдут до написания кода для перепрошивки ESP8266 по-воздуху, но пока будем только мониторить данные )))

Код файла init.lua (автозагрузка модуля):

Код файла config.lua (файл общих настроек):

Код файла main.lua (основной файл выполнения программы):

Небольшой особенностью  является то, что датчик выдает данные и по-влажности, и по-температуре. Т.е. нам придется устанавливать 2 свойства в 1 объекте. А т.к. за 1 раз можно установить 2 свойства, мы просто создаем подключение к МДМ 2 раза, и передает данные о температуре и влажности по-отдельности. Можно сделать это циклом FOR, но я решил просто продублировать код для наглядности.

Код файла AM2302.lua (библиотека преобразователя AM2302. Основная функция — чтение влажности и температуры):

Опрос датчика влажности происходит каждые 5000 мс. По окончании измерения создаем соединение к серверу с установленной системой МДМ, и отправляем GET-запросом данные о температуре и влажности, где они и сохраняются. Также показания выводятся в UART.

При заходе на веб-сервер ESP8266 получаем температуру и влажность на экран браузера

Ну и непосредственно отправка данных на МДМ. Опять создаем дочерний класс HumiditySensor от класса ESP8266

Добавляем 2 свойства: humidity и temperature

Общий вид свойств класса выглядит так

Теперь можно создать объект класса HumiditySensor, т.е. физическое устройство. Как обычно, размещаем на кухне ))))

Сохраняем. Все, теперь значения свойств будут обновляться каждые 5 секунд. Повесим их на главный экран. Создадим новый элемент меню управления (Панель управления -> Объекты -> Меню управления).

Наблюдаем на главном экране:

Ну и для наглядности выведем график. Создаем новый элемент Charts (Панель управления -> Объекты -> Меню управления -> Charts). И добавляем в него новый график, и два свойства — значения и влажности. Сохраняемся, наблюдаем красоту )))

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.