Программирование умного дома с чего начать

Умный дом с нуля своими руками или путешествие длиною в год

Данную статью пишу для думающих, стоит оно того или нет, и начинающих построение своего умного дома, надеюсь она поможет сделать вам свой выбор. Для тех кто думает, я не программист у меня ничего не получится, я тоже, хотя имею техническое (теплоэнергетик) образование, но никогда не работал в IT, не знаю ни одного языка программирования. Дорогу осилит идущий. Начнем с рассуждений что такое умный дом, поверьте на слово он не решит все ваших бытовых и семейных проблем, но точно сделает жизнь немного комфортней. Что такое умный дом в моем представлении год назад: 1. Красивый планшет со схемой дома висящий на стене в прихожей с которого можно управлять всем в доме; 2. Управление всем чем можно голосом. Откровение через год: планшет не нужен, так как бегать со второго этажа на первый, чтобы по управлять, неудобно. Что бы хорошо работало голосовое управление, требуется установка умной колонки в каждую комнату, когда их две — это одно. А когда значительно больше — вопрос. Сейчас для меня умный дом это то, что работает само без моего участия, и не требует управления. Все о чем пойдет речь далее сделано мною лично, может можно сделать по-другому, может проще и лучше. Но таков путь.

Краткий ликбез

Системы умного дома

1.1 Mi Home

+ красивые сенсоры и устройства; хорошее мобильное приложение; простое построение автоматизаций;

— закрытая экосистема; данные хранятся на облачных серверах; автоматизации работают через облачные сервера.

1.2 Google home

+ это google, интерфейс на высшем уровне;

— закрытая экосистема; автоматизации работают через облачные сервера; в приложении есть поддержка таких решений, о которых вообще не слышал.

1.3 Domoticz

+ открытая экосистема; большое русскоговорящие сообщество; облако через которое ты можешь зайти на свой сервер; язык для автоматизаций blockly — удобный и понятный;

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

1.4 HomeBridge — для поклонников apple, а так как я сторонник светлой стороны силы, прошел мимо

+ это Apple, интерфейс на высшем уровне и работать должно как часы;

— как мне сделать вот так? — А вам это не надо, мы в Apple решили, что вам нужно только так.

1.5 ioBroker — открыл интерфейс, закрыл и больше не открывал

+ были первооткрывателями много чего, хорошая поддержка многих устройств;

— такой интерфейс в 2020 году преступление.

1.6 MajorDomo — честно говоря как-то прошел мимо

+разработчики наши, мелочь, а приятно;

1.7 Home Assistant — вишенка на торте умного дома

+ открытая экосистема, нормальный интерфейс, который можно настроить самому как угодно, актуальная документация, поддержка всего чего угодно, может интегрироваться с Яндекс Алиса, Mi Home, Google home, HomeBridge, нет ничего невозможного для реализации, автоматизации ограничены только вашей фантазией;

— сложность освоения на первоначальном этапе.

Как вы уже догадались, мой выбор пал на Home assistant и далее речь пойдет о нем.

Железо

2.1 Роутер

Я живу в частном секторе, и у нас один провайдер местного масштаба, который тянет оптику и всем выдает изделие ZTE F660. Два месяца я с ним мучился, каждый день что-то отваливалось и не работало, пока не поменял его на Keenetic Ultra. Все проблемы с отвалами умных устройств как рукой сняло. Так что роутер ключевой элемент умного дома. Цена вопроса зависит от стоимости роутера.

2.2 Сервер

Для работы Home Assistant требуется сервер, на котором будут хранится все данные и управляться устройства умного дома. Тут есть несколько путей: можно установить Home Assistant на компьютер, старый ноутбук под Windows или на мини компьютеры под Linux или Ubuntu, которых сейчас бескрайнее множество, или на NAS. Тут все зависит от вашего желания и возможностей. Так как сервер должен работать в режиме 24/7, то я для себя выбрал вариант Raspberry pi 4b 4Gb. Потому что у него низкое энергопотребление, он бесшумный (эксплуатирую в безвентиляторном корпусе). У меня на нем работает Home Assistant и Plex (медиа сервер) в режиме 24/7 уже полгода, проблем с производительностью нет. Но если вы кроме этого хотите использовать какие-то еще ресурсы, то советую посмотреть в сторону NUC. Хотя начинал знакомиться с системой на Windows 10, но у меня вызывает вопросы ее стабильность с криворукими обновлениями, от которых больше вреда, чем пользы. При использовании Raspberry pi 4b, есть несколько нюансов, должен быть хороший блок питания, который выдает честные 3 А и нельзя устанавливать в безвентиляторном корпусе в закрытые ящики, так как ее рабочая температура около 50 градусов. Цена вопроса Raspberry pi 4b 4Gb около 4 тыс. руб. на Али.

2.3 Стандарты беспроводной связи умных устройств для умного дома

WiFi — он и в Африке WiFi. Для работы нужен WiFi роутер и чтобы устройство умного дома находилось в одной локальной сети с сервером. Большое количестве WiFi устройств особенно видеокамер, может влиять на скорость WiFi не умных устройств. Для стабильной работы умного дома нужен хороший WiFi роутер, причину описал ранее.

Zigbee- энергоэффективный (устройство может несколько лет работать от одной батарейки) стандарт беспроводной связи, позволяет строить ячеистые надежные сети. Для связи умных устройств Zigbee с сервером умного дома нужен координатор (шлюз). Без него умные устройства работать не будут, нужен именно Zigbee шлюз. В Zigbee несколько поколений стандартов, самые распространенные сейчас 2.0 и 3.0. Будьте внимательны шлюзы с поддержкой Zigbee 2.0 не будут работать с устройствами Zigbee 3.0. Новые Шлюзы Zigbee 3.0. имеют обратную совместимость и будут работать с устройствами старого стандарта.

Bluetooth — энергоэффективный (устройство может несколько лет работать от одной батарейки) стандарт беспроводной связи, последние его разновидности в частности Mesh, так же позволяет строить ячеистые надежные сети. Для связи умных устройств Bluetooth с сервером умного дома нужен координатор (шлюз). Без него умные устройства работать не будут, причем нужен именно Bluetooth шлюз.

2.4 Координатор или шлюз. Координатором в Home Assistant могут быть

Шлюзы различных производителей Xiaomi , Тuуа, Sonoff и д. р. Работают через облако (китайские сервера). В основном работают с умными устройствами своей экосистемы. Не поддерживают или не полностью поддерживают умные устройства других производителей. Цена вопроса около 2-3 тыс. руб. на Али.

Stick СС2531, СС2538, СС2652, вставляются в usb сервера, работают по протоколу zigbee2mqtt, поддерживают работу с устройствами большого количества различный производителей, поддержку конкретного устройства можно посмотреть у них на сайте. Работают в локальной сети, даже без интернета. Stick СС2531 не поддерживает больше 32 устройств, если планируете больше умных устройств в своей сети, обратите внимание на Stick СС2538, СС2652, они уже поддерживают более 100 устройств. Цена вопроса около 2 тыс. руб. продают их в Telegram.

SLS шлюз отдельно устройство, такое же как шлюзы Xiaomi , Тuуа, Sonoff, но так же работает по протоколу zigbee2mqtt. И работает со большим количеством различных производителей. Работают в локальной сети, даже без интернета. Цена вопроса около 3 тыс. руб. продают их в Telegram.

Мой путь

В конце 2019 года начитавшись статей на различных сайтах про умный дом приобрел стартовый набор Xiaomi для умного дома и один выключатель решил протестировать умный дом у себя в квартире. Все подключил установил Mi Home и счастливый начал эксплуатировать, так как набор был приобретен в Китае на Али, то работать в регионе Россия он отказался и пришлось его настраивать в регионе Китай. И автоматизация работала через китайские сервера, работала громко сказано. Складывалось впечатление, что майор в Китайском КГБ согласовывал включение света в моей квартире. Задержки в автоматизациях доходили до 5 секунд и работали через раз, 5 раз сработает на шестой нет (видно майор не разрешил). Помучившись неделю, поставил крест на умном доме, снял все датчики и положил в ящик. Тут бы могла история и закончится.

Но в марте 2020 году удалось приобрести частный дом в черновой отделке и решил умному дому быть начал изучать вопрос, перелопатив весь интернет приобрел stick СС2538 и установил Home Assistant на компьютер с Windows 10, сделал копипаст со статей в интернете. И о чудо все заработало задержек нет все включается моментально и работает.

Далее распланировал размещение основного электрооборудования в доме (розетки и выключатели), угадал расположение на 90 процентов, остальное решил купив накладные розетки. Приобрел Raspberry pi 4b 4Gb на Али, купил умные розетки и выключатели Xiaomi (дизайн понравился). Смонтировал все это хозяйство. Установил Home Assistant на Raspberry по урокам Alex Kvazis на youtube, кстати огромное ему спасибо на начальном этапе его уроки были не заменимы делал с них полную копию. Так как другой информации взять было неоткуда, есть хорошее русскоязычное сообщество по Home Assistant в Telegram, но на первом этапе и спросить то не понимаешь чего, и на 90% вопросов получал ответ читай документацию. Я ее честно читал но ничего понять не мог, злился. Сейчас понимаю парней, так же сижу в чате и ежедневно одни и те же вопросы повторяются. Так и хочется сказать читайте документацию. На первом этапе очень помог блог https://ivan.bessarabov.ru/, за что спасибо Ивану.

Начал эксплуатировать на stick СС2538, все работало четко и стабильно. Но тут решил купить светильники на али Xiaomi bluetooth mesh красивый дизайн, регулируется яркость и цветовая температура, так как stick не поддерживает данные устройства был куплен шлюз третий версии от Xiaomi. О нем расскажу отдельно благодаря усилиям @AlexxIT и его интеграции Xiaomi Gateway 3 для Home Assistant, данный шлюз превращается в уникальный продукт, позволяет одновременно параллельно работать умным устройствам и в Home Assistant и MiHome, только умные устройства должны быть Xiaomi. Так же Home Assistant с данным шлюзом можно интегрировать с Яндекс Алисой, Google home и HomeBridge. Так же отдельное спасибо хотел сказать @AlexITон сделал для развития популярности Home Assistant в русскоязычном сообществе очень много, является автором интеграций Sonoff LAN, Yandex.Station. Но есть ложка дегтя в бочке меда шлюза третий версии от Xiaomi, к сожалению производитель в новых прошивках шлюза даты производства с 10.2020 г. закрыл Telnet и теперь без паяльника шлюз в Home Assistant не интегрировать (говорят 10 минут работы и все сделано), но будьте в курсе.

Как вы уже догадались начиная с сентября я переехал на Xiaomi Gateway 3, уже более полугода все работает стабильно, сейчас у меня в эксплуатации 77 устройств Xiaomi, розетки, выключатели, различные датчики.

4. Сейчас уже реализовано

Управления всеми розетками и выключателями кухня

управления всеми розетками и выключателями, из любой точки мира

автоматизировано освещение туалета, ванной, коридора, прихожей, лестницы;

настроено адаптивное освещение, когда автоматически в течении дня меняется яркости и цветовая температура;

Мониторинг погоды

мониторинг погоды и микроклимата в доме

автоматизировано управление батареями в зависимости от температуры;

Мониторинг сервера

мониторинг наличия интернета и сервера;

автоматизировано управление подачи воды в зависимости от времени суток;

Датчики безопасности

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

уведомления о нежелательных событиях в доме остановился котел, с работка датчиков безопасности;

Учет электроэнергии по группам

учет электроэнергии по группам потребителей;

Робот пылесос, увлажнитель

интегрированы различные устройства, с возможностью их управления;

время прибытия транспорта на остановку;

управление умным домом голосовыми командами Алиса и Эй google.

В планах

автоматизировать уличное освещение;

интегрировать ворота Алю тех в Home assistant;

автоматизировать полив растений

5. Где я ошибся

Приобретение умных выключателей, а затем умных лампочек. Адаптивный свет это классно, поэтому умные лампочки нужны, а с ними можно было установить глупые возвратные выключатели. Можно было сэкономить.

Покупка видеодомофона с камерами с Али, сейчас бы купил ip камеры и интегрировал в Home assistant.

Приобретение WiFi видеокамеры Xiaomi внутри дома, которая не интегрируется в Home assistant, сейчас бы купил Reolink.

Заключение

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

Это первая моя статья на habr, если тема умного дома интересна пишите в комментариях о чем хотите узнать все расскажу, просто Home assistant целая планета и в одной статье все не рассказать. Какие темы интересны, что хотите узнать подробней, если будет интерес напишу более подробный материал.

Источник

Программируем умный дом

Многие годы мы мечтали о светлом будущем, когда роботы наконец-то придут в нашу жизнь и начнут кормить нас с ложечки. Мечты сбываются. У нас появилась армия роботов, которые готовы открывать нам двери, включать кофеварки, выходить в интернет с холодильников и смывать за нами в туалетах.

И, как и многое другое в Дивном Новом Мире Большого Брата, практически бесплатно мы получаем термостат с интеллектом кофеварки и кофеварку с интеллектом умственно отсталого муравья. С простецкой ценой в одну смертную душу в виде ваших данных. Всё это пришло вместе с лицензионными соглашениями, которые можно только посылать в филиал ада по соглашениям с Бессмертными Душами, сопроводив запиской: «Учитесь, парни…» (© Терри Праттчет, Нил Гейман — Благие Знамения.)

Не раз мы слышали новости о том, что какая-то нерадивая Алекса позвонила куда-то не туда или Алиса с Сири сливают данные одновременно товарищу майору и мистеру Смиту. Но мы не лыком шиты. У нас есть альтернативы, и с ними мы и познакомимся.

Мир IoT удивительно разнообразен. Системы разнообразны. Нужно сидеть и выбирать, будете ли вы следовать по пути Amazon, Apple, Google, Logitech или Samsung. Сами устройства разнообразны. У вас есть большое количество производителей, каждый из которых предоставляет разные протоколы и стандарты.

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

Можно решить вопрос консолидацией всего на одной из платформ Больших Братьев, а можно взять Ардуину и построить свой умный дом с куртизанками и преферансом. Руки у нас растут из нужного места. Писать на скриптах и питоне умеет каждый. Да и кто из нас, хабровчан, откажется от сомнительного удовольствия провести выходные, настраивая подключение кото-кормушки к камере с сенсорами (так как вы уже давно подозреваете, что ваш кот давным-давно не является единственным котом в доме)?

Итак, что делать, если вы ещё не начали писать программное обеспечение для своего дома сами?

Для начала нам нужно будет разобраться с одной достаточно простой технологией.

MQTT — Message Queuing Telemetry Transport. Протокол передачи сообщений телеметрии. В мире умных вещей на этом языке говорят достаточно многие.

Что самое интересное, протокол был разработан в 1999 году и применялся для снятия телеметрии в газопроводах. Основная идея протокола была в том, что нам был нужен легко реализуемый язык передачи данных с базовыми функциями по подтверждению доставки сообщений в пункт назначения.

В 2010 году протокол был переиздан в свободной форме, а в 2016 стал ISO стандартом.

Идея протокола достаточно проста. Всё работает по TCP/IP на порту 1883. Туда-сюда кидаются бинарные сообщения. Клиент подключается к установленному в сети брокеру, регистрируется на этом брокере и скидывает на него данные.

MQTT не создавался как протокол для настройки и работы с умным домом. Это протокол для автоматизации чего угодно. Но мы можем воспользоваться правилом пятисот дрелей и использовать MQTT как основной подлежащий протокол для всех наших умных замков, розеток и поливалок для цветов (сами устройства ищутся на различных маркетах путём добавления “MQTT” к названию устройства). Не все устройства одинаково хорошо поддерживают этот протокол. Например, если вам не повезло стать владельцем Алексы, то она вообще дружит с MQTT только после конкретной обработки напильником.

Но и не только на MQTT живёт мир. Все устройства с Амазона работают на своём протоколе. Цветные лампочки от Филипса работают на своём. Куда ни ткни — везде свой протокол. Для программирования своего дома вам придётся создавать примерно следующую архитектуру:

  1. Сеть. Самое простое — Wi-Fi. Для продвинутых пользователей шапочек из фольги можно заморочиться и найти Ethernet варианты практически любых IoT гаджетов
  2. Система-брокер. Raspberry PI или любой другой компьютер для обработки сообщений MQTT и других протоколов.
  3. Система хранения данных. Любой достаточно ёмкий диск. Объём ограничивается только вашей фантазией.
  4. Если вы собираетесь управлять своим домом с мобильного телефона — внешний IP-адрес с доменом и Let’s Encrypt.

Но не бойтесь, на самом деле с нуля писать это не придётся. У нас есть большое количество уже существующих open-source проектов, которые позволяют вам просто подключать все эти устройства.

Вот три самых известных системы, на которые следует обратить внимание:

  1. OpenHab, github.com/openhab
  2. Home Assistant, github.com/home-assistant
  3. Homebridge, github.com/homebridge

Вышеописанные проекты получают шикарную поддержку, имеют тысячи звёзд на github и постоянно обновляются. Если вы хотите начать прямо сейчас, то начинать рекомендуется именно с этих систем.

А вот ещё куча систем, которые существуют, но до вышеописанных трёх не дотягивают.

Отдельно в этом списке идут два проекта:

  • fhem.de/fhem.html — с лицензией GNU, написанный на Perl. Этот сервер подойдёт заядлым любителям антилоп. Он упорно развивается и поддерживает множество устройств, но интерфейс оставляет желать лучшего. Плюс я не помню, когда я видел коммит на перле в последний раз.
  • www.eventghost.net — заточен для работы с Windows. Один из тех сайтов-динозавров, который по дефолту не поддерживает HTTPS. Можно просто поставить на флешку. Абсолютно бесполезен для конечного продукта, но может подойти для тестового стенда. Имеет поддержку игрового контроллера Xbox, благодаря чему можно сделать пару отличных штук с детворой.

Идея будет достаточно простой. Берём Raspberry Pi, устанавливаем на неё один из вышеописанных клиентов и начинаем разработку. Если под рукой нет малинки, то систему можно поставить на любой сервер. А если и этого нет в достаточном количестве, то ставить можно будет на обычный компьютер с докером.

Тут надо учесть вот что. Умный дом должен сам менять температуру, включать кофеварки и управлять лампочками, когда надо. Для того чтобы это «когда надо» определить, нам потребуется куча сенсоров и датчиков. А для этого нам нужно будет постоянно быть онлайн, чтобы эти датчики считывать.

Если ваши компоненты не включают в себя такие вещи, как Alexa и тому подобные гаджеты, которые требуют постоянного подключения к интернету, ваш умный дом можно будет строить на air-gapped сети.

Данные никогда не покинут вашего дома и будут храниться на вашем сервере. Но для большинства людей это сомнительное удовольствие. Полный отказ от всех интернет-зависимых сервисов вредит юзабилити.

Например, если вы решили подключить системы стриминга музыки к своему дому. OpenHab позволяет работать со Spotify, который, наконец-то, запустили в России. Более того, тот же OpenHab приучили дружить с Алисой.

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

Опять же, всё это необязательно, OpenHab может жить в пещере внутренней сети. Но если вы выводите систему вовне, то вам нужно будет учитывать два фактора:

  • Вы не должны пропускать никаких инструкций по безопасности. В мануалах большинства из вышеописанных систем есть данные про безопасность соединения. Вам нужно будет прочитать, вникнуть и не упускать из внимания эти инструкции.
  • Вы должны позаботиться о стабильности системы. Если вам припёрло установить датчик наличия кота на опрыскиватель для цветов, чтобы отпугивать усатое чудо от поедания кактусов, то это одно дело. В худшем случае вы либо получите съеденный кактус, либо постоянно мокрого кота. Если вы подключите умный замок к камере внешнего наблюдения, чтобы удалённо открывать двери детям, то это абсолютно другое дело.

Стабильный сервер с хорошим соединением позволит вашим чадам избежать стояния в холодном подъезде по 3 часа, потому что единственный физический ключ есть только у папы, а сервер решил кордампнуть по причине падения IDE жёсткого диска-пенсионера.

Итак, устанавливаем и настраиваем OpenHab. Всё просто, всё на сайте, всё по инструкции.

А вот тут начинается самое интересное. Быстро читаем мануалы (мы же не те самые нерадивые админы, про которых недавно писал Григорий Остер). После чего понимаем, что попало нам в руки.

У нас уже есть полноценная система, которая позволяет создавать виртуальные пространства, описывать в них компоненты и подключать к этим компонентам физические устройства. Устройства передают данные на сервер через протокол MQTT, сервер их собирает и хранит. Но теперь при наличии этих данных мы можем провести их анализ и написать скрипты, которые позволили бы создать систему автоматизации.

И вот как раз тут-то у нас начинается самая веселуха. OpenHab поддерживает из коробки NodeRed и Jython. Свой дом можно превращать в цифровую крепость на визуальном Node.js или питоне. Идея достаточно проста — у нас есть данные о состоянии датчиков. Обрабатываем эти данные скриптом и запускаем различные устройства в ответ на найденные состояния. Естественно, встроенная система создания интерфейсов в OpenHab позволяет вам нарисовать нужные кнопки и переключатели, которые имеют биндинги к уже существующим данным в базе.

Более того, если ваше устройство поддерживается из коробки, вам даже не нужно будет делать ничего особого. Просто берёте, рисуете переключатель и привязываете состояние лампочки к этому переключателю. И вот — вы можете выключать свет с вашего телефона.

Но это дико неинтересно. Это сегодня может сделать любая лампочка из коробки.

Вы же можете написать скрипт, который будет отслеживать координаты вашего телефона и в зависимости от времени суток выставлять правильную степень яркости ваших лампочек. Или, например, создать систему «следования» в музыкальном проигрывателе, которая автоматически переключает вашу музыку на колонки в той комнате, в которой вы находитесь.

Загвоздка заключается в том, что после написания пяти различных скриптов для пяти различных девайсов, я устал. И решил на всё забить. Если уже и писать систему, так делать её универсальной.

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

Открываем openhab.cfg и создаём биндинг:

После этого описываем устройство:

И добавляем обработчик события:

И таким образом мы получаем данные из устройства. И попутно сидим и молимся о том, что в данном случае кодировка UTF-8 сработает (спойлер, на одном устройстве она сработала). Если кодировка не работает и на входе вы получаете мусор, то тут можно разбираться до конца времён. Но те, кто работал с Java, знают как в этом разобраться.

Для тех, кому это делать лень — можно пойти другим, намного более извращённым путём, который будет транслировать сообщения из TCP или UPD в JSON. Этот способ прост, если у вас есть много устройств, на которые надо отправлять команды, но из которых необязательно получать ответы. Берём любимый язык программирования и пишем свой сервер, который принимает команды на одном конце и выдаёт последовательности бит на другом. Это займёт больше времени, но если у вас есть большое количество китайских несговорчивых устройств, это может сэкономить некоторые телодвижения.

Я, например, решил эту проблему созданием сервера, в сердце которого лежало 60 строк на C#:

Так как в основном мне предстояло передавать команды на устройства, а не получать из них данные, я написал этот скрипт, который преобразует строку текста в правильную кодировку, биты или байты и посылает их в нужном направлении.

С такой заглушкой можно было быстро подключить кучу разношёрстных разноязычных устройств к openHab и продолжать конфигурировать систему.

Собственно говоря, тут уже можно делать что только душе угодно.

Более того, если вам удалось отхватить какое-то автоматическое реле за 100 рублей на “Алибаба” три года назад и оно всё ещё пылится без дела, то вы можете подключить это реле в OpenHab. Большинство дешёвых китайских подделок работают по каким-то только им известным бинарным или полутекстовым протоколам. При помощи Jyton вы сможете подключиться к несчастному реле руками через сеть и написать функции, необходимые для включения и выключения этого реле. После чего эти функции можно смело импортировать в сам OpenHab и использовать для построения своего дома.

При всём при этом, как вы видите, входной порог достаточно низок. Для того чтобы начать играться с этими системами автоматизации, вам не нужны никакие подписки. Все open-source. Wi-Fi реле можно найти меньше чем за 1000 рублей.

Для успешной работы с системами вам нужно будет выучить либо питон, либо визуальный Node.js. Если вы будете серьёзно программировать устройства, то вам потребуется понимание протоколов передачи данных, таких как MQTT. Но всё это необходимо, если вы будете серьёзно экономить на устройствах. Если же вы пойдёте путём покупки брендового оборудования, то можно обойтись программированием по методу щёлканья мышкой.

Но какой же умный дом, без того, чтобы можно было зайти и сказать: “Милая, я вернулся!”, ожидая, что ваша теперь уже напичканная электроникой квартира ответит что-то в стиле: “Сию секунду делаю кофе!”

Не стоит думать, что Алекса, Сири, Алиса и Кортана единственные на рынке (и Гугл, у них тоже что-то есть, но оно абсолютно безликое).

Один из самых больших проектов на github с открытым кодом голосового помощника называется Leon. Система сделана французом, и этот проект собрал 5.4 тысячи звёзд на платформе. Расширяемый и переписываемый помощник, который можно подключить к вашему умному дому.

После, у нас есть JARVIS из Железного Человека. Он зиждется в этом репозитории. github.com/sukeesh/Jarvis. По умолчанию этот помощник умеет работать с базовыми действиями из командной строки. После небольшой конфигурации ему можно включить голос, и писать скрипты для обработки более сложных команд.

Далее можно будет подключить SAPI модуль для обработки вашего голоса и можно запускать скрипты, которые будут дёргать ваши команды через API в OpenHab. Это позволит вам создавать вашу собственную Сири в пределах отдельно взятой сети.

Оба вышеописанных проекта написаны по лицензии MIT.

Чуть более популярная чем Jarvis, но уступающая Леону — система Mycroft. Лицензия в данном случае — Apache, и сама компания заточена на продажу собственных гаджетов в виде умных колонок и дисплеев. Хотя система и запускается в докере, но она очень просится в интернет, особенно если вы прикупите себе Mycroft гаджетов.

Существуют и другие, менее успешные open-source системы распознавания голоса. Их можно нагуглить, но они более узко специализированы и их удобнее использовать как API для ваших приложений, нежели как самостоятельные проекты.

Предупреждаю только вот о чём:

Устанавливать систему распознавания голоса надо на более продвинутое железо. Тут одна малинка не прокатит. Для того чтобы хостить собственную модель для распознавания речи, вам потребуется что-то, как минимум, с восемью свободными гигами оперативки. И желательно с приличным процессором, особенно если вы захотите как следует натаскать её на ваш голос. Так что внезапно простая затея с умным домом превращается в настройку сервера в стойке и перерастает в многолетний проект. Так что будьте осторожны.

После этого вам потребуется день на то, чтобы как следует разобраться в документации, а дальше у вас не будет никаких ограничений.

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

Мир open-source избушки на курьих ножках достаточно прост и доступен. Дерзайте.

НЛО прилетело и оставило здесь промокоды для читателей нашего блога:

— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS .

Источник

Adblock
detector