Найти тему

Экономный мониторинг частного дома без пайки и проводов

Оглавление

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

Будет много фото и картинок с описанием функционала и возможностей. А ещё немного технопорно=).


Вступление

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

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

Особенно интересно, что коммерчески доступные приборы и оборудование, предназначенное для таких целей, чрезмерно дорого, либо имеет критические недостатки (навязанные услуги, дорогие подписки негибкость настройки).

Но сегодня речь пойдёт о том, как достаточно быстро и с минимальными затратами организовать #мониторинг температуры и влажности в частном доме, на даче, в квартире, на работе или в птичнике.

Для чего это необходимо?

Так как описываемый частный дом и птичник находятся в Ленинградской области, то их необходимо зимой отапливать. Дом отапливается дровами, курятник - электричеством.

Наблюдение за динамикой температуры в помещениях дома, на улице и в курятнике позволит оптимизировать затраты на отопление.

Что будет использовано?

Датчики температуры и влажности Xiaomi LYWSD03MMC

Для реализации проекта будут использованы беспроводные (технология BLE) датчики температуры и влажности #Xiaomi LYWSD03MMC. Все датчики я покупал по этой ссылке на Ali. При покупке комплекта из четырёх штук, каждый датчик мне выходит по 316 руб., что очень неплохо с учетом быстрой доставки из РФ и наличием в комплекте сразу батарейки CR2032.

Датчики на борту сразу имеют дисплей, на котором отображаются данные, то есть в случае каких-то проблем данные можно собирать и оценить вручную.

В качестве измерительного элемента установлен достаточно неплохой датчик SHTC3 от компании Sensirion.

Ниже для порядка внешний вид датчика, распаковка:

Потом по традиции датчик необходимо было разобрать на части. Не стоит это повторять=), так как дисплей закреплен по старинной методике прямого контакта площадок на плате с графитовыми выводами дисплея. Это очень нежное соединение, не любит высокую влажность и механическое воздействие.

Фото разборки ниже:

Весь комплект, батарейка, задняя крышка, дисплей с крышкой, плата, крышка платы
Весь комплект, батарейка, задняя крышка, дисплей с крышкой, плата, крышка платы
Плата крупнее
Плата крупнее
И не очень удачная фотка стороны платы с датчиком
И не очень удачная фотка стороны платы с датчиком

Devkit модуля ESP32

С этим элементом нет ничего особенного, сложнее было найти на даче более-менее свободную ESP32, что бы её переключить на другую задачу.

У моей ESP32 уже был припаян на проводах прямо к плате датчик температуры DS18B20, который я и решил оставить как уличную температуру.

Платы и модули можно заказать по ссылке на Ali, сам заказал свежий комплект.

Сервисы

On-line конструктор прошивки Wifi-IoT.com - это сайт, на котором можно собрать прошивку для ESP32, #ESP8266 и других МК. Стоимость прошивки на одно устройство 110 рублей.

Проект Народный Мониторинг, будет использован для хранения данных, их отображения и создания триггеров. У сервиса доступно использование лимита в один прибор бесплатно. Свыше одного прибора стоимость 365 руб./год.

Как подключать датчик?

Для сбора и отправки данных с датчика нам потребуется прошить микроконтроллер ESP32 прошивкой, которую мы сконфигурируем и скомпилируем на сайте Wifi-IoT.com. После регистрации на сайте переходим в раздел ESP32, создаём профиль blehub и в разделе Железо выбираем опцию BT HUB, в шестеренке ставим "Поддержка шифрованных датчиков Xiaomi", число датчиков в соответствии со своими потребностями=).

Для передачи данных, в разделе Сервисы, нам потребуется поставить галочку narodmon.ru, эта опция позволит нам передавать все данные, которые собирает ESP32 с датчиков в облачный сервис.

Рекомендую так же добавить опцию Safe GPIO в разделе Системные, поставить галочку "Включение при 0". Это позволит простым джампером переводить наше устройство в safe mode для настройки.

Прошивка ESP32

Подробно процесс скачивания файла прошивки и загрузки его на ESP32 описывать не буду. Можно почитать в сети или совсем кратко тут.

Несколько более подробно процесс прошивки описан тут.

Настройка датчиков Xiaomi LYWSD03MMC

После того, как ESP32 прошита, настроена, подключена к Wi-Fi, переведена в "PRO-mode" и готова к работе, заходим на неё по IP в локальной сети, выбираем вкладку BLE_HUB, и устанавливаем параметры, как на картинке:

Пока нам не нужны сервисные функции и отладка
Пока нам не нужны сервисные функции и отладка

Далее необходимо с нужных датчиков получить необходимые данные для их подключения.
Нам понадобятся MAC-адрес и секретный ключ, для расшифровки данных.

В принципе можно пойти дальше, изменить у этих датчиков прошивку, но пока рассказ не об этом=)

Переходим по ссылке на Telink Flasher, приложение работает сразу в вебе на андроид в Google Chrome, необходим смартфон с версией Bluetooth, поддерживающей Bluetooth Low Energy (BLE).
Нажимаем в нем кнопку Connect, записываем (скриншотим) MAC, выбираем нужное устройство, дожидаемся, пока появятся с него показания и нажимаем Do Activation, копируем Mi Bind Key.

Важно!
При каждом нажатии на Do Activation будет генерироваться новый Mi Bind Key, и старый уже будет не актуален.
Вот так выглядят нужные нам поля в Telink Flasher
Вот так выглядят нужные нам поля в Telink Flasher

После этого возвращаемся в интерфейс ESP32 и вносим в соответствующие поля необходимые данные:

Заполняем MAC, затем Mi Bind Key, именно в такой последовательности
Заполняем MAC, затем Mi Bind Key, именно в такой последовательности
Заполняем MAC, затем Mi Bind Key, и именно в такой последовательности

После этого спокойно ждём от 5 до 20 минут, пока ESP32 поймает пакет данных. Для уверенного приема лучше всего датчик держать поближе к ESP. После того, как ESP32 покажет, что поймала пакет данных, можно установить датчик в необходимое место.

В результате у нас должна получится подобная картина:

В начале идут датчики с других интерфейсов, далее приборы BLE
В начале идут датчики с других интерфейсов, далее приборы BLE

Расстояние от датчика до ESP32

На данный момент у автора работает такая система на двух объектах, в городе в квартире и в частном доме.

Так как датчики работают на основе технологии #Bluetooth с низким энергопотреблением, то дальность передачи данных средняя.

Датчики гарантированно пробивают одну бетонную стену или две бетонные стены, при наличии открытых проемов (деревянные двери).

Через две бетонные стены с металлическими дверьми, прием данных нестабильный (уровень сигнала около -96...-99dBm и потеря пакетов).

Настройка Народного Мониторинга

В ESP32 переходим на вкладку Servers, и просто ставим галочку:

Обратите внимание, что MAC устройства нельзя передавать никому кроме проекта, так как он является идентификатором устройства
Обратите внимание, что MAC устройства нельзя передавать никому кроме проекта, так как он является идентификатором устройства

Теперь все полученные ESP32 данные будут отправляться в проект Народного Мониторинга каждые 5 минут.

Переходим на сайт проекта, регистрируемся или авторизуемся.

И в верхней части карты, выбираем вкладку Датчики, Зарегистрировать мой прибор:

Регистрация прибора
Регистрация прибора

В открывшееся окно вводим MAC прибора, полученный со вкладки Servers ESP32.

Что позволяет Народный Мониторинг?

Сбор истории показаний, облачное хранение данных с датчиков, доступ из любой точки мира, при наличии интернета.

Доступна автоматическая выгрузка показаний с датчиков на Google Drive и Яндекс Диск.

Обработка триггеров и отправка уведомлений об изменении показаний с датчиков.

Отображение данных с прибора в Web-интерфейсе
Отображение данных с прибора в Web-интерфейсе
Окно настройки триггера
Окно настройки триггера

Отправка команд на удалённые приборы (в случае поддержки прибором).

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

Картинка с графиком показаний
Картинка с графиком показаний

Кроме веб-интерфейса доступны приложения на iOS, Android, Windows. Уведомления и просмотр показаний доступны в ботах Telegram, Viber и VK.

Уведомления о отсутствия данных с датчика, настраивается необходимый интервал
Уведомления о отсутствия данных с датчика, настраивается необходимый интервал

Сводка данных с прибора в боте Telegram
Сводка данных с прибора в боте Telegram

Более подробно функционал и возможности опишу в отдельных статьях.

Сколько стоит?

На данный момент проект предоставляет лимит на один прибор бесплатно.

Обслуживание каждого последующего прибора стоит от 1 руб./день.

Дополнительно можно снизить интервал передачи данных вплоть до 1 минуты.

Выводы

  1. Процесс создания системы из 2-4 датчиков занимает около 1-2 часов времени.
  2. Не требуется пайка, разводка проводов. Данные собираются и отправляются в необходимый сервис непосредственно вами.
  3. Возможен просмотр данных непосредственно с датчика, в локальной сети в веб интерфейсе ESP32 и через облако Народного Мониторинга.
  4. Созданная система позволяет организовать уведомления при выходе измеряемых параметров за пределы допустимого.
  5. Стоимость реализации системы находится в пределах до 2000 руб. + стоимость обслуживания одного прибора в облаке от 1 руб./день.

#esp32 #умный дом #народный мониторинг #iot #интернет вещей #diy