Что собирается сделать яндекс с нашей планетой

Яндекс: умный дом по-взрослому

Что собирается сделать яндекс с нашей планетой. Смотреть фото Что собирается сделать яндекс с нашей планетой. Смотреть картинку Что собирается сделать яндекс с нашей планетой. Картинка про Что собирается сделать яндекс с нашей планетой. Фото Что собирается сделать яндекс с нашей планетой

Недавно компания Яндекс запустила свою систему «умного дома». Нам предлагают купить недорогие работающие по 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), а некоторые умения имеют несколько таких функций, что добавляет гибкости при настройке устройств.

1. devices.capabilities.on_off — Включение и выключение.

При правильной комбинации всех свойств устройства Алиса без проблем понимает все отданные ей команды по управлению Умным домом. Тут, конечно, есть некие трудности с комбинированием умений. В документации явно не указано, какие умения можно комбинировать, а какие нельзя. Но с этим нам поможет “метод научного тыка”.

Так, к примеру, я выяснил, что кондиционер содержит четыре умения:

Чтобы всё заработало, требуется:

Контроллер

Моя “умная” квартира управляется контроллером Wiren Board 6. Но можно использовать любой другой контроллер на линуксе, который потянет Node.js и Node-Red. Например, Raspberry pi или ПК.

Домен

Желательно, конечно, иметь белый IP адрес и купить домен, но это необязательно. Можно использовать DDNS — например, www.noip.com.

Тут всё просто: регистрируемся, создаем бесплатный хостнейм, вписываем свой IP адрес. У некоторых роутеров есть специальная настройка DDNS, куда можно вписать данные noip.com. Роутер будет автоматически отправлять IP адрес при его смене. Если такой настройки в роутере нет, можно установить программу noip на контроллер и добавить её в автозапуск. Программа будет делать ровно то же самое, что и роутер со специальной настройкой DDNS — обновлять Ваш ip адрес в базе noip.com

Таким образом, мы имеем статический адрес, который перенаправляет все запросы на наш контроллер.

Порты 443 и 80

Сейчас почти у каждого человека дома есть роутер. Помимо очевидных его функций, он также является барьером для локальной сети от нежелательных гостей извне. Но в определённых случаях нам требуется доступ к внутренней сети снаружи. Производители роутеров это предусмотрели и добавили функцию NAT (Network Address Translation).

Момент настройки роутера я расписывать не стану, так как он разный для каждого производителя. Как это сделать, читайте в инструкции к Вашему роутеру. Ключевые слова для гугления: Port Forwarding, Port Mapping, NAT.

Необходимо пробросить порт для доступа к yandex2mqtt (может быть любой, я выбрал 443) и 80 порт (нужен только для получения SSL сертификата. После получения сертификата 80 порт можно закрыть).

SSL-сертификат

Сразу расставим все точки над «и»: самоподписанные сертификаты работать не будут.
Большинство регистраторов доменов (например, reg.ru) дарят своим клиентам бесплатные SSL-сертификаты для основного домена (www.yourdomain.ru). Если вы купили домен специально для Алисы, то Вы можете воспользоваться предоставленным SSL-сертификатом.

Если же собственного домена Вы не имеете, либо для Алисы у Вас выделен другой поддомен (например, alice.yourdomain.ru), то нужно получить сертификат на этот поддомен, либо на адрес, предоставленный DDNS-службой.

Для этого предлагаю воспользоваться бесплатной услугой получения SSL-сертификата от letsencrypt.org.

Для получения сертификата необходимо установить программу certbot, запустить и указать все данные, которые она запросит. При этом должен быть свободен и доступен снаружи порт 80. Я советую внимательно изучить инструкцию от letsencrypt.

Останавливаем сервисы watchdog и nginx.

Пробрасываем 80 порт в роутере.

Запускаем программу certbot:

После запуска программа задаст несколько простых вопросов

1. Ваш e-mail. Просто введите адрес и нажмите enter

Что собирается сделать яндекс с нашей планетой. Смотреть фото Что собирается сделать яндекс с нашей планетой. Смотреть картинку Что собирается сделать яндекс с нашей планетой. Картинка про Что собирается сделать яндекс с нашей планетой. Фото Что собирается сделать яндекс с нашей планетой

2. Вам предлагают прочесть пользовательские соглашения. Если вы со всем согласны, просто введите “A”, что означает Agree, то есть согласен.

Что собирается сделать яндекс с нашей планетой. Смотреть фото Что собирается сделать яндекс с нашей планетой. Смотреть картинку Что собирается сделать яндекс с нашей планетой. Картинка про Что собирается сделать яндекс с нашей планетой. Фото Что собирается сделать яндекс с нашей планетой

3. Программа просит разрешения на отправку Вашего адреса электронной почты разработчикам. Введите N.

Что собирается сделать яндекс с нашей планетой. Смотреть фото Что собирается сделать яндекс с нашей планетой. Смотреть картинку Что собирается сделать яндекс с нашей планетой. Картинка про Что собирается сделать яндекс с нашей планетой. Фото Что собирается сделать яндекс с нашей планетой

4. Введите свой домен, на который хотите получить сертификат (можно ввести тот, что мы получили в noip ранее). Тут я привожу пример ошибочного ввода. Префикс http:// вводить не нужно.

Что собирается сделать яндекс с нашей планетой. Смотреть фото Что собирается сделать яндекс с нашей планетой. Смотреть картинку Что собирается сделать яндекс с нашей планетой. Картинка про Что собирается сделать яндекс с нашей планетой. Фото Что собирается сделать яндекс с нашей планетой

Если Вы всё сделали правильно, то увидите следующее:

Что собирается сделать яндекс с нашей планетой. Смотреть фото Что собирается сделать яндекс с нашей планетой. Смотреть картинку Что собирается сделать яндекс с нашей планетой. Картинка про Что собирается сделать яндекс с нашей планетой. Фото Что собирается сделать яндекс с нашей планетой

Значит, сертификат успешно получен. Запомните путь к сертификату и ключу, он потребуется при настройке плагина 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 командой:

После настройки и запуска моста советую проверить сертификат на этом сайте.

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

Навык Яндекс УД

1. Перейти на страницу dialogs.yandex.ru/developer
2. Залогиньтесь под своим аккаунтом.
3. Нажать “создать диалог”
4. Выбрать пункт “Умный дом”
5. Ввести обязательные параметры:

6. Связка аккаунтов:

Что собирается сделать яндекс с нашей планетой. Смотреть фото Что собирается сделать яндекс с нашей планетой. Смотреть картинку Что собирается сделать яндекс с нашей планетой. Картинка про Что собирается сделать яндекс с нашей планетой. Фото Что собирается сделать яндекс с нашей планетой

2. Секрет приложения — clientSecret

Что собирается сделать яндекс с нашей планетой. Смотреть фото Что собирается сделать яндекс с нашей планетой. Смотреть картинку Что собирается сделать яндекс с нашей планетой. Картинка про Что собирается сделать яндекс с нашей планетой. Фото Что собирается сделать яндекс с нашей планетой

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 лампочку, и этого хватит. Но если Вы задумали собрать себе по-настоящему умный дом, то простыми способами тут не обойтись. А стоит оно того или нет, каждый решит сам. Спасибо за внимание!

Источник

Обзор «Яндекс»: диверсифицирующийся технологический гигант

Yandex N. V. (NASDAQ, MCX: YNDX) — нидерландский холдинг, головная компания международного технологического гиганта с российскими корнями — «Яндекса».

Что тут происходит

Читатели давно просили нас начать разбирать отчетность и фундамент бизнеса российских эмитентов. Идею сделать обзор «Яндекса» предложил наш читатель Alex Freeman в комментариях к обзору IPO Fix Price. Предлагайте в комментариях компании, разбор которых вам хотелось бы прочитать.

О компании

«Яндекс» — крупная международная технологическая компания с российскими корнями. Ведет бизнес как в России, так и еще в 21 стране. Бизнес-модель компании не подразумевает разработку программного обеспечения на заказ или прямую продажу его клиентам — компания делает упор именно на создании и развитии полноценных пользовательских сервисов на основе произведенного компанией программного обеспечения. Многие сервисы компании — это фактически агрегаторы, многие бесплатны для широкого круга клиентов.

«Яндекс» считает началом своей истории 1990 год, когда начинали разрабатываться первые продукты компании в рамках компаний Arcadia и CompTek. В виде отдельного юридического лица компания появилась в 2000 году, а в 2007 появилась головная нидерландская компания Yandex N. V.

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

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

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

Поиск и портал. В данный сегмент входят довольно разнородные сервисы:

На заработки от рекламы значительно влияет объем рынка онлайн-рекламы — и с ним все хорошо: он растет, перетекая из менее эффективного офлайна. Несмотря на обилие сервисов, основным все равно остается поиск, так что компании очень важно сохранять свою лидирующую позицию в рунете, что непросто, так как главным соперником выступает мировой поисковый гегемон — Google. Пока получается.

Такси. Здесь объединены офлайн-бизнесы компании, связанные с мобильностью:

В разделе такси компания заняла уже значительную долю рынка, так что ФАС даже заблокировала покупку «Везет», посчитав, что тогда «Яндекс-такси» может занять 70% российского рынка агрегаторов такси. Остальные сервисы также растут хорошими темпами. В 2020 году компания выпустила единое суперприложение «Яндекс Go», объединяющее все сервисы в одном месте.

Как победить выгорание

«Яндекс-маркет». Мультикатегорийный маркетплейс и сервис сравнения цен. Он недавно снова стал полноценной частью «Яндекса». С точки зрения бизнеса это конкурент Ozon, в статье про который мы подробно рассматривали данный бизнес-сегмент и его перспективы. Количество товарных позиций, продающихся на «Яндекс-маркете», превысило два миллиона, количество продавцов — 8 тысяч. У компании есть 4 фулфилмент-центра: три в Москве и один в Ростове-на-Дону, — 8 сортировочных центров, 632 пункта самовывоза и 1187 пунктов выдачи. Компания активно использует курьерскую службу «Яндекс-лавки».

Медиасервисы. Сюда входят сервисы, связанные с развлечениями:

Вертикали. Сюда входят различные сервисы объявлений:

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

Другие бизнес-юниты и инициативы. Сюда входят остальные сервисы компании — не подходящие под тематику остальных операционных сегментов или те, что числятся экспериментальными и которые компания не готова выделить в отдельные бизнес-юниты:

«Яндекс» гибко подходит к операционным сегментам, периодически перемещая сервисы из одного в другой. Например, «Яндекс-драйв» только недавно вошел в сегмент «Такси», а начиная с 2021 года «Яндекс-услуги» и «Товары» переместили в «Другие сервисы и эксперименты», которые вместе с тем переименовали в «Другие бизнес-юниты и инициативы», а геосервисы перешли в «Поиск и портал».

Также стоит упомянуть, что «Яндекс» не только самостоятельно разрабатывает новые сервисы с нуля, но и периодически не чурается покупать их для последующего встраивания в свою экосистему. Приобретаются как целые большие сервисы, которые так и остаются заметными частями экосистемы, такие как «Кинопоиск» и «Авто-ру», так и более мелкие активы — например, «Партия еды» и часть активов «Везет».

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *