Цель: собрать из доступных датчиков, модулей и ядрёной матери систему немного глупого, но безопасного дома, чтобы иметь возможность раннего реагирования на случившийся инцидент. Управление светом/чайником/кондиционером – это, конечно, весело, но не нужно. Главная идея в том, чтоб была возможность уехать из квартиры и не переживать за её состояние, т.к. в случае беды молниеносно прилетит алерт (sms/telegram), для решения которого можно попросить тех, кто остался в городе (родители/друзья/кот?..). Данный проект не будет коммерциализироваться, а наоборот хочется на примере своей квартиры протестировать всё и заопенсорсить на гитхабе.
Приоритеты:
Датчики (на схеме только 100% необходимые):
VPS:
В любом случае, хочется реализовать всё задуманное, т.к. с появлением 20-летней "кабалы" хочется избежать любых неприятных инцидентов (от которых есть навязанная страховка, но все же мы понимаем...). Поэтому проекту в любом случае – быть
Приоритеты:
- максимальная воспроизводимость для тех, кто захочет повторить;
- простота монтажа;
- дешевизна решения (однозначно должно выйти дешевле брендовых устройств);
- использование готовых датчиков/web-компонентов, без необходимости лудить платы или писать свой велосипеды по отображению графиков / отправке нотификаций.
В данный момент это планируемый проект, который находится на стадии анализа и проработки архитектуры.
Если где-то автор (то бишь я) ошибается из-за недостатка знаний, то просьба написать свои мысли, чтобы сократить количество костылей в будущем.
Если где-то автор (то бишь я) ошибается из-за недостатка знаний, то просьба написать свои мысли, чтобы сократить количество костылей в будущем.
Датчики (на схеме только 100% необходимые):
- Датчик протечки воды (али) – т.к. у меня в квартире 2 стояка (ванна и кухня), то нужно как минимум разместить их там. В идеале хотелось бы положить под каждую из батарей или рядом со стояками отопления, чтобы быть уверенным что не рванёт где-то там (или не потечёт от соседей сверху). Выбрал именно его, т.к. где-то читал что он не окисляется (хотя скорее всего смысла в этом не особо много, т.к. он же не постоянно в воде будет).
- Датчик дыма MQ-2 (али) – размещение по одному на комнату + кухня.
- Датчик движения (али) – прихожая (над или напротив входной двери) + по одному на комнаты с окнами, в идеале как делают в охранных системах (в углу у потолка, чтобы был обзор всей комнаты и желательно напротив входных дверей/окон, чтобы не было возможности отключить его не заходя в комнату).
- NANO (для чекеров) – в идеале хочется и сэкономить, и ежа съесть, поэтому большой запас из пинов не планируется (все датчики вроде бы влезут и сюда). Но если учесть, что UNO стоит всего на 50-100р дороже – проще взять её. Опрос датчиков раз в N секунд и отправка значений массивом на коллектор не должны скушать много памяти, разница в энергопотреблении между UNO и NANO вроде бы не такая большая, поэтому я всё ещё в муках выбора.
- UNO (для коллектора) – возможно, на коллекторе тоже стоит задуматься о NANO если он будет выбран для чекеров, тоже пока не ясно и спорно.
- Ethernet шильд (али) – подключить ардуинку по проводу кажется затеей надежнее, чем работать с WiFi, поэтому выбор пал на него. Тем более раз роутер запитан через ИБП, то нахождение коллектора (который будет запитан от розетки) тоже подразумевает работу оттуда же, чтоб было стабильно и по-красоте.
- NRF24L01 (али) – тянуть гирлянду проводов по всей квартире точно не вариант, устраивать себе облучение как в микроволновке (сарказм) если ставить везде модули WiFi тоже не хочется, поэтому мысль пала на радио приемопередатчик. Смущает только тот факт, что нигде нет примеров с подключением нескольких передатчиков на один приемник, плюс где-то на просторах видел что в даташитах есть строки о том, что можно максимум 6 передатчиков на 1 приемник. Для квартиры это ок, но заведомо проигрышную технологию брать тоже не хочется.
Пока что не прорабатывалось, но в идеале коллектор посадить через БП от 220V, а вот с чекерами есть логичная хотелка запитать их от чего-то более-менее автономного вроде PowerBank. Конечно, хочется как-то сигнализировать об низком уровне заряда оного, чтоб вовремя их дозаряжать, но если это сильно усложнит всю схему, то пока что отложу на будущие апгрейды. Безусловно тут нужно сразу же подумать о том сколько пожрут каждый из датчиков, но как это правильно перевести в количество дней на одном повербанке (например, 5 mAh) – я не знаю.
VPS:
Сразу оговорюсь, что у меня как и у многих дома серый IP адрес (за NAT), поэтому выбор в плане аренды дешевого VPS (около ~3$/месяц) кажется весьма разумным и не требующим отращивания бороды и покупки дополнительного бубна (их и так у меня 2).
Как и писал выше: коллектор будет получать данные от чекеров, и посредствам POST-запроса отправлять их в виде метрик на PushGateway, который в свою очередь отдаст их в Prometheus, а оттуда их заберёт Grafana, чтобы мне смотреть в ней прекрасные графики. По соседству будет жить Alertmanager, который может через WebHook сделать запрос на отправку SMS через какой-нибудь сервис или отправить сообщение в Telegram всем заинтересованным.
Всё это планируется завернуть в docker compose, чтобы ху... было проще воспроизводить заинтересованным
Список нерешённых пробелов и вопросы
- Не фигню ли я делаю? Предварительно я искал проекты "умных домов", чтобы как минимум посмотреть на архитектурную реализацию, но в большинстве там или проводное соединение всех датчиков (т.к. проект разрабатывается до ремонта в квартире/доме) или управление электроникой вплоть до слива в унитазе (что мне не интересно, т.к. во всей затее главная мысль – безопасность квартиры в отсутствии там хозяев).
- Какие ещё можно использовать полезные датчики/модули для реагирования на инциденты?
Видел ещё вот такую штуку, чтобы закрывать вводные краны ГВС/ХВС, но пока что не уверен в том что стоит так усложнять всю систему только из-за них. Газа в квартире нет, поэтому необходимость в ней уменьшается ещё в 2 раза.
Ещё друг советовал реле напряжения (с защитой от перенапряжения), его ставят и без ардуинки и всех этих приблуд. В целом, идея поставить его на вводе в квартиру кажется весьма разумной. Но может кто-то знает минусы или есть опыт с другими фирмами? - Использование Prometheus+Grafana+AlertManager кажется весьма разумным решением, т.к. хорошо конфигурируемо как со стороны отображения графиков, так и нотификаций. Но возможно есть какие-то неочевидные вещи в связке с Arduino?
- Приёмо-передача. Очень много сомнений по выбранному способу и модулям. Всё таки отправлять нужно со многих чекеров, сигнал которых может перекрывать друг друга. В NRF24L01 хоть и есть подтверждение о доставке, но как оно работает – я нигде не нашел (в особенности сколько раз будет пытаться отправить сигнал передатчик). Может быть сразу стоит думать о чем-то другом (BT/WiFi/5G...)?
- Питание чекеров. Может стоит питаться от обычных батареек и переключить ардуино в 3V? Энергоэффективность очень важна, т.к. каждый чекер подключить в розетку не выйдет 100% (розетки дома кончатся, а штробить стены не умею, у меня лапки).
- Как располагать датчик протечки, чтобы его не сожрал робот-пылесос?
- Как располагать датичик дыма – рядом с вытяжкой или просто посреди кухни?
- Выбор Arduino: UNO или NANO? А может вообще для чекера нужно что-то другое (простенький МК, который сам и датчики спросит и сигнал отправит)?
- Хороша ли пожаро-безопасность использования всех перечисленных компонент? Никогда не слышал чтобы ардуинки или датчики в прямом смысле горели, но вдруг? Конечно, при условии монтажа и пайки средне статистически прямыми руками.
А что дальше?
Весь этот тред был создан чтобы попросить помощи/советов и рассказывать по ходу дела о разработке. Да, я не эксперт в схемотехнике и очень многого не знаю, но уже долгие годы слежу за темой, Александром и немного данным форумом (в режиме рид-онли, но вот и я зарегистрировался). Вероятнее всего софтовую часть (прошивки ардуинок) я без проблем осилю (на крайняк – гугл и мануалы в помощь), с серверной тоже проблем не будет (а если и будут, то я знаю у кого просить помощи), ну а вот железная может вызвать вопросы.В любом случае, хочется реализовать всё задуманное, т.к. с появлением 20-летней "кабалы" хочется избежать любых неприятных инцидентов (от которых есть навязанная страховка, но все же мы понимаем...). Поэтому проекту в любом случае – быть
Изменено: