Logo Logo en
  • iRidi Pro
    Основные компоненты
    • Приложение i3 Pro
    • iRidi Pro Server
    • iRidi Studio
    • iRidium studio v. 1.3.8 (устаревшая версия)
    Java Script в iRidi
    • Руководство
    • Справочник
    • Примеры
    • JS драйвера
    другие
    • Личный Кабинет
    • iRidium Cloud
    • iRidium Transfer
    • Push-уведомления
    • Лучшая практика
    Лицензирование
    • Лицензирование и передача проекта
    • Оффлайн-лицензирование
    • Активация iRidi Pro Server
  • Продукты
    i3 lite
    • Приложение i3 lite
    • Регистрация и лицензирование
    • Сервер
    • Модули
    KNX Home Server
    • Приложение i3 KNX
    • KNX Home Server
    BUS77 HOME SERVER
    • Приложения Bus77 Home и Bus77 Lite
    • Bus77 Home Server
    Решения
    • BYOD - решение для гостиниц
    • Портал жителя - решение для МКД
    iRidi SCADA
    • iRidi SCADA
  • Bus77
    НАСТРОЙКА BUS77
    • Основы Bus77
    • Приложения Bus77 Home и Bus77 Lite
    • Работа с драйвером Bus77 в iRidi Studio
    • Настройка шины Bus77 в iRidi Studio
    ПРОТОКОЛ BUS77
    • Характеристики CAN (Bus77)
    • Описание протокола
    • Исходники на GitHub
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
  • Поддерживаемое оборудование
    Драйверы
    • Список драйверов
    • ProAV драйвера
    • AV & Custom Systems
    • JS драйвера
    • Сторонние драйвера и фриланс
    Протоколы и интерфейсы
    • Голосовое управление
    • 1-Wire
    • BACnet IP
    • Bus77
    • KNX
    • KNX IP BAOS
    • Weinzierl kBerry
    • Microsoft Exchange
    • Modbus
    • MQTT
    • NFC
    • ODBC
    • Onvif
    • SIP
    • SNMP
    • Wake On Lan
    • Z-Wave
    • ZigBee
    Производители
    • AMX
    • AVCiT
    • Beckhoff ADS
    • Biamp Tesira
    • Bluesound
    • Casambi
    • BSS Harman
    • Clipsal
    • ControlArt 7Port
    • Crestron
    • DigiBird
    • Domintell
    • Duotecno
    • EIDE
    • EPSNET
    • Global Cache
    • HDL Buspro
    • Helvar
    • IEAST
    • INELS BUS
    • INELS Wireless
    • Intesis
    • Kleger
    • Kramer VIA
    • Kramer 3000
    • Larnitech
    • Legrand Netatmo
    • LG TV
    • Lutron
    • Lutron Homeworks QS
    • MyHome
    • Nest
    • Novastar
    • Panasоnic PTZ
    • Philips Dynalite
    • PJLink
    • Satel
    • SamsungTV
    • Sonos
    • Somfy
    • SpinetiX
    • Televic Conference
    • TIS
    • Tion
    • URRI
    • Velbus
    • Velocio
    • Vinteo
    • WyreStorm
    • WiiM
    • Xicato
    • Yamaha
    • ZONT
    • Z-Wave.me
    Протестированное оборудование
    • Панель HDL S57
    • Панель HDL S10
    • SIP-домофон
    • Akuvox
    • Arlight
    • Divus
    • QBic TD-1050 PRO
    • QBic TD-1060 Slim
    • QBic TD-1070
    • Sigur
    • Uni-Ubi
    • Velocio
  • Оборудование iRidi

    Серверы
    • HS Сервер
    • ProAV Control Processor Basic
    • ProAV Control Processor Advanced
    • Спецификация контроллеров UMC
    • Настройка контроллера UMC C2
    • Настройка контроллера UMC C3
    • Настройка контроллера HDL IntelliCenter 2 (UMC C4)
    Модули расширения
    • I-PX-RS1
    • I-PX-RS4
    • I-PX-IR3
    KNX
    • KNX Home Server
    • KNX IP Interface
    Панели управления
    • iRidium Panel 7
    • Touch Panel P3
    • Touch Panel P6
    • Touch Panel P8
    • Touch Panel P10
    • Tabletop Touch Panel 10
    • AV Remote Control
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
    • Differences
iRidium mobile web-site
Содержание
    Инструменты‌
    • Сведения о странице
    • Постоянная ссылка
    • Версия для печати
    • Спецстраницы
    • Связанные правки
    • Ссылки сюда
    Login / Create Account
    Материал из for iRidium developers
    Перейти к: навигация, поиск
    Эта страница является переводом страницы Yandex Alice. Перевод выполнен на 38%.

    Содержание

    • 1 iRidium for Yandex Alice
    • 2 Создание нового объекта в облаке iRidium cloud
    • 3 Работа в iRidium studio
      • 3.1 Настройка драйвера
      • 3.2 Обработка голосовых команд по сценариям
      • 3.3 Обработка голосовых команд в скрипте
      • 3.4 Обработка голосовых команд в скрипте (произвольные команды)
    • 4 Загрузка проекта в облако и на сервер
    • 5 Настройка Алисы
    • 6 Тестирование голосового управления

    iRidium for Yandex Alice

    voice control via Yandex Alice and iRidium

    only for Russian users

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

    Алиса - голосовая помощница от Яндекса, которая появилась на свет в 2017 году. Вам достаточно установить Яндекс-браузер с Алисой:

    • на смартфон,
    • на планшет,
    • на ноутбук или компьютер (нужен микрофон).


    Вы также можете использовать Алису на Яндекс-Станции.

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

    • iOS,
    • Android,
    • Windows.


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

    Yandex Alice scheme.png

    Итак, построить умную систему голосового управления просто:

    • Установите Яндекс-браузер с Алисой на смартфон, планшет или компьютер.
    • Запустите навык "Иридий", который научит Алису взаимодействовать c iRidium.
    • Подключитесь к объекту в облаке iRidium cloud.
    • Узнайте индивидуальный секретный ключ, по которому Алиса будет иметь доступ к управлению Вашим iRidium server.
    • Создайте умный дом на основе iRidium server. Укажите, какие голосовые команды и как нужно обрабатывать, введите секретный ключ.


    Попробуйте поработать с Алисой бесплатно в триальном режиме!


    Создание нового объекта в облаке iRidium cloud


    1 Алиса работает только через iRidium cloud, поэтому создайте объект на нашем облаке, если он ещё не создан.

    Объект - это образ реального умного дома или здания на iRidium cloud.

    Как создать объект в iRidium cloud.

    2 Узнайте секретный ключ (secret key) Вашего объекта, перейдя по ссылке. Авторизуйтесь, если необходимо (кнопка "Вход" в правом верхнем углу) и выберите объект.

    Yandex Alice03(2).png


    Работа в iRidium studio

    Настройка драйвера

    Алиса работает только с серверными проектами.


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

    iRidium Studio > File > New > New Server Project

    New server project.png

    2 Добавьте драйвер Yandex Alice в проект.

    Yandex Alice10.png

    3 Настройте единственный параметр Object key (введите Secret key облачного объекта).

    4 Каждый фидбек драйвера Алисы - это одна голосовая команда на русском языке. Добавьте необходимое число фидбеков, введя в параметр Name текст голосовой команды.

    Yandex Alice11.png

    Допускаются только строчные символы кириллицы, пробел и цифры.

    Все произнесённые слова с буквой "ё" Алиса передаёт в iRidium с заменой на букву "е". Однако вы можете вводить букву "ё" в чате Алисы, и она отправит эту букву без изменений.

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

    Длительная пауза при произнесении команды интерпретируется как конец команды.


    Обработка голосовых команд по сценариям

    Голосовые команды можно обрабатывать двумя способами:

    • по сценариям
    • в скрипте


    Обработка по сценариям наиболее простая для понимания, лучше подходит для разработчиков, не владеющих тонкостями программирования.

    Подробнее о сценариях.

    1 Перейдите на вкладку Routine (сценарии).

    YA Routine01.png

    2 Нажмите "+" для добавления нового сценария.

    YA Routine02.png

    3 Задайте имя сценария (Name).

    YA Routine03.png

    4 Добавьте условие WHEN, нажав "+".

    5 Укажите в поле Feedback голосовую команду драйвера "Yandex Alice", в поле Value введите число 1. Таким образом сценарий будет отслеживать появление голосовой команды (через одну секунду тэг голосовой команды автоматически сбрасывается в значение 0).

    YA Routine04.png
    YA Routine05.png
    YA Routine06(1).png

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

    YA Routine07(1).png

    6 Добавьте действие, выполняемое по сценарию, нажав "+" в разделе THEN. Выберите Send Number, укажите канал, которым будете управлять, и значение, которое будет в канал записываться при выполнении сценария.

    YA Routine08(1).png

    7 При необходимости вы можете добавить в сценарий условие BUT ONLY IF.

    8 Итак, один сценарий готов. Вы можете создать множество различных сценариев.

    YA Routine09.png

    Скачайте демо-проект:

    • Яндекс Алиса (обработка команд по сценариям)


    Обработка голосовых команд в скрипте

    Обработка в скрипте более сложна, но обладает преимуществом: в скриптах можно реализовать гораздо более гибкую логику нежели в сценариях.

    Подробнее о скриптах.

    1 Добавьте скрипт обработки голосовых команд в проект, нажав на кнопку "JS" и затем "+" и "New script".

    2 Вставьте скрипт:

    var Alice = IR.GetDevice("Yandex Alice"); // имя драйвера Алисы
    var device = IR.GetDevice("Modbus TCP");  // имя драйвера
    var lamp = 0;                             // Лампа
    var heat = 0;                             // Нагрев
    var temperature = 20;                     // Уставка температуры отопления
    IR.AddListener(IR.EVENT_TAG_CHANGE, Alice, function(name, value) {
      switch (name) {
        case "включить свет":
        case "включи свет":
          lamp = 1;
          break;
        case "выключить свет":
        case "выключи свет":
        case "отключить свет":
        case "отключи свет":
          lamp = 0;
          break;
        case "переключить свет":
        case "переключи свет":
          lamp = !lamp;
          break;
        case "включить отопление":
        case "включи отопление":
          heat = 1;
          break;
        case "выключить отопление":
        case "выключи отопление":
        case "отключить отопление":
        case "отключи отопление":
          heat = 0;
          break;
        case "отопление теплее":
        case "теплее":
          temperature = temperature + 1;
          break;    
        case "отопление холоднее":
        case "холоднее":
        case "прохладнее":
          temperature = temperature - 1;
          break;
     
        /* Алиса преобразует числа прописью в числовой вид, например, произнесённые
           голосовые команды "минус шестнадцать с половиной" или "минус шестнадцать
           целых пять десятых" преобразуется в строку "-16,5". */      
     
        case "отопление 16":
          temperature = 16;
          break;
        case "отопление 18":
          temperature = 18;
          break;           
        case "отопление 20":
        case "отопление стандарт":
          temperature = 20;
          break;               
        case "отопление 22":
        case "отопление комфорт":
          temperature = 22;
          break;
        default:
          IR.Log("Команда не запрограммирована!");
        }
      IR.Log("Получена команда: " + name + ", значение: " + value);
      IR.Log("Лампа: " + lamp + ", Отопление: " + heat + ", Температура: " + temperature);
      device.Set("Лампа", lamp);       // управление устройствами в сети Modbus TCP
      device.Set("Нагрев", heat);	
      device.Set("Температура", temperature);		
    });

    Скачайте демо-проект:

    • Яндекс Алиса (обработка команд в скрипте)


    Обработка голосовых команд в скрипте (произвольные команды)

    В iRidium server 1.3.0 и выше доступен новый способ обработки голосовых команд в скрипте. В целом он похож на способ, описанный в предыдущем разделе, но в этом случае не нужно составлять список всех голосовых команд в драйвере Yandex Alice. Вместо этого создайте лишь одну обратную связь с произвольным именем (фиктивный тег).

    Yandex Alice13.png

    tag1 - фиктивный тег, необходимый для работы драйвера Yandex Alice.

    Также вы можете извлекать числовое значение из голосовой команды вида "отопление 17,5" с помощью функций split() и parseFloat() и затем использовать это число для управления оборудованием. Пример кода приведён ниже.

    1 Добавьте скрипт обработки голосовых команд в проект, нажав на кнопку "JS" и затем "+" и "New script".

    2 Вставьте скрипт:

    var Alice = IR.GetDevice("Yandex Alice"); // имя драйвера Алисы
    var device = IR.GetDevice("Modbus TCP");  // имя драйвера
    var lamp = 0;                             // Лампа
    var heat = 0;                             // Нагрев
    var temperature = 20;                     // Уставка температуры отопления
    IR.AddListener(IR.EVENT_RECEIVE_TEXT, Alice, function(text) {
      switch (text) {
        case "включить свет":
        case "включи свет":
          lamp = 1;
          break;
        case "выключить свет":
        case "выключи свет":
        case "отключить свет":
        case "отключи свет":
          lamp = 0;
          break;
        case "переключить свет":
        case "переключи свет":
          lamp = !lamp;
          break;
        case "включить отопление":
        case "включи отопление":
          heat = 1;
          break;
        case "выключить отопление":
        case "выключи отопление":
        case "отключить отопление":
        case "отключи отопление":
          heat = 0;
          break;
        case "отопление теплее":
        case "теплее":
          temperature = temperature + 1;
          break;    
        case "отопление холоднее":
        case "холоднее":
        case "прохладнее":
          temperature = temperature - 1;
          break;
        case "отопление стандарт":
          temperature = 20;
          break;               
        case "отопление комфорт":
          temperature = 22;
          break;
        default:
        /*
        Алиса преобразует числа прописью в числовой вид, например, произнесённая
        голосовая команда "минус шестнадцать целых пять десятых" преобразуется в строку "-16,5".
     
        Вы можете извлекать число XX из голосовой команды вида "отопление XX" и
        затем использовать следующим образом:
        */       
          var command = text.split(" "); // Разбиение команды вида "отопление XX" на части
          if (command[0] == "отопление" && command.length == 2) {
            var number = parseFloat(command[1].replace(",", ".")); // Извлечение числа XX
            if (number >= 16 && number <= 22) {
              temperature = number;
            }
          } else {
            IR.Log("Команда не запрограммирована!");
          }
        }
      IR.Log("Получена команда: " + text);
      IR.Log("Лампа: " + lamp + ", Отопление: " + heat + ", Температура: " + temperature);
      device.Set("Лампа", lamp);      // управление устройствами в сети Modbus TCP
      device.Set("Нагрев", heat);	
      device.Set("Температура", temperature);		
    });

    Этот скрипт отличается от предыдущего тем, что в нём обрабатывается событие IR.EVENT_RECEIVE_TEXT вместо IR.EVENT_TAG_CHANGE. Событие IR.EVENT_RECEIVE_TEXT получает текст голосовой команды в качестве параметра (переменная text).

    Недостатком этого способа обработки голосовых команд заключается в том, что Алиса не может распознать статус команды - выполнена или нет, поэтому Алиса на все команды отвечает "Выполнено".


    Скачайте демо-проект:

    • Яндекс Алиса (обработка произвольных команд в скрипте)


    Загрузка проекта в облако и на сервер

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

    2 Загрузите файл проекта .sirpz в облако iRidium cloud.

    Yandex Alice12.png

    3 Запустите iRidium server.

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

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

    (Если iRidium server запускается на том же компьютере, на котором он настраивается, то наберите:

    127.0.0.1:8888)

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

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

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

    Web Cloud.png

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


    Настройка Алисы


    Настройка Алисы осуществляется один раз при создании умной системы голосового управления, для этого можно использовать любой смартфон, планшет или компьютер.

    1 Установите Яндекс-браузер как приложение в App Store, Play Market или для компьютера.

    2 Запустите в Алисе навык "Иридий". Вы можете сделать это, произнеся "Запусти навык Иридий" или написав ей этот текст в чате.

    Yandex Alice01(1).png

    3 Перейдите по ссылке на сайт iRidium mobile. (Авторизуйтесь, если необходимо.) Выберите объект, которым будет управлять Алиса. Нажмите кнопку "Add Yandex Alice device".

    Yandex Alice04(2).png

    4 Нажмите кнопку "Сгенерировать автоматически" или введите свою активационную фразу и нажмите "Применить".

    Yandex Alice05(2).png

    5 Посмотрите активационную фразу. Начнётся отсчёт времени 300 секунд.

    Yandex Alice06(1).png

    6 Произнесите Алисе "Активация по коду 8894" в течение 300 секунд отсчёта, где 8894 - ваш сгенерированный код.

    Yandex Alice02(4).png

    Произнесите число по правилам русского языка: "восемь тысяч восемьсот девяносто четыре". В чате код допускается писать цифрами.

    В облако iRidium должен быть загружен проект с драйвером Yandex Alice с секретным ключом.

    7 Алиса подключится к облаку iRidium cloud.

    8 Добавьте необходимое количество дополнительных устройств с Алисой к объекту iRidium, повторив шаги 3-7.

    Алиса надёжно хранит подключение к iRidium cloud в своей памяти. Если устройство с Алисой перезагрузить, то связь автоматически восстановится.

    Если Вам нужно разорвать связь Алисы с объектом iRidium, то произнесите или наберите в чате Алисы "отключиться от объекта".

    Чтобы выйти из навыка "Иридий", произнесите или напишите "прекрати" или "хватит".


    Тестирование голосового управления

    Конечный пользователь:

    • запускает Яндекс-браузер с Алисой,
    • запускает навык "Иридий",
    • произносит команды управления умным домом.


    Источник — «https://dev.iridi.com/index.php?title=Yandex_Alice/en&oldid=67154»
    About us
    Company
    Team
    History
    Philosophy
    Rewards
    Partnership
    Our partner
    Partnership Programs
    Apply for partnership
    products
    iRidium pro
    iRidium lite
    iRidium gate
    iRidium server
    Loads
    iRidium pro
    iRidium lite
    Other version
    Marketing materials
    Support
    On-line courses/Video
    Recommended equipment
    Other version
    iRidium pro
    Documentation
    FAQ
    Forum
    iRidium lite
    Documentation
    Forum
    Projects
    Standart projects
    Smart buildings
    Smart house
    Special solution
    Find a dealer
    News
    Youtube
    Twitter
    VK
    Logo
    contact@iridi.com
    +7 (499) 322-73-29

    Privacy policy