Описанный ниже пример разработан для мониторинга температуры и влажности воздуха в частном доме, квартире, на даче или в курятнике для контроля за отоплением или прогнозирования неблагоприятных ситуаций.
Организовать такую систему можно своими руками без использования паяльника. Для увеличения функционала и усложнения паяльник уже понадобится.
Будет много фото и картинок с описанием функционала и возможностей. А ещё немного технопорно=).
Вступление
Уже достаточно долго развиваю и использую системы мониторинга для контроля и наблюдения за состоянием помещений. В городе, на даче и на работе.
В каждой конкретной ситуации это позволяет решать свои локальные проблему, но во всех случаях позволяет значительно снизить сопутствующие расходы на обслуживание помещений и предотвратить неблагоприятные ситуации.
Особенно интересно, что коммерчески доступные приборы и оборудование, предназначенное для таких целей, чрезмерно дорого, либо имеет критические недостатки (навязанные услуги, дорогие подписки негибкость настройки).
Но сегодня речь пойдёт о том, как достаточно быстро и с минимальными затратами организовать #мониторинг температуры и влажности в частном доме, на даче, в квартире, на работе или в птичнике.
Для чего это необходимо?
Так как описываемый частный дом и птичник находятся в Ленинградской области, то их необходимо зимой отапливать. Дом отапливается дровами, курятник - электричеством.
Наблюдение за динамикой температуры в помещениях дома, на улице и в курятнике позволит оптимизировать затраты на отопление.
Что будет использовано?
Датчики температуры и влажности 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, и старый уже будет не актуален.
После этого возвращаемся в интерфейс ESP32 и вносим в соответствующие поля необходимые данные:
Заполняем MAC, затем Mi Bind Key, и именно в такой последовательности
После этого спокойно ждём от 5 до 20 минут, пока ESP32 поймает пакет данных. Для уверенного приема лучше всего датчик держать поближе к ESP. После того, как ESP32 покажет, что поймала пакет данных, можно установить датчик в необходимое место.
В результате у нас должна получится подобная картина:
Расстояние от датчика до ESP32
На данный момент у автора работает такая система на двух объектах, в городе в квартире и в частном доме.
Так как датчики работают на основе технологии #Bluetooth с низким энергопотреблением, то дальность передачи данных средняя.
Датчики гарантированно пробивают одну бетонную стену или две бетонные стены, при наличии открытых проемов (деревянные двери).
Через две бетонные стены с металлическими дверьми, прием данных нестабильный (уровень сигнала около -96...-99dBm и потеря пакетов).
Настройка Народного Мониторинга
В ESP32 переходим на вкладку Servers, и просто ставим галочку:
Теперь все полученные ESP32 данные будут отправляться в проект Народного Мониторинга каждые 5 минут.
Переходим на сайт проекта, регистрируемся или авторизуемся.
И в верхней части карты, выбираем вкладку Датчики, Зарегистрировать мой прибор:
В открывшееся окно вводим MAC прибора, полученный со вкладки Servers ESP32.
Что позволяет Народный Мониторинг?
Сбор истории показаний, облачное хранение данных с датчиков, доступ из любой точки мира, при наличии интернета.
Доступна автоматическая выгрузка показаний с датчиков на Google Drive и Яндекс Диск.
Обработка триггеров и отправка уведомлений об изменении показаний с датчиков.
Отправка команд на удалённые приборы (в случае поддержки прибором).
Построение графиков, просмотр истории показаний, визуализация данных.
Кроме веб-интерфейса доступны приложения на iOS, Android, Windows. Уведомления и просмотр показаний доступны в ботах Telegram, Viber и VK.
Более подробно функционал и возможности опишу в отдельных статьях.
Сколько стоит?
На данный момент проект предоставляет лимит на один прибор бесплатно.
Обслуживание каждого последующего прибора стоит от 1 руб./день.
Дополнительно можно снизить интервал передачи данных вплоть до 1 минуты.
Выводы
- Процесс создания системы из 2-4 датчиков занимает около 1-2 часов времени.
- Не требуется пайка, разводка проводов. Данные собираются и отправляются в необходимый сервис непосредственно вами.
- Возможен просмотр данных непосредственно с датчика, в локальной сети в веб интерфейсе ESP32 и через облако Народного Мониторинга.
- Созданная система позволяет организовать уведомления при выходе измеряемых параметров за пределы допустимого.
- Стоимость реализации системы находится в пределах до 2000 руб. + стоимость обслуживания одного прибора в облаке от 1 руб./день.
#esp32 #умный дом #народный мониторинг #iot #интернет вещей #diy