Об умеренно умном доме и открытиях чудных

Слегка умный дом
Слегка умный дом

Отправила меня жена термометр покупать. Ну то есть не отправила, в Amazon у нас не ходят, — попросила. Ну и не просто термометр, а что-нибудь такое, чтобы и температуру, и влажность дома показывал. Типа домашней метеостанции.

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

В технологиях 2019 года такие штуки можно создавать на коленке и за копейки, и… в общем я собрался и сделал 🙂

Хочешь сделать что-то хорошо — делай это сам

Смотрите, тут же нужны всего два компонента: какой-нибудь чип с поддержкой вайфая, и сенсор для него, который сможет замерять температуру и влажность. Даже лет десять назад можно было бы взять какой-нибудь Arduino, вайфай нашлёпку для него и DHT сенсор для замеров и «железная» часть вопроса была бы закрыта. Потом идём гугл — «как раздавать температуру и влажность с Arduino по вайфай» и закрываем вопрос с программной начинкой. Конечно, по тем временам оно бы стоило баксов 40, но зато всё своими руками, и такие сенсоры можно собирать пачками.

Arduino + WiFi + DHT22

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

Во-первых, ещё лет 5 назад появился просто оргазмической прекрасности чип ESP8266 со встроенной поддержкой вайфая, который у китайцев стоит 2 бакса. Код для того, чтобы сделать из него веб-сервер и раздавать с подключённых датчиков данные, погуглив 5 минут, можно копировать не меняя.

esp8266 с вайфаем и плюшками
esp8266 с вайфаем и плюшками

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

bme280 для температуры, влажности и атмосферного давления
bme280

В-третьих, я ещё года два назад писал про всякий Prometheus, который может запрашивать и хранить показания сенсоров по сети, и про Grafana, которая может эти показания рисовать.

Мой Франкенштейн и его открытия

А теперь берём 4ре проводка, старый блок питания от телефона и сенсор с чипом, и тада-а-ам!

esp8266 + bme280 + зажигалка
esp8266 + bme280 + зажигалка

Блин, это офигенно. У меня уже три комплекта датчиков, но подключил пока только два — на первом и втором этаже. Настроил софтовую часть, и теперь на графики можно таращиться часами с любого устройства.

Данные с моей комнаты
Температура, влажность и атмосферное давление в моей комнате

Смотря на графики, можно заметить интересные закономерности. Например, когда в ближайшей ванной кто-то есть и особенно когда этот кто-то открывает там дверь, влажность в моей комнате ненадолго подпрыгивает!

Кто-то открыл дверь в ванной
Кто-то открыл дверь в ванной

Когда на улице холодно, обогрев дома включается где-то раз 15-25 минут и длится минут десять. А так как моя комната греется хуже всего, то каждое включение повышает температуру всего-то на 0.5-0.7 градуса.

Включение обогрева
Судя по зубцам, обогрев включался раз 20

Ночью мы ставим температуру пониже, и по графикам это тоже видно!

Моя комната - самое холодное место в доме
Начиная с 10 вечера дом медленно остывал

На первом этаже всегда хотя бы на один градус, но теплее.

Температура на первом (красный) и на втором (синий) этаже
Температура на первом (красный) и на втором (синий) этаже

Когда приоткрывается дверь во дворик для проветривания — это видно и по температуре, и по влажности, и можно точно сказать, во сколько это произошло (и запрограммировать оповещение, что теперь пора бы дверь и закрыть!).

Открытая дверь на улицу
Открытая дверь во двор

Из-за разницы температур на втором этаже воздух всегда влажнее (относительно).

Влажность на первом и втором этаже
Влажность на первом и втором этаже

Кстати! Относительная влажность воздуха ведь на то и относительная, что зависит от температуры, и поэтому когда при включении печки температура прыгает вверх, влажность точно так же прыгает вниз! Блин, в школе не врут!

относительная влажность
Температура (сверху) и влажность (снизу)

С атмосферным давлением играться не особо интересно, но миф о том, что голова у меня может разболеться от перепада атмосферного давления пока не подтверждается. Голова и атмосфера, как оказалось, никаким раком не пересекаются.

Атмосферное давление
Атмосферное давление

А ещё из-за разницы высоты давление на первом этаже выше, чем на втором 🙂

Больше всего меня прикалывает, что по температуре и влажности можно детектить события, казалось бы, к температуре и влажности напрямую не относящиеся. Например, можно замерять когда включается и выключается обогрев, или когда открывается дверь в ванную или во двор. А ещё можно подключить какой-нибудь сервис, чтобы собирать данные по температуре, влажности и направлению ветра на улице, и начать предсказывать, какая температура и влажность будут дома. Для этого простейшая линейная ML модель бы подошла. Или даже обнаруживать, есть ли в доме кто-нибудь. Ведь люди — вполне себе тёплые создания.

Блин, а ещё же можно добавить сенсор интенсивности магнитного поля, освещённости, CO2, привязать это к остальным сенсорам, натравить на какую-нибудь модель машинного обучения и искать закономерности. И подтянуть интернет вещей от Гугла… Ух!

В общем, столько всего можно придумать, столько всего.

Об умеренно умном доме и открытиях чудных: 3 комментария

  1. Просто нет слов, в каком я восторге от статьи! Побежал гуглить про чип-сервер и сенсор.

    1. Если интересно с самим чипом поиграться, то ESP32 свежее, мощнее и дороже чем ESP8266. Там уже двухядерный проц и несколько встроенных сенсоров — температуры, Холла и чувствительные к прикосновениям лапки. Но это если поиграться, обычного 8266 за глаза хватает

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

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