Настройка Алисы на контроллере Wiren Board

Материал из Wiren Board

Это черновик страницы. Последняя правка сделана 31.01.2022 пользователем A.Degtyarev.


Подготовка

Для настройки голосового помощника Алисы от Яндекс на контроллере Wiren Board нам понадобится:

Настройка делается через встроенный в Node-Red веб-интерфейс, который доступен по адресу http://wb-ip-address:1880, например, http://192.168.42.1:1880.

В примерах мы будем создавать флоу (flows) — это блок-схемы процесса.

Установка модуля

Установка модуля node-red-contrib-alice

Чтобы Node-RED смог работать с Алисой, установите модуль node-red-contrib-alice:

  1. Зайдите в веб-интерфейс Node-RED.
  2. В правом верхнем углу вызовите меню.
  3. В открывшемся окне выберите вкладку Управление палитрой (Manager palette).
  4. Перейдите на вкладку Установка (Install), введите в поле поиска contrib-alice и нажмите на клавиатуре Enter.
  5. Установите пакет с названием node-red-contrib-alice.
  6. Закройте окно с настройками. Установка модуля завершена.

После установки, в левой панели появится секция alice.

Настройка учётной записи для модуля

Файл:Alice-service-configure-nr.png
Создание ноды alice-service

Перед тем, как передавать данные из контроллера в Алису, нам нужно настроить ноду alice-service:

  1. Перетяните в рабочую область ноду On_Off.
  2. Дважды кликните на ней — откроется окно Edit On_Off node.
  3. В поле Device нажмите на кнопку с карандашом, откроется окно Edit alice-device node.
  4. Теперь в поле Credentials нажмите на кнопку с карандашом, откроется окно Edit alice-service node.
  5. Здесь нужно настроить учётную запись на сервере модуля node-red-contrib-alice:
    • Если у вас нет учётной записи:
      1. нажмите кнопку Register,
      2. заполните поля Email и Password,
      3. нажмите по очереди на кнопки Signup и потом Add.
    • Если у вас уже есть учётная запись:
      1. заполните поля Email и Password,
      2. нажмите на кнопку Add.
  6. Вы вернётесь в окно Edit alice-device node в котором заполните поля и добавьте новое устройство или нажмите Cancel для выхода.

Настройка учётной записи завершена, теперь можем добавлять новые устройства, которыми будем управлять через Алису и приложение Яндекс.

Добавление устройства

Добавим переключатель, который будет управлять зуммером контроллера.

Виртуальное Яндекс-устройство

Сперва настраиваем виртуальное Яндекс-устройство, так как у нас переключатель, то выберем ноду On_Off:

  1. Перетяните в рабочую область ноду On_Off.
  2. Дважды кликните на ней — откроется окно Edit On_Off node.
  3. В поле Device нажмите на кнопку с карандашом, откроется окно Edit alice-device node, где:
    • В поле Credentials выберите созданную ранее учётную запись.
    • И заполните поля:
      • Name — имя устройства, которое будет видно в приложении Яндекс.
      • Room — виртуальная комната, в которой находится устройство.
      • Type — тип устройства.
  4. Нажмите на кнопку Add, чтобы сохранить изменения.
  5. Вы вернётесь в окно Edit On_Off node, в котором поставьте галочку Always answer Alice with success, которая скажет Алисе не ждать ответа от устройства после отправки команды. Это нужно нам, так как мы не задействуем вход ноды On_Off.

Теперь Алиса знает, что у нас есть устройство, но оно пока ничего не делает.

Настройки связи с контроллером

Для связи с контроллером нам понадобится WB Nodes, который должен быть уже установлен и настроен.

Например, подключим встроенный зуммер контроллера:

  1. Перетяните в рабочую область ноду out, которая находится слева в группе Wiren Board.
  2. Дважды кликните на ней — откроется окно Edit out node, где укажите:
    • Name — имя, например, Buzzer.
    • Server — MQTT-сервер, связь с которым настраивается при установке модуля WB Nodes.
    • Channel — выберитев открывшемся списке mqtt-топик buzzer/enabled. Если список пуст, нажмите кнопку Refresh Device List.
    • Command — выберите /on.
    • Payload — должно быть выбрано msg.payload
  3. Чтобы сохранить, нажмите кнопку Done.

Теперь, когда у нас настроены виртуальное Яндекс-устройство и один из mqtt-топиков контроллера Wiren Board, нам нужно их связать между собой.

Перед связыванием нужно учесть две вещи:

  1. виртуальное Яндекс-устройство на выход отправляет сигнал true/false
  2. mqtt-топик контроллера принимает сигнал 1/0.

Поэтому нам понадобится конвертер сообщений:

  1. Перетяните в рабочую область ноду change, которая находится слева в группе function.
  2. Дважды кликните на ней — откроется окно Edit change node, и настройте её так же, как на картинке:
    Change-node-converter-bool-to-number.png
  3. Нажмите кнопку Done. Конвертер готов.

Теперь соедините ноды между собой в таком порядке: выход ноды On_OffКонвертервход ноды mqtt-канала контроллера.

Чтобы опубликовать изменения, нажмите в правом верхнем углу кнопку Deploy.

Настройка интеграции со стороны Яндекс =

Скачайте и установите на смартфон приложение Яндекс, настраивать будем в нём.

Полезные ссылки