Продолжаем строить умный дом вместе.
После того, как мы создали специальный хаб HomeBridge на основе компьютера Raspberry Pi, пришло время подключать умные устройства с его помощью к HomeKit.
Для начала потребуется произвести еще несколько манипуляций с нашим мостом, чтобы потом можно было легко решать возникающие проблемы.
Как настроить SSH на Raspberry Pi
SSH — это сетевой протокол для удаленного управления системой. С его помощью больше не потребуется подключать наш хаб к монитору или телевизору для внесения изменений или конфигурации ПО.
Не пренебрегайте данным шагом, ведь в процессе дальнейшей настройки вы неоднократно столкнетесь с неработоспособностью плагинов, неверно составленным файлом конфигурации, другими сбоями и проблемами, которые удобнее решать удаленно.
1. На Raspberry Pi необходимо перейти в консоль и ввести команду:
sudo raspi-config
2. В открывшемся меню конфигурации следует перейти в раздел Advanced Options.
3. Находим пункт SSH и активируем его.
4. Проверить успешную активацию протокола можно следующей командой в терминале:
sudo service ssh status
5. Для доступа по SSH используются такие учетные данные:
логин: pi
пароль: raspberry
6. В настройках Raspberry можно изменить эти данные.
Самый простой способ включения SSH:
Можно вообще обойтись без клавиатуры и монитора для Raspberry, но к сети её нужно подключить через кабель, а не по Wi-Fi.
1. На карте памяти с записанным образом для Raspberry Pi находим раздел Boot.
2. Создаем в ней файл ssh без расширения.
3. Устанавливаем карту в Raspberri и после загрузки SSH будет подключен.
Спасибо читателю jBo!
Как подключиться по SSH
После того, как SSH подключение настроено, к «малинке» можно подключаться с других устройств внутри локальной сети. Монитор и клавиатура для Rasperry больше не потребуется.
Нужно лишь узнать IP-адрес устройства в сети. Сделать это можно из графического интерфейса микрокомпьютера, через приложение своего роутера, его веб-интерфейс или любым другим доступным способом.
Для получения доступа по SSH на Windows делаем следующее:
1. Устанавливаем приложение PuTTY.
2. В приложении на вкладке Session указываем IP-адрес Raspberry и порт 22.
3. Подключаемся, используя установленный логин и пароль для авторизации.
Для получения доступа по SSH на macOS делаем следующее:
1. Запускаем приложение Терминал.
2. Вводим команду (используя IP-адрес своей «малинки»):
ssh [email protected]
3. Подтверждаем желание подключиться и вводим установленный пароль.
Для получения доступа по SSH на iOS делаем следующее:
1. Устанавливаем приложение Termius – SSH client из App Store.
2. Создаем новое подключение, указывая IP-адрес, порт, логин и пароль.
3. Подключаемся по настроенному соединению.
Теперь можно удаленно посылать команды «малинке», перезагружать её и менять файл конфигурации HomeBridge.
Запоминаем нужные команды:
sudo reboot
– для перезагрузки Raspberry (SSH-соединение будет прервано)
sudo -n systemctl restart homebridge
– для перезапуска сервера HomeBridge
nano ~/.homebridge/config.json
– для открытия файла конфигурации HomeBridge
Как подключить умные устройства
Для работы умного девайса с HomeKit через прослойку в виде HomeBridge требуется две вещи:
- установленный плагин
- данные об устройстве в файле конфигурации
Искать плагин можно самостоятельно. На просторах GitHub можно найти файлы практически для любого умного устройства.
Просто впишите в Google: mi air purifier 2 homebridge (для очистителя воздуха Xiaomi Mi Air Purifier 2) и по одной из первых ссылок найдете нужный плагин.
Альтернативным способом поиска плагинов является специальный раздел в веб-интерфейсе HomeBridge. Если устанавливали систему по нашей инструкции, веб-интерфейс уже должен работать. В противном случае ищите данные об установке веб-интерфейса в этой статье.
На специальной вкладке Плагины можно осуществить поиск нужного дополнения, аналогично поиску в Google. Вписываем название девайса (с китайскими гаджетами от всевозможных суб-брендов придется повозиться) и выбираем один из предложенных плагинов.
Установка нужного плагина
На GitHub странице плагина или на другом сайте, где было найдено дополнение, первым делом описывается процесс установки.
Для установки непосредственно на Raspberry Pi или через SSH используется приведенная в описании плагина команда такого вида:
sudo npm install -g homebridge-mi-acpartner
Для установки через веб-интерфейс достаточно нажать кнопку Install возле найденного в поиске дополнения.
Изменение файла конфигурации
Файл конфигурации тоже может быть изменен на самом устройстве с сервисом HomeBridge, через SSH или через веб-интерфейс. В первом случае редактируем файл config.json командой nano ~/.homebridge/config.json, а во втором переходим в визуальный редактор на вкладке веб-интерфейс.
На странице с описанием плагина находим пример конфигурации:
"platforms": [{
"platform": "XiaoMiAcPartner",
"devices":{
"192.168.31.120":"your_token_here"
}]
Нужно интегрировать данный код в уже имеющуюся конфигурацию.
В большинстве случаев плагины интегрируются в разделы “platforms” или “accessories”. Особо сложные дополнения могут иметь части кода в обоих разделах.
Тем, кто сталкивался с программированием, не составит труда корректно внести нужные части кода, другим рекомендуем внимательно методом проб и ошибок научиться редактировать файл конфигурации. Без этого все равно ничего не получится.
Заполнение параметров устройства
Обратите внимание, что в большинстве случаев требуется указать два параметра подключаемого девайса: IP-адрес и токен. С поиском адреса в домашней сети проблем не возникнет (ищите через приложение роутера или его веб-интерфейс), а вот с токеном не так все просто.
Уникальный идентификатор умных устройств можно получить разными способами. Самый простой – воспользоваться модифицированным приложением Mi Home на Android. Если смартфона или планшета с нужной ОС на руках нет – устанавливаем эмулятор Android по инструкции.
1. Устанавливаем на Android модифицированное приложение Mi Home.
2. Авторизуемся в своей учетной записи с указанием правильного региона (в большинстве случаев это Материковый Китай).
3. Находим нужный девайс и в разделе Настройки – Общие параметры – Информация о сети видим поле с нужным нам токеном.
Здесь же можно найти IP-адрес.
Для устройств других производителей придется использовать другие способы добычи токенов.
Теперь можно заполнить данные девайса в конфигурации, сохранить файл и перезагрузить HomeBridge.
Если все было сделано верно, устройство появится в приложении Дом на iPhone и им можно будет управлять, как нативным девайсом с поддержкой HomeKit.
Проблемы и их решение
Если фай конфигурации был изменен с ошибками, то HomeBridge повторно не запустится. Об этом вы поймете по зависшему веб-интерфейсу или по «отвалившимся» устройствам в приложении Дом.
Не стоит паниковать! Порядок действий следующий:
1. Подключаемся к Raspberry Pi по SSH.
2. Открываем файл config.json для редактирования.
3. Пытаемся найти ошибку или просто удаляем последний внесенный блок кода.
4. Сохраняем файл (Comman+X при работе в терминале или по SSH).
5. Перезапускаем HomeBridge командой: sudo -n systemctl restart homebridge.
Вот так происходит добавление всех умных устройств в HomeKit через HomeBridge. Не забывайте периодически сохранять удачные версии конфигурации.
29 комментариев
Форум →Мммм умный дом, розетка для чайника да пара лампочек :)
предлагаю переместить задротский Raspberry сразу в ёмкость которая часто у всех под раковиной на кухне
@StrongTequila, в серверную?
@Артём Суровцев, у тебя серверная под раковиной?
Где нажать чтобы таких статей на Айфонсе стало больше?
@Menzoberonzan, Ваш комментарий – уже хороший стимул развивать тему. Спасибо!
Поддерживаю! Больше таких статей. Я когда разбирался с малинкой и ее pin-ами впервые собрал простую микросхему с ик излучателем датчиком влажности температуры для управления кондееями в доме. Понятно что есть уже куча устройств в коробке но эти устройства никогда не расскажу тебе как они работают, что надо ставить сопротивление, транзистор, как импульсами тока на пине малинки союздается ик излучение которые считывают тв кондеи и прочие. Для радиолюбителей ардуинка и малинка огонь.
Зал это в смысле большая комната? (%
@iknyazhev, гостиная)
А не подскажете способ настроить так чтобы когда hombridge крешил, то он перезапускался. Вообще плагины это хорошо, но я хочу сделать систему отказоустойчивой, но у меня аптайм лишь в несколько дней, стабильно что то откзывает время от времени.
@i.v.kuznetsov, у меня homebridge работает месяцами стабильно. Запускаю через forever.
@i.v.kuznetsov, просто разберитесь, в чем проблема, откидывайте плагины по одному и тестируйте. Система на самом деле очень стабильная и проще найти причину сбоев, чем искать костыли для автоматического перезапуска
@Артём Суровцев, Да я понимаю что проблемы в плагинах. Сам хоумбридж конечно стабилен, но без плагинов в нем нет смысла. Задолбаешься каждый из них разбирать и допиливать до рабочего состояния. Если плагин гдето внутри крешит раз в пару дней проще сделать так чтобы хоумбридж перезапускался сам, чем искать где там что. Последний раз ставил себе 3 реле sonoff для освещения и вентилятора, и плагин написан так, что опрашивает синхронно все реле. И если вдруг одно реле не под питанием то вешается весь homebridge до тех пор пока не будет таймаут). И подобные косяки в каждом плагине есть. Они как бы работают в стерильных условиях, но если вдруг что не по плану, то все ломается.
@i.v.kuznetsov, полагаю, запустить его не как сервис, а как демон через systemctl.
@Soren Vakarian, Спасибо погуглю)
В прошлой статье писал, и сейчас напишу.
Самый простой способ получить включить SSH на малине, без монитора/клавы:
При записи образа на карту microSD на ней создаётся раздел Boot.
Создаём в этом разделе файл с именем ssh без расширения. Все!
Просто втыкаем питание и «витуху». Находим малину в сети и подключаемся к ней по SSH.
Артем, добавьте в статю! Это самый простой способ!
@jBo, Спасибо! Добавил. Слышал и ранее про данный способ, но не пользовался из-за необходимости тянуть кабель к малине.
@Артём Суровцев, ну так подключить достаточно один раз, из консоли настроить WiFi. А образ можно поставить без GUI, что лучше для малины, если использовать ее как шлюз.
@Артём Суровцев, и ещё исправьте. Не ПАПКА boot, а раздел. После записи образа на карту этот раздел – единственный, который определяется системой.
“к сети её нужно подключить через кабель, а не по Wi-Fi.” – вот так не понимай – у меня дома тока все через вайфай
Познавательная статья. Но только скажите – пара лампочек и датчиков стоят этой ебли? Ну нафиг. :)
Годнота!
Спасибо за интересный материал.
А ни у кого не было проблемы с третьей версией малинки, которая с вай фаем встроенным? У меня перестал работать на ней вай фай. Уже несколько раз перезаписывал убунту и всё никак. Просто перестал работать
@boshlin, попробуйте другую SD карту. Часто на негодных картах система криво работает. Если не поможет, тогда пробуйте другой образ поставить.
Про SprutStick напишите. Это очень удобно. Без всяких gw от xiaomi. У само rb3 стоит с таким свистком. Все отлично работает. Спасибо Спруту.
Давайте больше таких статей!
Расскажите людям про Home Assistant.
Подскажите, а можно ли в этот хам воткнуть uzb stick от z-wave что бы получился полноценный z-wave контроллер-транслятор в HomeKit?
SSH в Windows 10 работает в Power Shell
Подскажите, можно как-то подключить кровать с поднимающимся изголовьем к HomeKit – есть ик-пульт и есть приложение для управления поднимающимся изголовьем? У пульта 6 кнопок
Занимаетесь ли вы платно такими подключениями и настройками? Есть еще несколько задач…
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Тупит Viber на macOS, как исправить
Почему iOS 12 требует ввод пароля при подключении к CarPlay
Как передать Slo-Mo видео через iMessage
Проблемы с Lightning-кабелем. Как разобраться, в чем дело?
Как сделать снимок экрана на Apple Watch
Как выбрать позицию для открываемых вкладок в Safari на Mac
Как отключить push-рекламу оператора на iPhone?
3.5 мм разъем на Mac периодически не видит колонки, что делать?