Умный дом на linux

Умный дом на linux

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

И вот пришла мне в новогодние праздники посылка с одноплатным компьютером Orange Pi Zero 512. На канале «Smart Box» нашел гайд по установке системы умного дома. Но вот не задача. В линуксе я еще полный ноль да еще версия обновилась. В итоге недельного долбления головой о камни удалось таки запустить систему.
И так приступим.

Для начала необходимо приобрести сам одноплатник, Сд карту, я взял аж сразу на 16гб, хотя хватит и 4х. Что бы развернуть ОС на SD карточке нам понадобится кард-ридер. Для соединения с компьютером я буду использовать USB TTL конвертер на базе микрухи CP2102. Так же можно использовать сетевой кабель подключив его в Ethernet разъем.
Переходим к софт-части.
Скачиваем программу для форматирования карты памяти. Опять же по рекомендациям я буду использовать SD Card Formatter.
Программу для распаковки образа на SD карту памяти Win32 Disk Imager.
Ну и сам образ операционной системы, в данном случае Armbian Stretch 4.19

Ссылка на все ссылки с канала Smart Box

Приступаем к подготовке SD карты.
Устанавливаем и запускаем SD Card Formatter.

Тут все просто. В строке Select Cart выбираем нашу SD карту и нажимаем кнопку Format.
При успешной операции получаем окошко с уведомлением.

Закрываем программу.
Следующим шагом распакуем образ ОС.
Запускаем Win32 Disk Imager.

В строке Image File показываем путь к распакованному образу. В строке Device указываем нашу SD карту. И нажимаем кнопку Write. Система предупредит нас о том, что будут затерты все файлы и данные на карте, соглашаемся и процесс пошел. Попутно процессу скачиваем программу для удаленного доступа PuTTY.

По завершению процесса распаковки образа, извлекаем SD карту и вставляем ее в Orange Pi zero.

Подключаем UART переходник к плате

TTL конвертор Orange Pi Zero
1 GND 1 GND
2 RXD 2 TX
3 TXD 3 RX

Для работы одноплатника понадобится блок питания на 5 вольт и 1А.
Подключаем UART конвертер к ПК и через диспетчер устройств смотрим на каком порту сидит наше устройство.

Запускаем свежее скаченную PuTTY.
В открывшимся окне 1. Выбираем тип соединения Serial 2. Прописываем номер COM порта (в моем случае 16) 3. Прописываем скорость обмена данных 115200 бод .

Подаем питание на Апельсинку. И в случае правильного соединение в окне терминала начнется загрузка системы.

Выбираем EN раскладку

В окне терминала вводим root
При запросе пароля вводим 1234. Внимание пароли вводятся, но не отображаются!
Далее стандартная процедура замена дефолтного пароля суперпользователя…
В строке (current) UNIX password: вводим дефолтный пароль — 1234
В строке Enter new UNIX password: вводим свой придуманный пароль
В строке Retype new UNIX password: снова вводим свой придуманный пароль
Создаем нового пользователя
Вводим придуманный логин для пользователя — admin
В строке Enter new UNIX password: вводим свой придуманный пароль
В строке Retype new UNIX password: снова вводим свой придуманный пароль
По желании заполняем данные пользователя
В строке Is the information correct? [Y/n] вводим Y, нажимаем "Enter"
Для завершения настройки размера файловой системы на вашей карте вводим:
sudo reboot

Перезапускаем терминал PyTTY.

В окне терминала вводим логин созданный вами
При запросе пароля вводим пароль созданный вами
Избавимся от проводов для соединения, и подключимся по Wi-fi.
sudo nmtui

Стрелками на клавиатуре выбираем раздел Activate a connection. Нажимаем Enter.
В открывшемся окне, выбираем вашу Wi-fi точку доступа, и вводим пароль. Enter.

Обратите внимание, что при успешном подключение, вперед именем точки доступа будет символ *, а справа красоваться надпись «Deactivate». Если нет, то еще раз выбираем точку доступа и нажимаем Enter.

Выходим из программы выбрав Back затем Quit .
Все на этом можно отключать Апельсинку от питания и UART переходника.

Для проверки соединения зайдем на устройство через Wi-fi. Для этого сначала определим IP.

Запускаем браузер и заходим на наш роутер введя в адресную строку IP роутера. Как правило это 192.168.1.1. И в списке клиентов находим наш OrangePiZero.

Снова запускаем терминал Putty.
1. Тип соединения SSH
2. IP – тот что нашли в настройках роутера
3. порт 22

Нажимаем Open .
Настраиваем операционную систему. (Часовой пояс и локалии)

вводим пароль подтверждение
Выбираем раздел Personal — Enter
Далее выбираем
Timezone – Enter- Europe – Enter- Moscow – Enter-
настройка локалей
Locales – Enter –
Перемешение стрелками вверх-вниз, селект выполняется пробелом Tab переключит на кнопку ОК.

после того как отметили нужные локали нажимаем ОК – выбираем ru и еще раз Ok. Начнется процесс установки.
По завершению установки выходим из менеджера настроек и обновим систему

sudo apt update
sudo apt upgrade – y

Смотрите также

Комментарии 95

Ну начало положено, уже хорошо 🙂 Скоро команды консоли как Отче наш выучишь 🙂
А так, как погляжу комменты, большинство представляет себе умный дом, как "Всем рулю с телефона/пультика, или Сири/Алиса"
Так вот, это — не умный дом, это просто дистанционное управление.
Умнеет он, когда вообще ничем рулить не нужно — все само.
Пример — свет в туалете/ванной горит только тогда когда там кто-то есть (и не нужно махать рукой датчику движения с интервалом 5 минут, когда задумался на горшке, пока ты там — свет не погаснет).
Далее — вытяжка в ванной, включается по влажности, но опять же, ТОЛЬКО когда в ванной никого нет (нефиг сквозняк устраивать, когда я ванну принимаю).
Свет в прихожке, когда заходишь — днем в полную силу, ночью только подсветка ног.
Опять же подсветка ног в коридоре по пути к ванной/туалету/кухне — но только когда погашен основной свет и только ночью.
Пылесос, убирающийся только когда никого нет дома.
Звонок дверной с отправкой уведомлений на телефон.
Датчики протечки, дыма и газа, с перекрытием стояка и воплями опять же на телефон про потоп/пожар в доме.
Регулировка температуры теплоносителя в батареях в зависимости от температуры дома и на улице. Если отопление вырубилось — уведомление, что что-то нее так.
Ну и отключение ненужного автоматически когда никого нет дома.
Это пока тот минимум, который я реализовал

Читайте также:  Как жаловаться в вк

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

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

А по факту — к этим мелочам удобным быстро привыкаешь. Мои домочадцы довольны,

Планирую на даче поставить сервер для управления умным домом. Включение света будет через вай фай реле sonoff, ядро https://home-assistant.io/ .
Вопрос, как сделать управление голосом? Например включить свет. Я думал повесить микрофоны в каждой комнате, но не в теме какое ПО сейчас edge в плане распознавания голоса и последующих кастомных действий.

В идеале без интернета и без ключевой фразы.

  • Вопрос задан более двух лет назад
  • 1781 просмотр

Meliborn, к микрофонам усилки, к усилкам питание и тд
Есть много ньюансов

Я просто указал на сложность задачи

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

Варианты какие есть:
1. Использовать облачный сервис типа Яндекс.Алисы (кстати, платный), поскольку готовые западные не поддерживают распознавание русского, а интеграция с Google-вым сервисом требует наличия постоянной привязки к доменному имени (хотя это конечно решаемый вопрос, теоретически)
2. Использовать библиотеку, расположенную на сервере в доме. Вариант отличный, поскольку не требует подключения к инету и всяких сложных настроек, но. к нему нет готовой интеграции к HASS (либо я не нашел).
3. Использовать телефон с каким-то приложением, использующий штатные возможности Android и iOS и отправляющий команды в HASS (не знаю, есть ли что-то готовое в природе), здесь тоже нужна локальная сеть и/или доступ в интернет и статический IP.

Если все сильно проще, то буду признателен за рекомендации где смотреть/копать.

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

А если вы все-таки решили погрузиться в мир Open Source решений, то мы постараемся раскрыть для вас некоторые важные аспекты этого направления.

Что такое Open Source?

Open Sourcе — в буквальном переводе означает "открытый код". Это означает, что разработчики не скрывают свой программный код, и его может модернизировать или использовать для своих целей абсолютно любой желающий. Естественно, эти программы являются бесплатными. Их разработкой обычно занимаются программисты-энтузиасты, которые, чаще всего группами, занимаются реализацией идей и превращают их в работоспособный продукт.

Конечно, эти программы можно использовать как для личного использования, так и в коммерческих целях. Обычно, его распространяют, базируясь на идеологии GNU GPL.

Плюсы и минусы

Плюсы Минусы
  • Бесплатно
  • Открытый код, который можно дорабатывать и изменять
  • Его можно просто скачать и установить
  • Нерегулярность либо отсутствие обновлений
  • Очень частые проблемы при обновлении (вылетают модули и система перестает работать)
  • Проблемы с поддержкой
  • Отсутствие единого ответственного за продукт
  • Довольно сложная установка
  • Настройка и внедрение занимают значительное время
  • Требуются навыки программирования и знание машинной логики
  • Требуется очень много дополнительной информации для настройки даже тех модулей, для которых существует подробная документация (форумы, чаты и общение со специалистами)

Плюс ко всему, у OpenSource проектов есть один огромнейший минус. Если основная группа разработчиков потеряла интерес к продукту, то он очень быстро "умирает", так как перестает развиваться. Такая же ситуация возможна, если лидер команды решает коммерциализировать продукт, или приходит инвестор, который вообще может закрыть проект или интегрировать его в свой. То есть конечный пользователь останется с тыквой и без туфелек.

Читайте также:  Explay pn 990 прошивка

Выбор системы

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

Home Assistant

Home Assistant — open source система автоматизации, написанная на языке Python3. Она очень активно развивается, выходят постоянные обновления и появляется поддержка очень большого количества новых устройств. Также она довольно простыми способами интегрируется с большинством популярных экосистем и в ней осуществляется поддержка популярных онлайн-сервисов. В рейтинге сообщества Sprut.ai она занимает первое место.

Данную систему можно установить как на практически любой, достаточно производительный одноплатный ПК, так и на любой полноценный компьютер.

Что касается инструкций по установке, то помимо официальных мануалов от разработчиков, у нас есть целый цикл по установке и настройке системы от Александра Жабунина. Система поддерживает различные способы, в том числе и установку в виде распаковки образа на флешку (у нас на портале есть готовый образ для наших пользователей), но существуют и альтернативные способы установки.

Что касается особенностей системы, то одна из самых главных заключается в том, что система имеет два варианта — простой Home Assistant и Hass.io. Разница между ними в том, что в Hass.io есть раздел с аддонами, которые можно установить прямо из веб интерфейса. В простом Home Assistant такой возможности нет. Плюс к этому, есть еще один нюанс. Официальный образ от разработчика отличается от образов и вариантов установки на нашем портале тем, что у официального варианта нет полноценного доступа до хост-системы. В наших вариантах — доступ есть и он полноценный. Иногда это важно. Но некоторым может быть нет, поэтому они могут воспользоваться обычным вариантом установки, предлагаемым разработчиками. А что касается дополнительных настроек, то на нашем портале есть огромное количество информации на эту тему, которую вы можете с легкостью найти по тегу Home Assistant.

Пример внешнего вида интерфейса.

Немного статей по данной системе, с которыми рекомендую ознакомиться.

Homebridge

Homebridge — сервер, написанный на Nodejs с использованием API Apple, который позволяет добавить устройства в ваш Дом, которые не имеют сертификацию и изначально не поддерживают интеграцию в Apple HomeKit.

Благодаря слаженной работе разработчиков, на сегодняшний день, в систему интегрировано очень большое количество устройств. На нашем портале вы можете найти очень много статей на тему Homeridge, которые могут вам помочь в настройке и изучении этой системы.

Homebridge является кросс-платформенным решением, которое можно установить на Windows, Linux и Mac OS X.

Также участниками общества были сделаны образы для Raspberry Pi уже с установленными Homebridge Вариант 1 и Вариант 2.

MajorDoMo

MajorDoMo — система автоматизации, написанная на языке PHP. Система быстро развивается и так же, как и все системы, является OpenSource проектом. Имеет свою армию фанатов. Но чтобы настроить данную систему идеально под себя, потребуются немалые знания языка PHP. Хотя есть поддержка модульной структуры и большое количество готовых модулей. К тому же, в отличии от большинства продуктов, Мажордомо имеет очень мощную Российскую команду разработчиков.

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

ioBroker

ioBroker — еще одна система для построения умного дома, написанная на NodeJS как и Homebridge.

Система тоже очень хорошо развивается и имеет большое количество интегрируемых устройств. Имеет армию своих фанатов, но интерфейс программы оставляет желать лучшего — дизайн остался еще в 2000х годах. Но, как говорится, "на вкус и цвет".

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

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

А если вы хотите почитать побольше, то можете воспользоваться тегом ioBroker на нашем портале.

Node RED

Node RED — визуальная среда программирования, использующая API и онлайн сервисы, соединяющая между собой исполнительные устройства. NodeRED можно установить на любую систему, главное, чтобы можно было установить NodeJS.

Так как данная система является визуальной, то тут Минимум кода и максимум визуальности. Система на нашем портале пользуется большой популярностью и имеет много статей.

Хотя малое количество кода — это не совсем правда. Чтобы создать нечто сложное, вам придется все равно писать и писать код. Для каждого блока в вашей блок-схеме.

Но система обладает значительным преимуществом перед остальными. Она может быть интегрирована с чем угодно.

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

Читайте также:  Как выбрать размер планшета

Статьи по данной теме можно найти на нашем портале по тегу Node Red.

Domoticz

Domoticz — еще одна система управления умными домами. На данный момент тоже активно развивается и можно установить на любую ОС, но система, на сегодняшний день, не является идеальной. Начиная со страшненького дизайна и заканчивая довольно медленным развитием, относительно конкурентов. Именно поэтому в нашем сообществе она не сильно пользуется популярностью.

OpenHab

openHAB — это специальный сервер, который может работать на любом компьютере под управлением любой ОС (вы даже можете использовать RaspberryPi). Вся установка заключается в распаковывании дистрибутива сервера и установке Java машины. Далее начинается процесс настройки и созидания.

OpenHAB, по сравнению с предыдущим участником нашего рейтинга — ioBroker, имеет более современный интерфейс и насчитывает поддержку более 50 протоколов и типов устройств.

У системы есть свои плюсы и минусы, для описания которых понадобилось написать отдельную статью.

Но в целом — это довольно популярная система, которой многие с удовольствием пользуются.

Выбор железа

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

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

Например, Raspberry Pi — это не очень дорого, потребляет мало электричества и обладает миниатюрным размером. Но производительность, для некоторых задач, может быть недостаточна. Да и флешка — достаточно ненадежное устройство для установки системы с постоянно обновляющимися базами данных. А решения с покупкой б/у-шного неттопа, за смешные деньги, имеют место быть. Причем с производительностью не возникает вообще никаких проблем. И хранение на SSD вполне себе оправдывает все. Ну а тем, кто владеет NAS от Synology — вообще повезло. Туда можно поставить все что угодно в Docker.

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

Выводы

Основной вывод — вам придется подтягивать свои навыки программирования. Придется читать много на английском языке, так как оказывается даже самые "безумные", на первый взгляд, автоматизации для вашего дома, кто-то уже придумывал и задача так или иначе была решена. Но придется продираться через обсуждения различных вариантов решений задачи, и они будут содержать значительные куски кода, которые вам надо будет переписывать под себя. Это не так сложно, как может показаться, но занимает много времени. Хотя это, скорее, полезный навык в сегодняшних реалиях, когда даже для простейших автоматизаций в HomeKit уже необходимо понимание машинной логики. Иначе никак.

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

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

Поэтому если вы все-таки решили остановить свой выбор на OpenSource решениях, то на данный момент, среди нашего сообщества, наибольшей популярностью пользуются 3 системы: Home Assistant, Homebridge и MajorDoMo.

Если вы хотите немного покодить, хотите хорошую поддержку большинства устройств, продаваемых на рынке, большое и дружное сообщество, которое вам всегда поможет, то ваш выбор — это Home Assistant.

Если перед вами стоит задача только сделать доступными ваши устройства в приложении Дом на вашем iPhone или iPad, то ваш выбор очевиден — HomeBridge. Возиться с кодом все равно придется, но намного меньше, чем в других вариантах.

Если вам нравится веб интерфейс, вы придерживаетесь классических подходов к визуализации, немного знаете язык программирования PHP и обладаете временем и терпением, то ваш выбор — MajorDomo.

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

Хотите систему функциональную, но более менее поддерживаемую русскоязычным сообществом, но с убогим дизайном, Domoticz — ваше все. Хотя, сомнительный выбор.

Ну и если вы хотите программировать визуально, то для вас подходит NodeRed.

А вот если для вас определяющим выбором является голосовой ассистент, с помощью которого вы хотите управлять своим умным домом, то в принципе Open Source системы как раз являются лучшим выбором для интеграции, так как у них, обычно, есть поддержка нескольких ассистентов одновременно. И это огромный такой плюс для тех, у кого члены семьи пользуются, например, и Android и iPhone.

Home Assistant интегрируется с Яндекс Алисой, Siri и Google Assistant

HomeBridge — только Siri и Яндекс Алиса

NodeRED — вообще с чем угодно, зависит от того, как вы его ставите и с чем он взаимодействует.

Ссылка на основную публикацию
Тест соловея штрассена c
Символ Якоби отличается от символа Лежандра тем, что в первом знаменатель – составное число, а во втором – простое. Алгоритм...
Стрим с камеры телефона
На сегодняшний день сервис YouTube прочно закрепился на позициях лидера мирового интернет медиарынка. Всего несколько лет назад вести свой канал...
Строки в pascal abc
Для обработки строковой информации в Турбо Паскаль введен строковый тип данных. Строкой в Паскале называется последовательность из определенного количества символов....
Тест стиральной машины bosch maxx 5
Самодиагностика – это очень важная функция, которая отличает современные стиральные машины с электронным управлением от старой аналоговой техники. Запустив сервисный...
Adblock detector