От лампочки до пылесоса и дрона — как мы научили Алису управлять сотнями устройств +9




Как вы думаете, что общего между лампочкой Philips Hue, пылесосом iRobot Roomba 671, термостатом Nest, микроволновкой General Electric, кондиционером Kenmore, розеткой TP Link HS100, устройствами Sonoff, кофеваркой Smarter и дроном Aire?

Как вы уже догадались, их объединяет то, что они могут управляться голосом с Алисы (и с Яндекс.Станции), как и сотни других умных устройств.

Более того, с такой настройкой может справиться любая домохозяйка.

Естественно, сразу возникает вопрос — как такое возможно?

Ведь только недавно Яндекс анонсировал свой Яндекс.Модуль для умного дома, но он поступит в продажу только осенью и пока неизвестно какие устройства будут входить в состав такого оборудования (скорее всего проприеретарные).

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

А здесь — сотни устройств (и постоянно появляются новые) и легкая настройка, как?

Все очень просто — мы научили Алису и Яндекс.Станцию выполнять практически все скиллы, которыми обладает Alexa Echo от Amazon — мирового лидера в области голосовых помощников.
В первую очередь это касается управления всеми умными устройствами, с которыми может взаимодействовать Alexa Echo, коих в последнее время появилось огромное количество.
Для бытового применения это означает следующее — вам достаточно купить буквально за копейки на Алиэкспрессе практически любую умную розетку, выключатель, лампу (или пойти в ближайший магазин и купить это подороже), подключить и управлять этими устройствами голосом с Алисы или с Яндекс.Станции.

И не только подобными устройствами — вы сможете управлять кондиционерами, умными замками, гаражными воротами, системами полива и даже автомобилями.

А связующим звеном между Алисой и Алексой служит … M1 Messenger.

Немного предыстории.

Сначала мы добавили в мессенджер поддержку Alexa Echo.

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

Потом мы подумали, что наверное людям лень будет набирать одни и те же команды каждый раз текстом и сделали кастомные кнопки, в которых пользователь может прописать часто используемые команды один раз и потом вызывать их нажатием, наподобие пульта управления.
А потом пришла мысль — если мы можем управлять устройствами текстом, то почему бы не сделать API для таких команд?

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

Ну а теперь подробней, как все это сделать на простом примере.

Итак, самое первое что нужно — конечно же, купить умное устройство.

Если вы собираетесь сделать это на Алиэкпрессе, то просто смотрите в описании любого устройства фразу — works with Alexa, все это будет работать из коробки.

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

Рассмотрим пошаговый процесс подключения и настройки на примере вайфай розетки TP Link HS100.

1. Настраиваем умную розетку TP Link HS100



Здесь нет ничего сложного — скачиваем приложение Kasa, регистрируемся и следуем инструкции.

Самое главное — запомните логин-пароль для этого приложения — он понадобится в дальнейшем.

2. Скачиваем и устанавливаем M1 Messenger

Тоже ничего сложного — скачиваем, регистрируемся (без номера телефона), затем нажимаем иконку с буквой «а» — запускаем Alexa Echo в мессенджере:



После самого первого нажатия на иконку «а» приложение откроет страницу на
сайте Амазон с предложением или ввести существующие логин/пароль, либо зарегистрировать аккаунт:



Вводим существующие данные или регистрируемся и далее нужно разрешить доступ приложению доступ к Alexa Voice Service:



После этого откроется экран с Alexa в мессенджере и можно уже общаться с голосовым помощником от Амазона голосом или текстом:



3. Привязываем умную розетку к аккаунту в Амазон Alexa

Теперь нам нужно привязать умную розетку к Alexa и назначить ей активационное слово, например Kitchen.

Для этого заходим на страницу alexa.amazon.com

Здесь есть несколько лайфхаков.

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

Поэтому открывайте эту страницу на десктопе.

Во-вторых, если вы не сделали пункт 2, т. е. не скачали и не установили приложение M1 Messenger, то даже если у вас есть аккаунт на Амазоне, вам откроется такая страница:



Это не то что нам нужно — так как здесь есть возможность настроить только официальные продукты от Амазона, а мы не хотим покупать Echo.

Только после установки М1 Messenger у вас появится такая страница:



Таким образом, если вы видите фразу:

Welcome!

Amazon is exited to bring you Alexa on Mob1's Mobile One Alexa Service.


то значит вы сделали все правильно и можно привязывать умные устройства.

Заходим в раздел Skills.
В поиске набираем название вендора устройства — в нашем случая это TP Link Kasa:



Выбираем соответствующий пункт и попадаем в раздел с активацией этого скилла:



Кликаем Enable и попадем в следующее окно (обратите внимание что открытие произойдет в новом окне и нужно разрешить показывать всплывающие окна, если у вас стоит блокировщик):



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

Если вы указали правильные данные, то откроется страница подтверждения:



Далее заходим в раздел Smart Home и запускаем обнаружение устройств (розетка в это время должна быть включена в сеть):



Затем откроется страница с тем именем устройства, которое вы указали при регистрации вайфай розетки в Kasa:



Далее заходим в конфигурирование Smart Home:



Заходим в Groups и прописываем розетку под названием например Kitchen:



Теперь, если вы скажете в мессенджер Turn kitchen On или Switch kitchen off,
то ваша розетка будет включаться/выключаться.

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

Итак, Алексу мы настроили, подключили устройство, можем им управлять командами с М1 Messenger, теперь будем учить Алису делать все тоже самое.

4. Учим Алису выполнять скиллы Alexa Echo

Запускаем M1 Messenger и в общем меню находим пункт Поиск в сети М1:



Нам нужно найти бота Алиса и добавиться к нему:



Важно — после добавления бота он будет виден не в общем списке чатов, а в меню Бизнес:



Записываем/запоминаем код.
Далее открываем Алису или активизируем Яндекс.Станцию и запускаем навык M1 Мессенджер:



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



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



Поэтому, если вы будете использовать какие-то другие названия — сообщите нам как вы ее прописали на английском для Алексы и какой эквивалент вы бы хотели использовать на русском — мы добавим эту фразу в словарь Алисы и все будет работать.

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

Несколько важных моментов — рекомендуем использовать смартфоны с поддержкой Андроид, а не iOS, в качестве такого своеобразного хаба умного дома с мессенджером.

Также нужно включить любой из 3 режимов в мессенджере — Live TV или PTT или Пользователи рядом, чтобы приложение было всегда в режиме онлайн.

Хотелось бы также поблагодарить команду YODE .pro и Яну Сафиуллину за помощь в реализации навыка.




К сожалению, не доступен сервер mySQL