Перейти к основному содержимому

Amazon Alexa (v3)

голосовое управление оборудованием через iRidi и Amazon Alexa (3-ей версии API).

документация обновлена 01.01.2024

Алекса - голосовой ассистент от Амазон, встроенный в умную колонку Amazon Echo и прочие устройства типа:

  • Echo Plus,
  • Echo Dot,
  • Amazon Tap,
  • Echo Sub,
  • Echo Show,
  • Fabriq Chorus и другие Alexa-enabled устройства сторонних производителей.

Навык iRidium Assistant понимает несколько языков:

  • Английский (Австралия);
  • Английский (США),
  • Aнглийский (Великобритания),
  • Английский (Индия),
  • Испанский (Испания),
  • Испанский (Мексика),
  • Испанский (США),
  • Итальянский (Италия),
  • Немецкий (Германия),
  • Португальский (Бразилия),
  • Хинди (Индия),
  • Французский (Франция),
  • Японский (Япония).
примечание

С актуальным списком поддерживаемых языков можно ознакомиться на сайте Amazon или в приложении Alexa App .

С помощью навыка "iRidium Assistant" Алекса может управлять умным домом через iRidi Cloud и сервер iRidi. Вы можете произнести команду "Включи свет" и лампочка загорится. Произнесите "Выключи свет" и лампочка погаснет. Всё просто!

Alexa_scheme.png

Работа в iRidi Studio​

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

  1. Создайте серверный проект.

  2. Добавьте драйвер Amazon Alexa (v3) Network в проект.

Alexa_v3_1.png

  1. Добавьте умные устройства в проект.

Alexa_v3_2.png

  1. Переименуйте устройства таким образом, как вы хотели бы их произносить при разговоре с Алексой.
примечание

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

Alexa_v3_3.png

Описание устройств и обратных связей​

Устройства Amazon Alexa - это не реальные устройства, а только лишь интерфейс между реальными устройствами и Алексой. Вы должны реализовать функционал этих устройств в iRidi Server или обеспечить связи с соответствующими физическими устройствами по тому или иному протоколу. iRidi предоставляет интерфейс с различными типами устройств:

Однако, это не ограничивает вас в возможностях работы с другими устройствами. Например, вы можете реализовать управление реле, используя бинарное устройство типа Switch.

примечание

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

Contact sensor​

Концевые выключатели, контактные термометры, электронные датчики.

Обратная связьОписаниеДействияПримеры голосовых команд
StateСостояние: обнаружен / не обнаруженDetected,
NotDetected
"Alexa, is Contact sensor open?"

Motion sensor​

Автоматическая регулировка освещения.

Обратная связьОписаниеДействияПримеры голосовых команд
StateСостояние: обнаружен / не обнаруженDetected,
NotDetected
-

Door​

Управление замком на двери.

Обратная связьОписаниеДействияПримеры голосовых команд
StateОткрытие / закрытиеLock,
Unlock
"Alexa, lock the door"
"Alexa, unlock the door"

Curtains​

Управление шторами.

Обратная связьОписаниеДействияПримеры голосовых команд
RangeПроцентsetPercentage
incrementPercentage
decrementPercentage
"Alexa, set curtains to hundred percents"
"Alexa, raise curtains by five percents"
"Alexa, lower curtains by two percents"

Switch​

Выключатель, свет, реле.

Обратная связьОписаниеДействияПримеры голосовых команд
PowerСостояние вкл/отклturnOn
turnOff
"Alexa, turn on switch"
"Alexa, turn off switch"

Thermostat (Heat - Cool)​

Управление термостатом с ограничением максимальной и минимальной температуры.

Обратная связьОписаниеДействияПримеры голосовых команд
Cool Target TemperatureВерхняя уставка температурыgetTemperatureReading
getTargetTemperature
"Alexa, what temperature is my thermostat set to?"
Heat Target TemperatureНижняя уставка температуры
PowerСостояние вкл/отклturnOn
turnOff
"Alexa, turn on thermostat"
"Alexa, turn off thermostat"
Sensor TemperatureТемпература с датчикаgetTemperatureReading
getTargetTemperature
"Alexa, what thermostat temperature?"
Target TemperatureЗаданная температура в градусахsetTargetTemperature
incrementTargetTemperature
decrementTargetTemperature
getTargetTemperature
"Alexa, set thermostat to thirty degrees"
"Alexa, increase thermostat by five degrees"
"Alexa, reduce thermostat by two degrees"
"Alexa, make it warmer in here"
"Alexa, make it cooler in here"
"Alexa, what is thermostat target temperature?"
Temperature ModeРежим работыsetAuto,
setECO,
setHeat,
setCool,
setOff.
"Alexa, set thermostat to cool mode"
"Alexa, set thermostat to heat mode"
"Alexa, off thermostat"

Thermostat​

Управление термостатом.

Обратная связьОписаниеДействияПримеры голосовых команд
PowerСостояние вкл/отклturnOn
turnOff
"Alexa, turn on thermostat"
"Alexa, turn off thermostat"
Sensor TemperatureТемпература с датчикаgetTemperatureReading
getTargetTemperature
"Alexa, what thermostat temperature?"
Target TemperatureЗаданная температура в градусахsetTargetTemperature
incrementTargetTemperature
decrementTargetTemperature
getTargetTemperature
"Alexa, set thermostat to thirty degrees"
"Alexa, increase thermostat by five degrees"
"Alexa, reduce thermostat by two degrees"
"Alexa, make it warmer in here"
"Alexa, make it cooler in here"
"Alexa, what is thermostat target temperature?"
Temperature ModeРежим работыsetAuto,
setECO,
setHeat,
setCool,
setOff.
"Alexa, set thermostat to cool mode"
"Alexa, set thermostat to heat mode"
"Alexa, off thermostat"

Light Color Temperature​

Лампочка, светильник, ночник или люстра с изменением теплоты света.

Обратная связьОписаниеДействияПримеры голосовых команд
BrightnessПроцентsetPercentage
incrementPercentage
decrementPercentage
"Alexa, set light to hundred percents"
"Alexa, raise light by five percents"
"Alexa, lower light by two percents"
PowerСостояние вкл/отклturnOn
turnOff
"Alexa, turn on light"
"Alexa, turn off light"
Color TemperatureТемпература цветаsetColorTemperature"Alexa, set the light softer"
"Alexa, make the light warmer"
"Alexa, set the light cooler"
"Alexa, make the light white"

Light Color​

Лампочка, светильник, ночник или люстра с RGB управлением.

Обратная связьОписаниеДействияПримеры голосовых команд
BrightnessПроцентsetPercentage
incrementPercentage
decrementPercentage
"Alexa, set light to hundred percents"
"Alexa, raise light by five percents"
"Alexa, lower light by two percents"
PowerСостояние вкл/отклturnOn
turnOff
"Alexa, turn on light"
"Alexa, turn off light"
ColorRGBsetColor"Alexa, set the light to red"
"Alexa, set the front porch light to blue"
"Alexa, set the bedroom light to red"
"Alexa, set the kitchen light to blue"

Light​

Управление диммируемыми лампами.

Обратная связьОписаниеДействияПримеры голосовых команд
BrightnessПроцентsetPercentage
incrementPercentage
decrementPercentage
"Alexa, set light to hundred percents"
"Alexa, raise light by five percents"
"Alexa, lower light by two percents"
PowerСостояние вкл/отклturnOn
turnOff
"Alexa, turn on light"
"Alexa, turn off light"

Dimmer​

Одноканальный диммер, электрический теплый пол.

Обратная связьОписаниеДействияПримеры голосовых команд
PowerСостояние вкл/отклturnOn
turnOff
"Alexa, turn on dimmer"
"Alexa, turn off dimmer"
LevelПроцентsetPercentage
incrementPercentage
decrementPercentage
"Alexa, set dimmer to hundred percents"
"Alexa, raise dimmer by five percents"
"Alexa, lower dimmer by two percents"

Создание скрипта​

Скрипт обеспечивает прием голосовых команд от Алексы и перенаправляет их на реальные устройства. В данном примере это устройства в сети Modbus TCP.

Для создания драйвера необходимо:

  1. Создать серверный проект ** .sirpz* ;

  2. Добавить скрипт, нажав на кнопку JS > + > New script .

  3. В скрипт вставьте шаблон и настройте связь подустройств Алексы с оборудованием:


//Let's get a link to the "Amazon Alex (v3) Network" driver.
var l_pDevice = IR.GetDevice("Amazon Alexa (v3) Network");
if(l_pDevice)
{

//Log the name of the device from which the feedback came and its value
IR.AddListener(IR.EVENT_TAG_CHANGE, l_pDevice, function(name, value){
IR.Log("Name: " + name + " Value: " + value);

switch(name)
{
case "Dimmer:Level":
IR.GetDevice("Modbus TCP").Set("Dimmer:Level", value);
break;
case "Switch:Power":
IR.GetDevice("Modbus TCP").Set("Switch:Power", value);
break;
case "Contact sensor:State":
IR.GetDevice("Modbus TCP").Set("Contact sensor:State", value);
break;
case "Light Color:Color":
IR.GetDevice("Modbus TCP").Set("Light Color:Color", value);
break;
case "Thermostat (Heat-Cool):Power":
IR.GetDevice("Modbus TCP").Set("Thermostat (Heat-Cool):Power", value);
break;
}
})
}

примечание

При использовании каналов обратной связи в драйвере Amazon Alexa (v3) Network, необходимо указать название подустройства и канал обратной связи через двоеточие. С полным списком подустройств и каналов обратной связи можно ознакомиться в таблице "Описание устройств и обратных связей".

  1. Загрузить проект на сервер через облако;

  2. Синхронизировать проект с Алексой.

Важно
  • Имена устройств в драйвере должны быть уникальны;
  • Для создания имен подустройств используйте только английский язык;
  • Нельзя создавать и (или) редактировать обратные связи, у каждого устройства Алексы уже есть стандартный набор фидбэков, которые она использует;
  • Для поиска устройств в приложении Alexa App проект должен быть запущен на сервере.

Загрузка проекта в iRidi Cloud и на сервер​

  1. Авторизуйтесь на сайте iRidi.

  2. Загрузите серверный и панельный проекты на облако iRidi Cloud.

Alexa_cloud01.png

  1. На вкладке Users and Panels добавьте в проект конечного пользователя.

Alexa3.png

  1. Запустите iRidi Server.

  2. Зайдите в веб-интерфейс сервера, набрав в адресной строке браузера:

<IP-адрес сервера>:8888

(Если iRidi Server запускается на том же компьютере, на котором он настраивается, то наберите: 127.0.0.1:8888)

  1. Наберите пароль доступа по умолчанию 2007. Нажмите кнопку "LOGIN".

Alexa_web01.png

  1. Найдите вкладку Cloud / Projects .

Alexa_web02.png

  1. Загрузите проект из облака на сервер, нажав кнопку "CLOUD SYNC" и затем "Download" напротив нужного проекта.

Alexa_web03.png

Внимание

Алекса работает только через iRidi Cloud, поэтому она не сможет работать, если проект будет загружен на сервер через iRidi Transfer.

Настройка Алексы​

Регистрация умной колонки​

Алекса настраивается с помощью приложения Alexa App на мобильных устройствах или в веб-сервисе Amazon на ноутбуках или компьютерах.

примечание

В любом случае потребуется наличие Wi-Fi на устройстве для прямого соединения с умной колонкой.

  1. Зарегистрируйтесь на сайте Amazon, если у вас ещё нет учётной записи.

  2. На мобильных устройствах будет предложено скачать приложение Alexa App . На ноутбуках и компьютерах можно продолжить настройку на сайте Amazon.

Alexa_App01(1).png

Операционные системы, на которых Alexa App может работать:

  • Fire OS 3.0 или выше,
  • iOS 9.0 или выше,
  • Android 5.0 или выше,
  • Windows 10 версии 17134.0 или более поздняя.
примечание

Убедитесь, что в Вашем регионе приложение Alexa App доступно для скачивания из Google Play и App Store.

  1. Пройдите пошаговую процедуру регистрации умной колонки, все инструкции будут на экране.

Установка навыка​

Навык устанавливается только в приложении Alexa App .

  1. Запустите приложение. Перейдите на вкладку Devices и нажмите кнопку YOUR SMART HOME SKILLS , чтобы посмотреть все установленные навыки умного дома..

Alexa_v3_4.png

  1. Нажмите кнопку ENABLE SMART HOME SKILLS , чтобы добавить новый навык.

Alexa_v3_5.png

  1. В строке поиска наберите iridium assistant для поиска навыка и кликните по нему.
Важно

Amazon Alexa (v3) работает только с навыком iRidium assistant и не подключится к старому навыку iRidium . Навык iRidium assistant поддерживает единое облачное соединение для всех голосовых помощников.

Alexa_v3_6.PNG

  1. Прочитайте про навык и затем нажмите кнопку ENABLE TO USE .

Alexa_v3_7.png

  1. Вы попадёте на форму регистрации на сайте iRidi. Введите данные учётной записи конечного пользователя, с которым поделились связанным панельным проектом, и нажмите Login .

Alexa1.png

  1. В выпадающем списке выберите объект, с которым будет работать Алекса. Нажмите Grant Access .

Alexa2.png

  1. Alexa успешно подключилась к объекту iRidi.

Alexa_App12.png

Выгрузка устройств из iRidi Cloud​

  1. Нажмите DISCOVER DEVICES .

Alexa_App13.png

  1. Процесс займёт не более 20 секунд.

Alexa_App14.png

  1. Устройства из серверного проекта iRidi автоматически загрузятся в приложение Alexa App .
примечание

Устройства загрузятся только в том случае, если iRidi Server запущен и в него загружен проект с Алексой.

Alexa_v3_8.png

  1. Если вы скорректируете проект, то не забудьте загрузить его в iRidi Cloud, затем обновите его в iRidi Server. После этого нажмите кнопку Add Device на вкладке Devices приложения Alexa App .

Тестирование проекта​

Проект для сервера можно запустить на том же компьютере, на котором производится работа в iRidi Studio. Но проект следует загружать только через iRidi Cloud.

Произносите голосовые команды в колонку Amazon Echo и Алекса передаст команды в iRidi Server, и тот, в свою очередь, исполнит команды согласно скрипту.

Вы может использовать любой эмулятор сервера Modbus TCP, например, бесплатный Modbus PLC Simulator для тестирования проекта.

Подсказка
  • Вы можете зарегистрировать одну колонку Amazon Echo на нескольких объектах iRidi. Учтите, что голосовые команды передаются на все доступные (работающие) серверы iRidi, в связи с этим могут возникать конфликты управления. Не забывайте удалять неработающие или тестовые проекты с Алексой из iRidi Cloud.

  • Единицы измерения температуры (градусы Цельсия или Фаренгейта) можно изменить в региональных настройках в Alexa App.