Node-RED Alice: различия между версиями

Материал из Wiren Board
Строка 6: Строка 6:
* установленный [[Node-Red | Node-RED]],  
* установленный [[Node-Red | Node-RED]],  
* настроенный модуль [[Node-Red#WB_Nodes |WB Nodes]],  
* настроенный модуль [[Node-Red#WB_Nodes |WB Nodes]],  
* модуль [https://flows.nodered.org/node/node-red-contrib-alice node-red-contrib-alice]
* модуль [https://flows.nodered.org/node/node-red-contrib-alice node-red-contrib-alice],
* и Яндекс-аккаунт.
* Яндекс-аккаунт и приложение Яндекс.


{{Wbincludes:Node-RED Intro}}
{{Wbincludes:Node-RED Intro}}

Версия 14:31, 31 января 2022

Это черновик страницы. Последняя правка сделана 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.

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

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

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