Управление устройствами через браузер
Программа для удалённого доступа к компьютеру позволяет воспользоваться устройством на расстоянии. Например, когда возникает необходимость в скачивании файлов с личного ПК, решении технических проблем близких. Специально установленная утилита открывает доступ к устройству: его настройкам, приложениям, данным.
Одна из лучших программ для управления компьютером на расстоянии. Утилита легко устанавливается и используется. При этом программа не требует изменения настроек брандмауэра, маршрутизатора. Teamviewer отличается от других софтов для «дальнего» администрирования широким функционалом:
- безопасный доступ к автономно работающим устройствам;
- выход из спящего режима, перезапуск и скачивание приложений;
- гибкие возможности совместного использования файлов;
- печать на расстоянии;
- межплатформенный доступ и другие опции.
Плюсы программного обеспечения:
- Понятный интерфейс, в котором разберётся даже новичок или непродвинутый пользователь. Teamviewer просто запускается, при этом для доступа к компьютеру достаточно знать ID и пароль.
- Возможность скачать «мобильную» версию софта. Она используется без установки, но доступные функции ограничены. «Мобильная» версия удобна, когда нужно одноразово подключиться к устройству на расстоянии.
- Создание и сохранение настроек для каждого ПК, возможность дистанционно управлять компьютером со смартфона.
- Удалённый доступ к мобильному (для этого разработчики выпустили специальную версию).
Teamwier не лишён недостатков:
- Утилита бесплатна для некоммерческого использования. Если программа посчитает, что пользователь применяет приложение в целях коммерции, возникнут трудности с доступом к ПО.
- Администрирование нескольких компьютеров платное.
Программное обеспечение подходит для подключения к удалённому компьютеру. Она понравится новичкам, непродвинутым пользователям. Плюсов у утилиты больше, чем минусов. Поэтому Teamwier — лучшая программа удалённого доступа к компьютеру.
AnyDesk
AnyDesk — вторая по популярности программа для удалённого управления компьютером. ПО отличается простым, красочным интерфейсом, базовым набором функций в частной бесплатной версии. Как отмечают разработчики, особенности выпущенной утилиты в высокой скорости работы, маленьком объёме передаваемого трафика. Программа не требует отключения графики, уменьшения разрешения экрана.
Другие преимущества AnyDesk:
- базовый функционал, который нужен для работы с удалёнными устройствами;
- высокая скорость трансляции даже при нестабильном интернет-подключении;
- оригинальный интерфейс;
- сохранение подключенных устройств для быстрого доступа к ним;
- возможность одновременного управления несколькими удалёнными ПК;
- передача файлов двумя способами: копированием-вставкой, использованием специального менеджера.
Недостатки ПО:
- платный доступ к большинству функций: блокировка мыши и клавиатуры, запись удалённого сеанса и так далее;
- отсутствие чата для общения;
- высокая стоимость платной версии.
AnyDesk подходит для частного использования. Программа не перегружена функционалом, поэтому быстро подключается к удалённому устройству, делая дистанционное управление удобным.
Ammyy Admin
Программное обеспечение схоже с TeamViewer. Однако Ammyy Admin отличается более простым интерфейсом, ограниченным функционалом. Утилита бесплатная для некоммерческого использования (до 15 часов в месяц). Для безлимитного доступа к приложению нужно приобрести платную версию. Стоимость ниже, чем у TeamViewer, но и полезных функций в Ammyy Admin намного меньше.
- понятный интерфейс;
- высокая скорость подключения за счёт оптимизации трафика;
- базовый функционал: возможность управлять файлами, общаться в чате, дистанционно пользоваться устройствами;
- приемлемые цены на платные версии приложения;
- 15 часов работы в месяц в бесплатном тарифе (этого времени вполне достаточно при нечастом пользовании дополнением).
Минусы Ammyy Admin:
- ограниченный функционал, который не подходит для серьёзного администрирования;
- отсутствие мобильной версии;
- неудобное управление несколькими ПК;
- при долгом пользовании происходят обрывы соединения.
Ammyy Admin прост в установке, использовании. Программа работает на высокой скорости. Инструмент подходит для короткого по времени подключения. Например, чтобы помочь непродвинутому пользователю настроить компьютер. Утилита полезна и тем, кому нужен нечастый доступ к ПК.
AeroAdmin
AeroAdmin — одна из программ для доступа на расстоянии. Дополнение бесплатно для коммерческого и некоммерческого пользования с существенными ограничениями. К лимитам относится время (17 часов подключения к одному устройству в месяц), количество соединений (2), отсутствие функции передачи файлов. Для безграничного пользования дополнением нужно приобрести платную версию.
Преимущества AeroAdmin:
- производительность (долгая загрузка, обрывы соединения);
- ограниченный набор инструментов для общения.
AeroAdmin — ПО, которое предлагает широкий выбор функций за приемлемую цену. При этом бесплатный тариф также включает в себя базовые опции, нужные для дистанционного управления. Утилита подходит для постоянного пользования. Нечастое применение инструмента позволяет сэкономить на платном функционале.
Radmin
Программа отличается широчайшим функционалом, но у неё нет бесплатного тарифа. Для пользования Radmin придётся заплатить. Однако разработчики предлагают новичкам 30-дневный бесплатный период. Этим можно воспользоваться, когда не требуется постоянный доступ к удалённому устройству. Особенность Radmin в том, что оно было выпущено ещё в прошлом веке. Но до сих продолжает функционировать.
Достоинства Radmin:
- широкий функционал;
- редкие опции: защита от подбора паролей, принудительное завершение работы ПК, подключение к BIOS удалённого устройства;
- надёжность и безопасность;
- высокая скорость работы;
- возможность серьёзного администрирования.
- отсутствие бесплатного тарифа;
- сложная установка и настройка (требуются специальные знания, навыки);
- мигание изображения при запуске приложения (на некоторых мониторах);
- использование IP-адрес клиента, что усложняет удалённое управление через интернет.
Полная версия Radmin позволяет провести серьёзное администрирование удалённого компьютера. Однако если инструмент нужен на короткое время, то подойдёт пробный период программного обеспечения.
UltraVnc, TightVnc
Преимущества дополнений:
- огромное количество опций;
- совместимость с другими плагинами, дополнениями, которые упрощают пользование программными обеспечениями;
- бесплатный доступ.
- сложная настройка, установка;
- непонятный интерфейс;
- отсутствие русской версии;
- приложения не защищены от утечек данных;
- ПО подходят только системным администраторам.
UltraVnc, TightVnc — лучшие бесплатные утилиты для доступа к устройствам на расстоянии. Однако рядовым пользователям, которым нужно подключиться к компьютеру кого-то из близких, знакомых и так далее обеспечения не подходят. Программы разработаны для системных администраторов.
mRemoteNG
MRemoteNG — менее известный менеджер удалённых подключений. Инструмент позволяет присоединиться к различным серверам, среди которых ssh, rdp, vnc, выстраивать древовидную схему вложений для дальнейшего доступа, сохранять учётные данные. Программное обеспечение сочетает в себе много функций. При этом не нуждается в установке плагинов, дополнений.
Плюсы mRemoteNG:
- запускается без установки;
- подключение к серверам из одного места;
- синхронизация через облачные хранилища файлов.
- сложный интерфейс;
- отсутствие русской версии;
- неудобное переключение окон;
- временами нестабильное соединение;
- отсутствие пароля на запуск (опция важна, так как в приложении хранятся все данные).
MRemoteNG — программа, которая разработана для системных администраторов. Обычным пользователям ПК будет сложно в ней разобраться. Несмотря на большое количество недостатков, «юзьеры» рекомендуют утилиту, считая её удобной, функциональной.
Rms или Remote Utilities
Rms — одна из самых функциональных программ для доступа к устройствам на расстоянии. ПО можно использовать бесплатно в коммерческих и некоммерческих целях (разрешено управление несколькими компьютерами). Однако возможности инструмента несколько ограничены (не касается рядовых пользователей). Remote Utilities реализована в нескольких модулях: Host, Viewer, Agent, Remote Utilities Sever.
Преимущества дополнения:
- запись удалённого экрана;
- несколько режимов подключений;
- поддержка RDP через интернет;
- возможность воспользоваться утилитой без установки;
- встроенный чат, файлообменник;
- установка и развёртывание ПО на расстоянии;
- поддержка режима нескольких мониторов;
- мобильная версия.
- частичный перевод программного обеспечения;
- поддержка Windows 7, 8 10 (для других операционных систем приложение недоступно);
- сложность в использовании ПО.
Remote Utilities — бесплатная, многофункциональная утилита для доступа к компьютеру на расстоянии. Подойдёт как профессионалам, так и опытным пользователям. Новичкам же будет достаточно сложно в ней разобраться.
RemotePC
RemotePC — дополнение для дистанционного управления устройством через другой ПК. Утилита позволяет на расстоянии подключиться к компьютеру через телефон. Особенность ПО в том, что его можно использовать как пульт. RemotePC доступна бесплатна, но тариф сильно ограничен.
- поддержка веб-интерфейса;
- наличие бесплатного тарифа;
- мобильная версия;
- доступ к разным протоколам связи;
- подключение через прокси.
- нет русского языка;
- нестабильность соединения при передаче файлов.
RemotePC — утилита с ограниченными бесплатными тарифами, отсутствием русской версии. Поэтому больше подходит для одноразового удалённого подключения.
Для управления сторонним умным устройством зарегистрируйте и настройте его в приложении производителя, а затем свяжите аккаунт производителя с Яндекс ID. После этого вы сможете управлять устройством как через приложение производителя, так и через Алису и приложение Дом с Алисой.
Чтобы зарегистрировать стороннее умное устройство:
Подсоедините устройство к электросети и включите его.
Скачайте приложение производителя для управления устройством:
Откройте приложение и войдите в свой аккаунт на сайте производителя. Если у вас еще нет аккаунта, зарегистрируйтесь.
Настройте устройство в приложении. Обратите внимание, что для подключения некоторых устройств вам понадобится специальный контроллер — хаб умного дома. Уточнить, нужен ли он для работы устройства, можно на сайте производителя.
Если в процессе настройки вам предложат выбрать регион, где расположено устройство, выберите Россию или другой географически близкий регион. Иначе ваши команды будут отправляться на устройство через удаленный сервер — это замедлит скорость отклика.
Для подключения и управления умными устройствами вам понадобится аккаунт на Яндексе. Если у вас еще нет аккаунта, зарегистрируйтесь.
Если это ваше первое умное устройство, нажмите на баннер Устройства , затеми выберите производителя устройства в списке.
Если у вас уже добавлены умные устройства, в правом верхнем углу нажмите → Устройство умного дома и выберите одного из предложенных производителей или нажмите значок лупы, чтобы найти нужного.
Чтобы настроить устройство, в приложении Дом с Алисой нажмите на него и измените настройки:
Если ваше устройство — выключатель или умная розетка, к которой присоединен осветительный прибор, измените тип устройства на «Освещение» . После этого вы сможете управлять устройством с помощью команд включения и выключения умных лампочек, а также добавить его в группу осветительных приборов.
Выберите дом и комнату, где расположено устройство. Так его будет проще найти в списке компонентов умного дома в приложении Яндекс.
Добавьте устройство в группу устройств. Группы удобно использовать, когда нужно управлять несколькими устройствами одного типа одновременно.
В приложения Дом с Алисой нажмите → Устройство умного дома и выберите производителя умного устройства.
Примечание. На один аккаунт может быть добавлено не больше 301 устройства. Это нужно, чтобы обеспечить стабильность и синхронность выполнения команд, которые затрагивают несколько устройств.
Управлять умными устройствами можно из приложения Дом с Алисой или любого устройства с Алисой.
В приложении Дом с Алисой
Откройте приложение Дом с Алисой. Убедитесь, что вы используете аккаунт, связанный с аккаунтом производителя устройства.
Кроме того, на экране управления устройством могут отображаться текущие показания его датчиков. Например, кондиционер может сообщать о температуре вокруг, а увлажнитель — о влажности воздуха и уровне воды в своем баке. Показатели датчиков помогут вам выбрать правильный режим работы и не забыть вовремя обслужить устройство.
Поддерживаемые датчики перечислены в документации о навыках Алисы.
С помощью Алисы
Позовите Алису и попросите выполнить нужное действие с устройством: включить или выключить, поменять цвет или яркость, перевести в другой режим работы и т. д. Чтобы посмотреть список поддерживаемых команд нажмите на устройство в приложении Дом с Алисой. Доступные команды отображаются на вкладке Голосовые команды . Команды можно выполнять с задержкой или в определенное время.
Чтобы включить или выключить устройство, достаточно просто сказать его название — оно сменит свое состояние на противоположное: включится, если сейчас выключено, и наоборот.
Узнать состояние устройства
Вы можете узнать у Алисы, включено или выключено умное устройство, в каком режиме оно работает, а также что показывают его датчики.
Просто спросите — и голосовой помощник опросит нужное устройство и скажет его текущий статус или показатель. Подробнее читайте в разделе Узнать состояние устройства.
Решение проблем
Если не получается управлять умным устройством, убедитесь, что выполняются следующие условия:
Для управления умным устройством нужен аккаунт на Яндексе, поэтому управлять без авторизации (например, через наушники или часы) не получится.
На устройстве или в приложении Дом с Алисой войдите в аккаунт, который связан с аккаунтом производителя.
Если вы хотите отправлять команды через Алису в Яндекс Браузере, включите в нем синхронизацию.
Если вы хотите изменить настройки только одного устройства, уточните в команде его название, если управляете несколькими — назовите дом, комнату или группу, к которой относится команда.
Их можно не уточнять, тогда Алиса применит команду к той комнате, где стоит умная колонка, — например, команда «Алиса, открой шторы» сделает светлее только в текущей комнате.
Если колонка не привязана к комнате или в комнате с ней нет нужного устройства, настройки изменятся во всем доме. Это же произойдет, если вы отдадите команду не через колонку, а через другое устройство или приложение с Алисой.
Если в вашем умном устройстве установлен один из этих датчиков, но показания в приложении не отображаются, попробуйте добавить устройство заново:
В приложения Дом с Алисой нажмите → Устройство умного дома и выберите производителя умного устройства.
Если это не помогло, обратитесь к производителю устройства — он должен добавить поддержку встроенных датчиков в свой навык для умного дома.
Доброго дня. У многих из нас, в том числе и у меня, давно возникла идея создания своего «Умного дома». Но она откладывалась в виду большой сложности реализации как с аппаратной стороны так и со стороны программного обеспечения, что требовало от её создателя быть «гуру» во многих областях.
В этой статье я расскажу вам об очень простом и вполне функциональном способе управления системой умного дома через интернет. На её создание при наличии необходимых компонентов уйдет всего несколько минут.
Вот, то самое видео.
Ninja Blocks — очень интересный и довольно успешный проект, который предлагает управление и контроль большой периферией домашних устройств с помощью своего модуля ( который они предлагают купить за 199 «вражеских» единиц). Модуль взаимодействует с облаком, через которое и происходит управление устройствами. Так же существуют приложения для iOS и Android с помощью которых также возможно управление.
Разработчики Ninja Blocks не поленились и написали свою библиотеку для ARDUINO за что им большое СПАСИБО!
Облако не совсем простое, оно не только посылает и принимает данные, то также поддается программированию со стороны пользователя, который создает так называемые ПРАВИЛА. Таким образом облако становиться онлайн «мозгом» «Умного дома».
НАПРИМЕР: при нажатии на кнопку, облако ждет 30 секунд, а потом влючает какое-либо реле, ждет еще 60 секунд и выключает его.
Правила легко создаются из панели управления.
Для повторения его примера нужен был Ethetnet Shield. На тот момент в моем распоряжении быт модуль на базе enc28j60. Но как я ни пытался повторить пример с использованием разных библиотек, так ничего и не получалось. Необходим был модуль совместимый с родной Ethernet библиотекой для ARDUINO т.е. на базе чипа w5100. Шилд был заказан из поднебесной и всё было отложено на долгий месяц.
Если вы уже посмотрели видео выше, то поняли что нам потребуется:
— совместимая плата ARDUINO
— thernet shield на базе w5100
— аккаунт на сайте a.ninja.is
— разная мелочевка в виде резисторов, кнопок и светодиодов
И так. Плата пришла. Все собрал, подключил, загрузил.
Это было удивительно, но все заработало )) Но всегда бывает «НО». Буквально через пару минут заметил, что светодиод перестал реагировать на управление через сайт. Перезагрузка контроллера помогла, но только на те же пару минут. При этом кнопка всегда работала испаравно. Да это была серьезная проблема с которой «Умный дом» не построить.
После изучения данного примера возникло несколько вопросов:
1. Как управлять несколькими устройствами принимающих данные (светодиодами)?
2. Как добавить несколько устройств, отсылающих данные( кнопка, датчик температуры)?
3. Как починить управление для светодиодов через панель, которое «отваливается» через пару минут?
Поиск начался с не очень популярного раздела на форуме разработчиков с названием ARDUINO. Тут было найдено решение для исправление проблемы с управлением. Одни из участников форума доработал библиотеку проекта. Самое удивительное, так это то что за пол года разработчики так и не обновили библиотеку на github. Видно опасаются конкуренции для себя со стороны проектов на базе Arduino )).
Ниже вы сможете скачать уже исправленную библиотеку.
Несколько часов опытов и изучения смазанных объяснений разработчиков на форуме и библиотеки дали свои плоды. Все вопросы были успешно решены… =)
В Serial Monitor передача или прием одной команды или данных выглядит таким образом:
Теперь рассмотрим что там внутри.
«G»: «0» — параметр GUID указывает порядковый номер в рамках группы устройств с одинаковым ID. Например установлено 3 датчика температуры с одинаковым Тогда для первого датчика GUID будет равен 0, для второго — 1 и 2 для третьего.
«V»: 0 — параметр VID является идентификатором для устройств как и ID.
«D»: 1 — параметр DID ( Device ID) указывает тип устройтсва. Напримет датчик температуры имеет или 31, кнопка — 5.
«GUID»: «ETHERSHIELDBLOCK_0_0_1» — трудно сказать для чего это надо, но в общем он содержит в себе название блока ARDUINO (котрое можно изменить в начале примера из библиотеки) и всех выше пересичленные параметры.
«DA»: 27 — ну и сами данные, которые мы передаем. Для кнопки или реле это 0 или 1, для RGB светодиода это код цвета например FFFFFF.
Условно все датчики и устройства можно разделить на два типа. Первый тип только передают информацию ( кнопка, датчик температуры и влажности). И второй тип только принимают её. Тут кроется один нюанс. Панель управления изначально не знает что у нас подключено к контроллеру. И если первый тип сам сообщат о себе, когда будут передавать данные и панель сразу создаст для них виждет согласно их ID. То для второго типа необходимо произвести создание виджетов в панели управления путем отправки данных.
Как отправлять данные с нескольких устройств с одинаковым ID.
Все очень просто перед каждой отправкой данных мы должны указать порядковый номер устройства (GUID)
При приеме данных для нескольких устройств c одинаковым ID нам необходимо проверять чему равен GUID
Получив эти данные панель создаст для них виджет.
Теперь предлагаю вашему вниманию простую программу для работы с Ninja Blocks.
— Управляет 4-я светодиодами
— Отсылает показания 2-х датчиков температуры ds18b20 c интервалом в 60 секунд
— Каждые 20 секунд синхронизирует положение переключателей ON/OFF с состоянием светодиодов. Так как панель управления никак не следит дошли ли данные до контроллера и поэтому иногда бывает что на панели положение ON а на самом деле выход выключен. Данный способ позволяет каждые 20 секунд устанавливать переключатели в панели в правильно положение если до этого они стояли не верно.
— Подключена кнопка, при нажатии на которую выполняется запрограммированный сценарий.
Постарался обеспечить код подробными комментариями.
Подготовил небольшое демонстрационное видео
Подведем небольшой итог.
Достоинства:
— Управление и котроль из любой точки мира ( при наличии интренета)
— Собирается и настраивается за считанные минуты.
— Очень простой и недорогой
— Наличие специальных сценариев
— Широкий перечень виджетов в панели управления.
— Если добавить роутер TP-Link TL-MR3020 (20$) и 3G модем, то можно использовать на даче и других местах без интернета.
— Если нет желания тянуть сетевой кабель, то достаточно купить за 15$ TP-Link TL-WR702N, который будет работать в качестве wi-fi шилда
— Хорошая стабильность в работе. За 2 дня тестирования не потерялась ни одна команда все работает четко.
Недостатки:
— Самый главный минус этой системы это невозможность работы без интренета.
— Имеется задержка при включении колеблется от долей секунды до нескольких
— Библиотека кушает много места — целых 16 кБ, если добавить библиотеку для nrf24l01 то ничего почти не остается. Придется переходить на Mega скорее всего.
— Приложение для смартфонов не позволяет просматривать показание датчиков. Управление устройствами сделано не очень удобно, не видно текущего состояния on/off.
Планы на будущее:
— Дописать в коде проверку соединения и в случае его отсутствия Arduino будет действовать самостоятельно и будет перезагружать TP-Link TL-MR3020 и 3G модем если работает с ними в связке.
— Добавить nrf24l01 для управления и контроля других датчиков.
Очень интересно услышать ваше мнение и конструктивную критику. Оригинальные вопросы приветствуются! Фух…
P.S. Во время работы чип w5100 на Etherten Shield сильно нагревается до температуры около 45-50 градусов. Это нормально?
Узнать текущую температуру моего Shield можно здесь.
Недавно компания Яндекс запустила свою систему «умного дома». Нам предлагают купить недорогие работающие по Wi-Fi устройства: адаптер в розетку, лампочку и ИК пульт. Интересно, что у разработчиков «умных» устройств появилась возможность создать свои навыки «умного дома», это позволит подключить девайсы к системе Яндекса и управлять ими голосом через Алису. В списках навыков появляется всё больше новых брендов. Алиса прекрасно понимает русскую речь, что делает ее безусловным лидером среди голосовых ассистентов на российском рынке.
Однако, не всё так гладко…
Первый минус: в основном, все предложенные системы — «облачные». Их надежность порой вызывает сомнения, так как их работоспособность на прямую зависит от качества соединения с серверами производителя. А при отключении интернета устройства вовсе превращаются в “тыкву”.
Второй минус: система сценариев. Немаловажная часть умного дома — сценарии. И тут они очень примитивные: Если “фраза такая-то”, то включить “устройство такое то”. Для моего умного дома этого оказалось слишком мало.
Изучив документацию, я решил создать навык Яндекс УД и подключить к нему контроллер умного дома. Это позволит не зависеть от облачных серверов, реализовывать любые сценарии локально на контроллере и при этом управлять системой голосом через Алису. Для этого я написал плагин “yandex2mqtt” на Node.js.
Немного теории
— Алиса, включи свет.
После этой фразы происходит магия и включается свет. Но что же за кулисами? Давайте разбираться, как всё это работает.
Яндекс-станция, услышав знакомую команду, отправляет данные на сервер Яндекса, которому мы заранее указали адрес нашего контроллера. Сервер обрабатывает информацию и перенаправляет ее на контроллер в виде Post-запроса. На контроллере промежуточный API (в нашем случае это плагин yandex2mqtt) обрабатывает запрос и перенаправляет его в MQTT топик. Дальше происходит обработка сценария в программе Node-Red.
Node-Red решает, что делать дальше. Если это предусмотрено сценарием, он посылает команду на включение света в соответствующий топик MQTT. Драйвер wb-mqtt-serial реагирует, посылая команду по Modbus на релейный модуль, тот переключает реле. И наконец-то включается свет! Да, путь не близкий, однако для пользователя проходят считанные доли секунд.
Давайте посмотрим на плагин yandex2mqtt поближе. Первое, что требует Яндекс для работы навыка, — oAuth сервис для связки аккаунтов в приложении Яндекс. После того как Яндекс получит токен авторизации от oAuth сервиса, он запрашивает список устройств. Плагин yandex2mqtt отдает в ответ список устройств со всеми свойствами в json формате. Затем они появляются в списке доступных для управления устройств (в так называемом квазаре). Теперь, если скомандовать Алисе включить какое-то устройство из списка, Яндекс пошлёт Post запрос с данными устройства, которое он хочет включить, на контроллер. В ответ плагин подтверждает включение и записывает новое состояние в mqtt топик, указанный в настройках все того же плагина. Если же устройство изменило свой статус без участия Яндекса, то плагин, увидев новые данные в mqtt топике, отправит их Яндексу при запросе статуса, который сейчас происходит, только если зайти в само устройство в квазаре. В иных случаях Яндекс не опрашивает статусы.
Теперь расскажу о некоторых свойствах устройств Яндекс УД.
Тип устройств
Для правильного отображения в “квазаре” и более точного определения команд Алисой Яндекс предлагает присваивать устройствам разные типы. Всего типов 10:
Умение (capability)
Также у каждого устройства должно быть минимум одно умение (capability).
Всего у Яндекс УД есть 5 типов умений. Каждое умение имеет разную функцию (instance), а некоторые умения имеют несколько таких функций, что добавляет гибкости при настройке устройств.
Сapabilities:
1. devices.capabilities.on_off — Включение и выключение.
- brightness
- temperature
- volume
- channel
При правильной комбинации всех свойств устройства Алиса без проблем понимает все отданные ей команды по управлению Умным домом. Тут, конечно, есть некие трудности с комбинированием умений. В документации явно не указано, какие умения можно комбинировать, а какие нельзя. Но с этим нам поможет “метод научного тыка”.
Так, к примеру, я выяснил, что кондиционер содержит четыре умения:
devices.types.thermostat.ac
devices.capabilities.on_off
Чтобы всё заработало, требуется:
Контроллер
Моя “умная” квартира управляется контроллером Wiren Board 6. Но можно использовать любой другой контроллер на линуксе, который потянет Node.js и Node-Red. Например, Raspberry pi или ПК.
Домен
Таким образом, мы имеем статический адрес, который перенаправляет все запросы на наш контроллер.
Порты 443 и 80
Сейчас почти у каждого человека дома есть роутер. Помимо очевидных его функций, он также является барьером для локальной сети от нежелательных гостей извне. Но в определённых случаях нам требуется доступ к внутренней сети снаружи. Производители роутеров это предусмотрели и добавили функцию NAT (Network Address Translation).
Момент настройки роутера я расписывать не стану, так как он разный для каждого производителя. Как это сделать, читайте в инструкции к Вашему роутеру. Ключевые слова для гугления: Port Forwarding, Port Mapping, NAT.
Необходимо пробросить порт для доступа к yandex2mqtt (может быть любой, я выбрал 443) и 80 порт (нужен только для получения SSL сертификата. После получения сертификата 80 порт можно закрыть).
SSL-сертификат
Для получения сертификата необходимо установить программу certbot, запустить и указать все данные, которые она запросит. При этом должен быть свободен и доступен снаружи порт 80. Я советую внимательно изучить инструкцию от letsencrypt.
Останавливаем сервисы watchdog и nginx.
Пробрасываем 80 порт в роутере.
Запускаем программу certbot:
После запуска программа задаст несколько простых вопросов
1. Ваш e-mail. Просто введите адрес и нажмите enter
2. Вам предлагают прочесть пользовательские соглашения. Если вы со всем согласны, просто введите “A”, что означает Agree, то есть согласен.
3. Программа просит разрешения на отправку Вашего адреса электронной почты разработчикам. Введите N.
Если Вы всё сделали правильно, то увидите следующее:
Значит, сертификат успешно получен. Запомните путь к сертификату и ключу, он потребуется при настройке плагина yandex2mqtt. Для безопасности закройте 80 порт в настройках роутера, он больше не пригодится.
Включаем сервисы watchdog и nginx.
Сертификат от letsencrypt выдаётся на 3 месяца. Не забывайте обновлять.
Node.js и плагин yandex2mqtt
Настраиваем репозиторий node.js
Далее устанавливаем или обновляем все необходимые компоненты
После успешной установки копируем репозиторий yandex2mqtt на контроллер.
Заходим в папку.
Cоздайте юнит systemd:
Перейдите в папку /etc/systemd/system/ на контроллере и создайте файл с названием yandex2mqtt.service. Скопируйте в него следующее:
После этого сохраните изменения и закройте файл.
Для включения юнита введите в консоль команду:
Теперь можно запускать и останавливать плагин командами
Все необходимые настройки плагина находятся в файле /mnt/data/root/yandex2mqtt/config.js
Отредактируйте этот файл в соответствии с Вашими параметрами.
SSL-сертификат обязательно должен быть fullchain.
После настройки запустите yandex2mqtt командой:
После настройки и запуска моста советую проверить сертификат на этом сайте.
Просто введите свой домен, который собираетесь использовать для доступа к Алисе. Для корректной работы сертификат должен пройти все проверки. Иначе ничего не заработает.
Навык Яндекс УД
- Название — Любое название.
- Endpoint URL — адрес типа вашдомен/provider, где вместо “вашдомен” адрес из noip или ваш домен, для которого получен ssl-сертификат.
- Приватность — выбрать “Не показывать в каталоге” (Обязательно! Иначе навык не пройдет мгновенную модерацию)
- Имя и Email разработчика — указать Ваши данные.
- Описание — любой текст
- Иконка — любая иконка.
6. Связка аккаунтов:
- Первые два пункта — указываем данные из config.js / clients :
2. Секрет приложения — clientSecret
7. Сохранить навык
8. Нажать “На модерацию”
9. Нажать “Опубликовать”
1. Зайти в приложение Яндекс на телефоне
2. В меню выбрать Устройства/Умный дом
3. Нажать “Добавить устройство”
4. Выбрать свой навык
5. Нажать “Объединить аккаунты”
6. Откроется страница авторизации
Ввести логин и пароль (задается в файле config.js в блоке users)
7. Нажать “Разрешить”.
8. Нажать “Обновить список устройств”
Теперь Алисе можно отдавать команды для управления добавленными устройствами. В указанные mqtt топики будут приходить соответствующие команды.
Осталось привязать к этим топикам какие-то действия.
Node-Red
Для системы автоматизации был выбран Node-Red. Это отличный инструмент визуального программирования. Процедуру установки и настройки можно подсмотреть тут.
Процесс настройки и автоматизации умного дома потянет на целую статью, а то и две. Да и таких статей уже много. Вместо этого — небольшой пример использования плагина, как включить лампочку голосом.
Для удобства на контроллере Wiren Board 6 в веб интерфейсе создаем виртуальное устройство.
В движок правил wb-rules нужно вписать
MQTT топики этого виртуального устройства впишем в config.js на тип умения “on” устройства “Свет”:
Теперь при фразе “Алиса, включи/выключи Свет” переключается виртуальное устройство.
Перейдем в Node-Red, который установили по инструкции.
Для удобной работы с Wiren Board 6 также можно использовать дополнительную “ноду” node-red-contrib-wirenboard.
В контроллер поставлен модуль расширения WBE2R-R-ZIGBEE, что позволило подключиться к “Икеевской” умной лампочке серии ТРОДФРИ по ZigBee-протоколу.
Теперь дело за малым. Закинуть несколько блоков в рабочее поле Node-Red, соединить “ниточками” и нажать Deploy.
Икеевская лампочка подключена через плагин zigbee2mqtt, поэтому в mqtt топик лампочки для управления нужно отправлять json. Для этого между виртуальным девайсом WB и mqtt топиком лампочки вставим простую функцию.
Нажимаем Deploy. Проверяем.
Алиса, включи Свет!
Итак, сегодня мы научились подключать Алису к системе автоматизации. Возможно в некоторых случаях это слишком сложно, проще купить обычную wi-fi лампочку, и этого хватит. Но если Вы задумали собрать себе по-настоящему умный дом, то простыми способами тут не обойтись. А стоит оно того или нет, каждый решит сам. Спасибо за внимание!
Читайте также: