Отправила меня жена термометр покупать. Ну то есть не отправила, в Amazon у нас не ходят, — попросила. Ну и не просто термометр, а что-нибудь такое, чтобы и температуру, и влажность дома показывал. Типа домашней метеостанции.
А у меня с такими девайсами отношения не заладились ещё с Беларуси, потому что все метеостанции, что мне встречались, были либо тупые, как советская экономика, либо дорогие, как болезненных размеров лошадь, но при этом с закрытой экосистемой и бессмысленным набором фич. Ведь всё, что я хочу, это просто раскидать по дому сенсоры, чтобы они залезли в мой же вайфай, и потом смотреть с телефона, где сколько градусов и процентов влажности, и как это менялось по ходу дня. Чтобы без создания аккаунтов на посторонних сайтах, чтобы все данные принадлежали мне, чтобы оно просто работало и не привлекало внимания. Это же просто.
В технологиях 2019 года такие штуки можно создавать на коленке и за копейки, и… в общем я собрался и сделал 🙂
Хочешь сделать что-то хорошо — делай это сам
Смотрите, тут же нужны всего два компонента: какой-нибудь чип с поддержкой вайфая, и сенсор для него, который сможет замерять температуру и влажность. Даже лет десять назад можно было бы взять какой-нибудь Arduino, вайфай нашлёпку для него и DHT сенсор для замеров и «железная» часть вопроса была бы закрыта. Потом идём гугл — «как раздавать температуру и влажность с Arduino по вайфай» и закрываем вопрос с программной начинкой. Конечно, по тем временам оно бы стоило баксов 40, но зато всё своими руками, и такие сенсоры можно собирать пачками.
Но сейчас, напомню, 2019й. Железо стало дешевле, мощнее, и появилось столько бесплатного софта, что просто гугля и копируя, можно творить шедевры.
Во-первых, ещё лет 5 назад появился просто оргазмической прекрасности чип ESP8266 со встроенной поддержкой вайфая, который у китайцев стоит 2 бакса. Код для того, чтобы сделать из него веб-сервер и раздавать с подключённых датчиков данные, погуглив 5 минут, можно копировать не меняя.
Во-вторых, есть BME280 сенсор, который с офигенной точностью замеряет и температуру, и влажность, и даже атмосферное давление. Как подключить его к ESP8266 гуглится тоже на ура.
В-третьих, я ещё года два назад писал про всякий Prometheus, который может запрашивать и хранить показания сенсоров по сети, и про Grafana, которая может эти показания рисовать.
Мой Франкенштейн и его открытия
А теперь берём 4ре проводка, старый блок питания от телефона и сенсор с чипом, и тада-а-ам!
Блин, это офигенно. У меня уже три комплекта датчиков, но подключил пока только два — на первом и втором этаже. Настроил софтовую часть, и теперь на графики можно таращиться часами с любого устройства.
Смотря на графики, можно заметить интересные закономерности. Например, когда в ближайшей ванной кто-то есть и особенно когда этот кто-то открывает там дверь, влажность в моей комнате ненадолго подпрыгивает!
Когда на улице холодно, обогрев дома включается где-то раз 15-25 минут и длится минут десять. А так как моя комната греется хуже всего, то каждое включение повышает температуру всего-то на 0.5-0.7 градуса.
Ночью мы ставим температуру пониже, и по графикам это тоже видно!
На первом этаже всегда хотя бы на один градус, но теплее.
Когда приоткрывается дверь во дворик для проветривания — это видно и по температуре, и по влажности, и можно точно сказать, во сколько это произошло (и запрограммировать оповещение, что теперь пора бы дверь и закрыть!).
Из-за разницы температур на втором этаже воздух всегда влажнее (относительно).
Кстати! Относительная влажность воздуха ведь на то и относительная, что зависит от температуры, и поэтому когда при включении печки температура прыгает вверх, влажность точно так же прыгает вниз! Блин, в школе не врут!
С атмосферным давлением играться не особо интересно, но миф о том, что голова у меня может разболеться от перепада атмосферного давления пока не подтверждается. Голова и атмосфера, как оказалось, никаким раком не пересекаются.
А ещё из-за разницы высоты давление на первом этаже выше, чем на втором 🙂
Больше всего меня прикалывает, что по температуре и влажности можно детектить события, казалось бы, к температуре и влажности напрямую не относящиеся. Например, можно замерять когда включается и выключается обогрев, или когда открывается дверь в ванную или во двор. А ещё можно подключить какой-нибудь сервис, чтобы собирать данные по температуре, влажности и направлению ветра на улице, и начать предсказывать, какая температура и влажность будут дома. Для этого простейшая линейная ML модель бы подошла. Или даже обнаруживать, есть ли в доме кто-нибудь. Ведь люди — вполне себе тёплые создания.
Блин, а ещё же можно добавить сенсор интенсивности магнитного поля, освещённости, CO2, привязать это к остальным сенсорам, натравить на какую-нибудь модель машинного обучения и искать закономерности. И подтянуть интернет вещей от Гугла… Ух!
В общем, столько всего можно придумать, столько всего.
Просто нет слов, в каком я восторге от статьи! Побежал гуглить про чип-сервер и сенсор.
Если интересно с самим чипом поиграться, то ESP32 свежее, мощнее и дороже чем ESP8266. Там уже двухядерный проц и несколько встроенных сенсоров — температуры, Холла и чувствительные к прикосновениям лапки. Но это если поиграться, обычного 8266 за глаза хватает
Поиграться, конечно же. Ну, и добавить немного ума своему дому. И себе тоже 🙂