От лампочки до пылесоса и дрона — как мы научили Алису управлять сотнями устройств
Как вы думаете, что общего между лампочкой 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 и Яну Сафиуллину за помощь в реализации навыка.