Умный дом, достаточно заезженная тема в наше время и в этой публикации я не буду рассказывать вам о новых технологиях, производителях и современных тенденциях данной темы, все написано до меня раз на сто. Я же постараюсь кратко описать процесс создания Умного дома(далее УД) без глубоких технических повествований. Если эта тема будет интересна читателям, я выложу полностью все листинги программ, прошивки МК, схемы и все необходимое, чтобы это чудо стало сердцем вашего дома.
Основные концепции в разработке УД, — это полное отсутствие «колхоза», другими словами электронная начинка эстетически не должна выделятся (обычные розетки, выключатели, лампочки) и не обременять пользователей (дублирования основного функционала привычными способами: любой источник света можно включать как с выключателя так и с телефона, а не как с умными лампами, кто в теме, тот поймет). Картинку даже приложу для наглядности:
Последнее дополнение и с лирикой закончим. Я мог купить готовую систему умного дома, но в недалеком прошлом я неплохо разбирался в схемотехнике, радиоэлектронике, программировании и у меня был вагон времени, а еще на тот момент я начал строить загородный дом, который очень хотел наделить мозгом. В общем, это как спросить рыбака, зачем ты ловишь рыбу, если можно сходить купить! Для удовольствия ребят, для удовольствия, понимание того, что ты можешь автоматизировать свой дом, причем вложить в это свою душу, свои идеи, свою логику, реально делает твой дом каким-то живым. Погнали!
Первым делом определил функционал УД, который реально нужен:
- Управление всеми источниками света, как с выключателя, так из приложения
- Управление яркостью ламп
- Различные режимы освещения: автоматическое выключение, режим присутствия, свет в ночи,- этот режим я сам придумал, когда его включаешь он освещает тебе путь ночью до туалета. Не гладишь рукой стены в поисках выключателя, можно еще что-то придумать.
- Управление определенными розетками, куда подключается утюг, плойка, фен, варочная панель и т.д. Идеология следующая: уехал, забыл выключил или нет, через приложение выключил.
- Из предыдущего пункта вытекает необходимость, управлять домом из любой точки земного шара и осталось лайтовенькое:
-температура и влажность в доме, на улице и в подвале
-температура и давление в системе отопления(частный дом, без этого никуда)
-защита от протечек, задымлении, даже точнее не защита, а уведомление.
От слов к делу
Разделил систему на три блока:
- Блок управления освещением и силовой нагрузкой
- Блок мониторинга (различные датчики)
- Мини компьютер(Основной мозг, OS server core, .Net)
9-Канальный блок управления освещением и силовой нагрузкой
Основа МК от Atmel atmega1284 никакого arduino, только hardcode, только C, в качестве канала связи с мозгом был выбран ethernet модуль ENC28J60 (UART скучно, ограничение длины провода, зависает даже от перегара), пару слов о модуле ENC28J60, на самом деле сомнительная микросхемка: errata больше даташита, но за месяц работы ни разу не зависла, так что пока претензий к ней не имею. Обещал же без технических повествований, но это же не мытье полов, полностью без терминологии никуда. К блоку подключены 7 выключателей и соответственно 7 осветительных приборов, два канала идут на контакторы по 25A каждый, один на розетку где жена гладит мне брючки на работу, а второй на детскую комнату, там две за параллельные розетки. Сначала собрал все на коленке в своей лаборатории
Травил плату методом ЛУТ
После того как плата была протестирована на работоспособность я заказал несколько экземпляров монтажных плат в г.Новосибирск
Собрал два экземпляра блока управления, один для тестирования нагрузок второй уже для установки в загородный дом. Страшно устанавливать оборудование, в котором не уверен, в дом. Каждый канал в теории выдерживает силу тока в 12 ампер, но для освещения или управления контакторами достаточно 2-3А. Как бы я не пытался спалить тестируемую плату, у меня не получилось, я даже подключал тепловую пушку на 3 КВт, симисторы грелись почти до красна, но ни один не вышел из строя. Подытожу плата прошла испытание как нельзя лучше.
Микроконтроллеры на плате запрограммировал и установил в дом, свет уже можно было включать через выключатели, но умным домом еще и не пахло.
Мини компьютер
На работе отрыл тонкий клиент с ОЗУ 1Гб и ПЗУ 8Гб, на амазоне цена на него чуть больше 100 баксов. В качестве ОС я выбрал Server Core, потому как я C# ориентированный человек). Нативные ПО для android и apple я писать не умею и давно для себя решил что умным домом управлять будет мой бот на платформе Пашки Дурова(Телеграмм кто не понял) вот неделю посидел за ноутом под spaten и бот готов. Приятно работать с умными людьми, это я о телеграмм, бот писался на одном дыхании, понятная документация, рабочие библиотеки, никаких глюков. Один всем известный печальный момент: роскомнадзор всеми силами хочет заблокировать телегу и на смартфонах он работает как и работал, а вот с ботами ситуация немного иная, они подключаются к серверам через раз и чтобы не испытывать судьбу я поднял на AWS(Amazon Web Services) openvpn server(причем бесплатно, в амазоне идет оплата за трафик, а трафик через бота минимален). После загрузки тонкий клиент подключается к vpn серверу и уже минуя все блокировки роскомнадзора спокойно обрабатывал запросы.
Итог
Система месяц работает в реальных условиях без единого глюка. В телеграмм на андроиде есть плюшка что можно бота вынести прямо на рабочий стол и открывать как отдельное приложение. Да, я далеко не творческий человек и назвал бота Jarvis
Очень доволен ботом и просто нет необходимости написания нативного ПО под мобильные устройства
Немного информации от блока мониторинга
Задавайте вопросы, повторюсь, если тема будет интересна, то выложу на github все исходники проекта а так же все схемы, чтобы можно было, как KIT все собрать залить прошивку и будет работать на ура без особых знаний программирования и схемотехники.
PS. В монтажной плате присутствуют недочеты (слишком маленькие зазоры между силовыми дорожками, контактами, встречаются дорожки разведенные под прямым углом). Плату я буду менять, благо изготовление новой стоит копейки. Спасибо всем, кто указал на эти ошибки.