Дом, который построил GitHub

Как заставить умный дом хранить ваши секреты

Пугают ли вас трекеры и подслушка? Скорее всего, вы не готовы впустить технологических гигантов к себе домой, чтобы они собирали, пускай обезличенные, но все же данные о домашней активности. В совместном проекте с AvitoTech мы решили посмотреть, удастся ли собрать на вторичке умный дом, который можно гибко настраивать и которому можно доверять. Спойлер: это непростая задача, но результат оправдывает усилия.

Как дома «умнели»

ХХ век был взрывным временем для бытовой техники, хотя запомнился он, разумеется, не этим: в домах по всему миру начали появляться холодильники, телевизоры, телефоны, посудомоечные машины, кондиционеры и всевозможные ***варки. Такой набор девайсов сделал работу домохозяек почти что инженерной занятостью. В 1950-х и 1960-х годах изобретатели делали первые шаги в автоматизации домашней деятельности — чаще всего это были панели с выключателями: сидя в кресле, пользователь мог включить технику или распечатать список покупок. По современным меркам это очень скупо, да и общего стандарта такие умные дома, естественно, не имели.

Первым распространенным протоколом стал выпущенный в 1975 году Х10 — детище шотландской фирмы Pico Electronics. Сигналы для устройств передавались прямо по электрической сети, можно было дистанционно управлять их включением, выставлять яркость света и даже на базовом уровне программировать поведение устройств с учетом данных от сигнализации или датчиков состояния среды — например, температуры и влажности. Сейчас звучит не очень впечатляюще, но технология стала популярной и позволила сделать первый большой шаг к появлению систем, которые мы имеем сегодня.

Кто есть кто на рынке умных домов сегодня? Не будем акцентировать внимание на китайских светильниках с «Алиэкспресса», которые управляются мобильными приложениями, полными багов и трекеров, а остановимся на крупных игроках. Технологии «Яндекса» позволяют управлять техникой с помощью голосового помощника Алисы. Тут и выбор устройств широкий: можно подключать технику от других производителей — да и сама «Яндекс.Станция» действительно хорошая колонка. Потенциальных пользователей может смутить пара вещей:

  • Цена. Если за мини-станцию вам придется выложить около 5 тысяч рублей, версия макс обойдется никак не меньше чем в 20 тысяч. И хотя это и колонка, и телеприставка, и система управления умным домом, такой бюджет — это не для всех;

  • Privacy. Если вы не хотите встраивать свой дом в систему от технологических гигантов вроде Amazon и Google, такое решение не для вас.

Второй большой альтернативой выглядит Xiaomi. У китайского производителя сверхширокий список собственных устройств: выключатели, чайники, лампочки, пылесосы и даже умная зубная щетка. За вполне умеренные деньги можно обвешать дом любыми устройствами и датчиками. Но, как всегда, на авансцене появляется большое но — региональные ограничения. Если в вашей стране не поддерживается понравившееся устройство (а с Xiaomi это случается довольно часто), подключить его к системе «умный дом» вы не сможете. Попробуете перехитрить систему и поставить в качестве домашнего региона Китай — отвалятся уже имеющиеся датчики. Если вас это расстраивает, не отчаивайтесь, альтернативы имеются.

Домашний помощник

В поисках open-source-решения для создания умного дома, наши взоры обратились на альфу и омегу универсальных устройств — Raspberry Pi. И мы не прогадали. Девайс находится в числе большого списка платформ, которые поддерживаются Home Assistant, системой управления умным домом с открытым исходным кодом. Она появилась в 2013 году и за восемь лет успела обзавестись обширной фан-базой, возможностью установки как на кучу одноплатных компьютеров, так и на домашний ПК, а похвастаться может еще и огромными возможностями для кастомизации.

Мы решили установить ее на уже имеющийся Raspberry Pi 4 — самую заряженную версию с 8 Гб оперативной памяти. Мы нарядили ее в алюминиевый корпус с пассивным теплоотводом: у этой версии есть проблемы с перегревом, но кожух их полностью решает. Если захотите купить такой на «Авито», рассчитывайте на 8-9 тысяч рублей. Но для постройки умного дома отлично подойдут и гораздо более дешевые версии с 4 и 2 Гб ОЗУ, а также «малинки» предыдущего поколения. Установка Home Assistant никаких сложностей не вызовет — официальная утилита Raspberry Pi Imager уже предлагает его в списке образов. Остается только вставить карту памяти microSD — у нас была карта Samsung на 32 Гб — и нажать кнопку Submit.

Строительство

Для первой попытки мы решили обойтись простейшим набором. Его предстояло выбрать ответственно: умные дома мы раньше не строили. Остановились на том, что в умном доме должна быть умная розетка, умная лампочка, умная камера, а также датчик, который бы сообщал, не забыли ли мы закрыть окно. Наш умный дом стал в итоге умным офисом, и там, где он расположен, нельзя забывать закрывать окна. Умную розетку мы выбрали от Xiaomi — простую и бесхитростную. Она обошлась в тысячу рублей. Поскольку она имела китайский регион и подключалась к сети при помощи переходника, вернуться назад, к официальным решениям, мы уже не могли.

В качестве умной лампочки мы взяли базовое решение от Aqara, дочерней компании Xiaomi. Она может регулировать свет, ее киллер-фича — «сумасшедший режим эпилепсии» (он и правда так называется: стоит включить — и ее свет начинает мигать с высокой частотой). Мы уже жалеем, что попробовали его. Но, возможно, в будущем попробуем с такими лампочками организовать умный рейв. Тем временем наша копилка прохудилась всего на 600 рублей.

Для того чтобы не проверять по десять раз, действительно ли окна закрыты, мы выбрали простой датчик, тоже от Xiaomi. На «Авито» он стоил 700 рублей. И ничего большего о нем сказать нельзя — кроме того, что это устройство имело все-таки международную прописку и китайским эксклюзивом не являлось.

Для подключения мелких устройств вроде розеток, выключателей и датчиков нужен шлюз — промежуточный контроллер. Перед нами встал выбор: покупать официальный шлюз и рассчитывать на авось (сможет ли он соединить устройства из разных регионов?) или же найти другое решение? И оно нашлось. Кастомный USB-стик на базе прошивки zigbee2mqtt. Он позволяет подключать устройства умного дома не только к Home Assistant, но и к другим системам. Он поддерживает более 1700 устройств от почти 250 производителей. С такими числами даже гиганты посоперничать не смогут. Единственный минус — заказывать стик пришлось из Воронежа. Он стал самой дорогой покупкой в нашей сборке — 2500 рублей.

Далее — камера Xiaomi Xiaofang 1S. В российском регионе она не поддерживается — и вообще оказалась причиной большой головной боли. В итоге все усилия окупились: ее съемка при отсутствии света настолько детальна, что создается впечатление, будто смотришь голливудский ужастик про искателей паранормальных явлений, которые бродят по темному заброшенному поместью. Еще минус 1500 рублей.

Итого затраты на базовую сборку составили 6300 рублей. Это заставило пролить скупую слезу и вспомнить песню Раджа Капура из фильма «Господин 420», у которого были японские башмаки, английский пиджак, русская шапка, но индийская душа. Так и у нас оказался британский микроконтроллер, китайские датчики, российский USB-стик, а душа этого умного дома воистину открытая: open-source все-таки. Хоть чем-то он и напоминает монстра Франкенштейна.

Подключение всех частей в одну по сложности варьировалось от очень простого до близкого к хардкору:

  • Мы подключили стик к Raspberry Pi, соединили его с интернетом и электросетью и открыли интерфейс управления с планшета.

  • Чтобы подружить микроконтроллер со стиком, установили соответствующий аддон — zigbee2mqtt. У Home Assistant очень богатая библиотека аддонов, но дополнительно мы установили только терминал и VSCode.

  • Далее перешли к подключению розетки и датчика открытия окон: зажали на них единственную кнопку — они обнаруживаются мгновенно. В окне управления увидели, что окно закрыто и что появился новый тумблер (при каждом его нажатии раздавался щелчок: в розетке замыкается и размыкается цепь). Ничего удивительного, но мы увидели мощность сети и потребляемое электричество. Таким же образом можно узнать, сколько действительно миллиампер-часов осталось в батарее старого айфона.

Дальше было немного сложнее. Чтобы подключить умную лампочку от Aqara к умному дому, нужно добавить ее в официальное мобильное приложение и разрешить сторонний доступ. При этом Home Assistant предостерегает, что обновлять прошивку лампочки никак нельзя. Мы послушались совета — и на стартовой странице появилась лампочка. Приложение после этого можно удалить с телефона.

Попутно добавили принтер — теперь можно написать автоматизацию, которая будет считывать количество оставшегося тонера. Осталось не забыть добавить камеру. На GitHub для камер от Xiaomi есть замечательный репозиторий. На нем размещены неофициальные прошивки, которые позволяют подключать Xiaomi Xiaofang 1S к Home Assistant. Выбора не остается, поскольку камера на российском рынке не поддерживается. И тут начался хардкор:

  • Из гайда на ютьюбе узнали, что загрузчик надо записать на карту памяти (она вставляется в камеру), а светодиод на камере должен замигать синим цветом. Попробовали повторить — светодиод горит желтым, не мигая. Жмем на единственную кнопку на камере, и она начинает говорить по-китайски.

  • Подключили камеру к официальному приложению и узнали номер ее прошивки, 5.6.2.43. Все работает — но нам все еще нужно подключить ее к Home Assistant. GitHub утверждает, что обновлять прошивку нельзя.

  • Попробовали использовать загрузчик от другой камеры. Повторили процедуру — и зря: теперь камера даже по-китайски не говорит. В состоянии легкого шока возвратили исходную прошивку и снова подключили ее к приложению. Фух, работает. Гугл не дает никаких ответов. Посмотрели вообще все видеоролики на ютьюбе, посвященные камере. И о чудо: оказывается, у парня, который показал нам работу хака в первом ролике, камера обновлена до прошивки 5.6.2.138. В этом случае не стоило слушать GitHub.

  • Обновили камеру через официальное приложение до последней версии прошивки. Повторили процедуру заливки загрузчика, и… камера наконец замигала синим.

  • Загрузили на камеру саму кастомную прошивку с прописанными SSID и паролем вай-фай-сети. Посмотрели в PingTools размещенные в сети устройства и нашли среди них нашу камеру. Затем пробили в браузере ее локальный IP-адрес и увидели в новой вкладке картинку с камеры и себя на ней. Пора подключать ее к Home Assistant.

  • Здесь нам понадобился аддон VScode. Открыли с его помощью configuration.yaml и копировали туда нужные настройки из GitHub. Картинка стала доступна на стартовом экране. А благодаря специальному боту можно научить умный дом присылать фото и видео с камеры прямо вам в телеграм. Ну кто еще так умеет?

Мы построили умный дом.

Конструктор для взрослых

Поддержка устройств и кастомизация в Home Assistant полностью оправдали ожидания Мы не очень много знали про умные дома, когда начинали эту затею. Сложность настройки может отпугнуть неподготовленного пользователя. Home Assistant может практически все, что захотите, но его точно нельзя назвать «решением из коробки». Придется перечитать кипу документаций, изучить десятки репозиториев и набить немало шишек. Стоит ли создание умного дома подобных усилий? Решать, конечно, вам. Но если вы большой поклонник конструкторов и микроконтроллеров, процесс доставит вам удовольствие. Оправдывает ли такой умный дом свою цену? Определенно да. Это одно из самых доступных решений в этом сегменте. Raspberry Pi, конечно, дороже специальных шлюзов от других производителей, зато обладает большими возможностями.

Вы можете превратить Raspberry Pi в ПК на Linux. Автор этой статьи использует похожую модель: Raspberry Pi 400 в качестве постоянного домашнего компьютера. Если британский микрокомпьютер интересен в таком качестве, рекомендуем попробовать дистрибутив Ubuntu MATE, который имеет прекрасный пользовательский интерфейс и при этом замечательно оптимизирован: видеопоток в FullHD грузится из сети почти без потери фреймов. Если хотите иметь SmartTV с возможностями больше, чем у почти любого телевизора на рынке, для вас сборка под Raspberry Pi — Libreelec c Kodi OS на борту. Подключите его к телевизору и получите широчайший набор плагинов. Однако здесь нужно быть готовым поработать с репозиториями. Захотите заняться метеорологией — сборки под микрокомпьютер есть и для таких задач. Увлечетесь ретрогеймингом — смело ставьте на Raspberry RetroPie, грузите ROMы и подключайте контроллеры. Применений огромное множество.

Богдан Сиротич

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.
Арктика или Антарктика

Быстрый тест на знание полюсов Земли