КОРЗИНА
магазина
8 (499) 500-14-56 | ПН. - ПТ. 12:00-18:00
ЛЕСНОРЯДСКИЙ ПЕРЕУЛОК, 18С2, БЦ "ДМ-ПРЕСС"

Протокол VR3: Распознавание голоса (voice recognition module v3.1)

Общие сведения:

Протокол VR3 содержит основные команды для управления модулем распознавания голоса - Voice Recognition Module V3.1. Все команды VR3 отправляются байтами через последовательный порт (UART), на скорости (по умолчанию) 9600 бит/сек.

Каждая команда VR3 является кадром состоящим из нескольких байт, первым байтом кадра всегда является байт AA(код заголовка кадра), а последним байтом кадра всегда является байт 0A(код конца кадра).

Модуль получив кадр команды VR3 отвечает кадром ответа, который так же состоит из нескольких байт, начинается с байта AA и завершается байтом 0A.

В данной статье все байты и коды команд представлены в шестнадцатеричном формате.

Формат команды VR3:

  • Первый байт – код заголовка кадра: AA.
  • Второй байт – длина кадра (количество байт в кадре без байтов заголовка и конца кадра).
  • Третий байт – код команды.
  • Далее могут следовать байты данных (зависит от кода команды).
  • Последний байт – код конца кадра: 0A.
  • Пример: AA 02 10 0A. Расшифровка: AA-заголовок, 02-длина, 10-команда, 0A-конец кадра.

Формат ответа на команду:

  • Первый байт – код заголовка кадра: AA.
  • Второй байт – длина кадра (количество байт в кадре без байтов заголовка и конца кадра).
  • Третий байт – код команды, на которую был прислан ответ.
  • Байты данных (количество и состав зависят от кода команды).
  • Последний байт – код конца кадра: 0A.
  • Пример: AA 03 10 00 0A. Расшифровка: AA-заголовок, 03-длина, 10-команда, 00-данные, 0A-конец кадра.

Отправка команд:

Для отправки команд и получения ответов можно использовать Arduino UNO или Piranha Uno, подключив модуль распознавания голоса - Voice Recognition Module V3.1. по следующей схеме:

    Выводы модуля:Выводы Arduino UNO / Piranha UNO:
    RXD - вход шины UART.3 - назначенный вывод TX программной шины UART.
    TXD - выход шины UART.2 - назначенный вывод RX программной шины UART.
    VCC - вход питания 5 В.5V - вывод питания 5 В.
    GND - общий вывод питания.GND - общий вывод питания.

    Далее необходимо загрузить следующий скетч (он не требует подключения внешних библиотек):

    const uint8_t pinRX = 2;                                       // Определяем вывод RX программного UART (номер вывода можно менять).
    const uint8_t pinTX = 3;                                       // Определяем вывод TX программного UART (номер вывода можно менять).
                                                                   //
    #include <SoftwareSerial.h>                                    // Подключаем библиотеку для работы с программной шиной UART
    SoftwareSerial softSerial( pinRX , pinTX );                    // Создаём объект softSerial с указанием выводов RX и TX программного UART Arduino.
    byte c, n, f, h[32], toHEX(char);                              // Объявляем переменные c,n,f, массив h и функцию toHEX() преобразующую символ в число.
                                                                   //
    void setup(){                                                  //
          Serial.begin(9600);                                      // Инициируем связь по аппаратной  шине UART на скорости 9600 (используется для работы с монитором).
      softSerial.begin(9600);                                      // Инициируем связь по программной шине UART на скорости 9600 (используется для подключения модуля).
          Serial.println(F("ВВЕДИТЕ КОМАНДУ в шестнадцатеричном формате.  "));
          Serial.println(F("Команды можно вводить как целиком, так и без  "));
          Serial.println(F("кода начала кадра, длины кадра и конца кадра. "));
          Serial.println(F("Можно использовать пробелы и иные разделители."));
    }                                                              //
                                                                   //
    void loop(){                                                   //
    //  ПЕРЕДАЁМ КОМАНДЫ ИЗ МОНИТОРА В МОДУЛЬ:                     //
        if(Serial.available()>0){                                  // Если в буфере аппаратного UART есть данные (из монитора), то ...
            Serial.println(F("--------------------------------")); // Выводим в монитор текст.
            c=0, n=0, f=0, h[0]=0;                                 // Сбрасываем значения переменных.
        //  Получаем данные из монитора:                           //
            while(Serial.available()){                             // Выполняем цикл while пока в буфере аппаратного UART есть данные ...
                c=Serial.read(); c=toHEX(c);                       // Читаем очередной символ из буфера аппаратного UART (из монитора).
                if(c<16){if(f){h[n]<<=4; h[n]+=c; n++; h[n]=0;}else{h[n]+=c;} f=!f;} // Получен    полный байт как элемент массива h.
                else    {if(f){                   n++; h[n]=0;}               f= 0;} // Получен не полный байт как элемент массива h.
                delay(2);                                          // Выполняем задержку внутри цикла while, так как он выполняется быстрее чем UART на скорости 9600.
            }                                                      //
        //  Добавляем код заголовка, длину и код конца кадра:      //
            if(h[0]!=0xAA){                                        // Если первый (полученный из монитора) байт не равен коду заголовка кадра, то ...
                for(c=n-1; c>0; c--){h[c+2]=h[c];}                 // Сдвигаем кадр h на 2 байта назад.
                n+=3; h[2]=h[0]; h[1]=n-2; h[0]=0xAA; h[n-1]=0x0A; // Добавляем код начала кадра, длину кадра и код конца кадра.
            }                                                      //
        //  Выводим полученный кар обратно в монитор:              //
            Serial.print(F("Команда: '"));                         // Выводим в монитор текст.
            for(c=0; c<n; c++){                                    // Проходим по всем полученным байтам кадра
                if(h[c]<0x10){Serial.print(0);}                    // Выводим в монитор старший 0, если очередной байт меньше 0x10.
                Serial.print(h[c],HEX);                            // Выводим в монитор очередной байт в шестнадцатеричном формате.
                Serial.print(c<n-1?" ":"'\r\n");                   // Выводим в монитор пробел текст.
            }                                                      //
        //  Передаём полученный кадр модулю:                       //
            softSerial.write(h,n);                                 // Отправляем сформированный пакет h состоящий из n байт по программному UART в модуль.
        }                                                          //
    //  ПОЛУЧАЕМ ОТВЕТЫ ОТ МОДУЛЯ В МОНИТОР:                       //
        if(softSerial.available()>0){                              // Если в буфере программного UART есть данные, то ...
            Serial.print(F("Ответ:   '")); n=0;                    // Выводим в монитор текст.
            while(softSerial.available()){                         // Выполняем цикл while пока в буфере программного UART есть данные ...
                c=softSerial.read();                               // Читаем очередной байт из буфера программного UART.
                if(n>0)   {Serial.print(' ');}                     // Выводим в монитор разделительный пробел.
                if(c<0x10){Serial.print(0);}                       // Выводим в монитор старший 0, если очередной байт меньше 0x10.
                Serial.print(c, HEX);                              // Выводим в монитор принятый байт в шестнадцатеричном формате.
                delay(2); n++;                                     // Выполняем задержку внутри цикла while, так как он выполняется быстрее чем UART на скорости 9600.
            }   Serial.print("'\r\n");                             // Выводим в монитор текст.
        }                                                          //
    }                                                              //
                                                                   //
    //   ФУНКЦИЯ ПРЕОБРАЗОВАНИЯ СИМВОЛА В ЧИСЛО:                   //
    byte toHEX(char i){                                            //
         if(i>='0' && i<='9'){return (byte)(i-'0'   );}else        // Преобразуем символ '0'-'9' в число  0-9  и возвращаем его.
         if(i>='a' && i<='f'){return (byte)(i-'a'+10);}else        // Преобразуем символ 'a'-'f' в число 10-15 и возвращаем его.
         if(i>='A' && i<='F'){return (byte)(i-'A'+10);}else        // Преобразуем символ 'A'-'F' в число 10-15 и возвращаем его.
         return 16;                                                // Если символ не является шестнадцатеричным представлением числа, то возвращаем 16.
    }                                                              //
    

    При необходимости выводы TX и RX программной шины UART можно переназначить в первых двух строках скетча.

    Открыв монитор последовательного порта можно вводить команды VR3 в шестнадцатеричном формате и получать ответы от модуля.

    Команды можно вводить как целиком, например, AA 02 01 0A, так и без кода заголовка, длины кадра и конца кадра, значит для отправки той же команды достаточно ввести только 01, так как остальные байты это: AA-заголовок, 02-длина и 0A-конец кадра.

    Так же скетч позволяет указывать разделители между байтами в виде пробелов и иных символов: AA02010A = AA 02 01 0A = AA 2 1 A = AA-2-1-A = AA-02-01-0A = 01 = 1.

    Коды команд:

    Проверка состояния модуля:

    Настройка системы:

    Команды записи:

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

    Команды ответов:

    Команда «00» Проверка настроек системы:

    Команда 00 позволяет узнать текущие настройки модуля.

      Формат команды:

      AA 02 00 0A

      Формат ответа:

      AA 08 00 СТАТУС СКОРОСТЬ РЕЖИМ ШИРИНА АВТОЗАГРУЗКА ГРУППЫ 0A

      Данные:

      Тип данных:Возможные значения:
      СТАТУССтатус обучения модуля с момента последней подачи питания:
    • 00 – Голосовые команды не записывались в хранилище модуля.
    • 01 – Голосовые команды записывались в хранилище модуля.
    • FF – Статус обучения модуля неизвестен.
    • СКОРОСТЬСкорость передачи данных по шине UART:
    • 00 – 9’600 бит/сек.
    • 01 – 2’400 бит/сек.
    • 02 – 4’800 бит/сек.
    • 03 – 9’600 бит/сек.
    • 04 – 19’200 бит/сек.
    • 05 – 38’400 бит/сек.
    • РЕЖИМРежим работы выходов OUT-0...OUT-6: (определяет поведение выходов при опознании голосовой команды загруженной в распознаватель).
      • 00 – Импульсный (на выходе появится отрицательный импульс).
      • 01 – Триггер. (выход изменит логический уровень).
      • 02 – Сброс. (на выходе установится уровень логического ноля).
      • 03 – Установка. (на выходе установится уровень логической единицы).
      ШИРИНАДлительность (ширина) импульса на выходе OUT (в импульсном режиме):
      • 000F – число определяет время в течении которого на выходе будет установлен уровень логического ноля (см. команду 13).
      АВТОЗАГРУЗКААвтоматическая загрузка голосовых команд из хранилища в распознаватель:
      • 00 – Отключена.
      • 0107 – Количество загружаемых голосовых команд.
      ГРУППЫУправление группами голосовых команд при помощи входов IN-0...IN-2:
      • 00 – Отключено.
      • 01 – Входы управляют системными группами голосовых команд.
      • 02 – Входы управляют пользовательскими группами голосовых команд.

      Пример:

      Команда: AA 02 00 0A

      Ответ: AA 08 00 00 00 00 00 00 00 0A

      Расшифровка ответа:

      • AA – Заголовок кадра.
      • 08 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
      • 00 – Номер команды на которую отправлен данный ответ.
      • 00 – (СТАТУС) Голосовые команды не записывались в хранилище модуля.
      • 00 – (СКОРОСТЬ) Скорость передачи данных по шине UART равна 9600 бит/сек.
      • 00 – (РЕЖИМ) Выходы OUT 0-6 модуля работают в импульсном режиме.
      • 00 – (ШИРИНА) Импульс на выходах модуля устанавливается на 10 мс.
      • 00 – (АВТОЗАГРУЗКА) Автоматическая загрузка голосовых команд отключена.
      • 00 – (ГРУППЫ) Входы IN-0...IN-2 не управляют группами голосовых команд.
      • 0A – Конец кадра.

      Команда «01» Проверка ячеек распознавателя:

      Команда 01 позволяет узнать текущее состояние распознавателя голосовых команд.

      Формат команды:

      AA 02 01 0A

      Формат ответа:

      AA 0D 01 АКТ ГК-0 ГК-1 ГК-2 ГК-3 ГК-4 ГК-5 ГК-6 ВСЕГО МАСКА ГРУППА 0A

      Данные:

      Тип данных:Возможные значения:
      АКТИВНЫЕКоличество активных голосовых команд в распознавателе:
      • 0007 – В распознавателе могут быть активны до 7 голосовых команд.
      ГК-X
      (голосовая команда)
      Номер ячейки хранилища голосовых команд, данные которой загружены в ячейку X памяти распознавателя голосовых команд:
      • 004F – Возможный номер ячейки хранилища голосовых команд.
      • FF – Голосовая команда не загружена.
      ВСЕГОКоличество голосовых команд загруженных из хранилища в распознаватель:
      • 0007 – В распознавателе могут находиться до 7 голосовых команд.
      МАСКАМаска это битовая карта активных ячеек памяти распознавателя:
      Каждый бит байта маски (кроме старшего) отвечает за номер ячейки памяти распознавателя которую необходимо сделать активной (рабочей).
      • 00 = (00000000)2 – все ячейки памяти распознавателя неактивны.
      • 01 = (00000001)2 – активна ячейка памяти распознавателя № 0.
      • 03 = (00000011)2 – активны ячейки памяти распознавателя № 1 и 0.
      • 07 = (00000111)2 – активны ячейки памяти распознавателя № 2…0.
      • 0F = (00001111)2 – активны ячейки памяти распознавателя № 3…0.
      • 1F = (00011111)2 – активны ячейки памяти распознавателя № 4…0.
      • 3F = (00111111)2 – активны ячейки памяти распознавателя № 5…0.
      • 7F = (01111111)2 – активны все ячейки памяти распознавателя.
      ГРУППАДанный байт определяет, как были загружены записи в распознаватель:
      • FF – Записи в распознаватель загружены не из групп.
      • 000A – Записи распознавателя загружены из системной группы № 00-0A.
      • 8087 – Записи распознавателя загружены из пользовательской группы № 0-7

      Пример:

      Команда: AA 02 01 0A

      Ответ: AA 0D 01 00 FF FF FF FF FF FF FF 00 00 FF 0A

      Расшифровка ответа:

      • AA – Заголовок кадра.
      • 0D – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
      • 01 – Номер команды на которую отправлен данный ответ.
      • 00 – (АКТИВНЫЕ) В распознавателе нет активных записей.
      • FF – (ГК-0) В 0 ячейке распознавателе нет записей.
      • FF – (ГК-1) В 1 ячейке распознавателе нет записей.
      • FF – (ГК-2) В 2 ячейке распознавателе нет записей.
      • FF – (ГК-3) В 3 ячейке распознавателе нет записей.
      • FF – (ГК-4) В 4 ячейке распознавателе нет записей.
      • FF – (ГК-5) В 5 ячейке распознавателе нет записей.
      • FF – (ГК-6) В 6 ячейке распознавателе нет записей.
      • 00 – (ВСЕГО) В распознавателе нет записей.
      • 00 – (МАСКА) Все ячейки памяти распознавателя неактивны.
      • FF – (ГРУППЫ) Записи в распознавателе не загружены из групп.
      • 0A – Конец кадра.

      Команда «02» Проверка ячеек хранилища:

      Команда 02 позволяет узнать статус ячеек хранилища голосовых команд, обучена (содержит запись) или нет.

        Формат команды:

        AA 02+количество 02 ЯЧЕЙКА ... ЯЧЕЙКА 0A

        Формат ответа:

        AA 3+2*количество 02 ВСЕГО ЯЧЕЙКА СТАТУС ... ЯЧЕЙКА СТАТУС 0A

        Данные:

        Тип данных:Возможные значения:
        количествоКоличество проверяемых ячеек хранилища:
        • 0150 – Хранилище может содержать до (80)10 = (50)16 голосовых команд.
        ЯЧЕЙКАНомер проверяемой ячейки (можно указать один или несколько номеров ячеек):
        • 004F – Возможный номер ячейки хранилища голосовых команд.
        • FF – Проверить все ячейки.
        ВСЕГООбщее количество обученных ячеек (ячеек содержащих записи):
        • 0050 – Хранилище может содержать до (50)16 записей голосовых команд.
        СТАТУССостояние ячейки:
        • 00 – Не обучена (ячейка не содержит голосовой команды).
        • 01 – Обучена (содержит запись голосовой команды).
        • FF – Некорректный номер ячейки.

            Пример:

            Команда: AA 05 02 00 01 4F 0A – проверить статус ячеек 00, 01 и 4F.

            Ответ: AA 09 02 02 00 01 01 01 4F 00 0A

            Расшифровка ответа:

              • AA – Заголовок кадра.
              • 09 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
              • 02 – Номер команды на которую отправлен данный ответ.
              • 02 – (ВСЕГО) В хранилище модуля есть всего две ячейки содержащие голосовые команды.
              • 00 01 – (ЯЧЕЙКА СТАТУС) Проверяемая ячейка номер 00 – обучена (01).
              • 01 01 – (ЯЧЕЙКА СТАТУС) Проверяемая ячейка номер 01 – обучена (01).
              • 4F 00 – (ЯЧЕЙКА СТАТУС) Проверяемая ячейка номер 4F – не обучена (00).
              • 0A – Конец кадра.

              Если запрошен статус всех ячеек хранилища (команда AA 03 02 FF 0A), то ответ будет состоять из шестнадцати кадров. При этом каждый кадр будет содержать информацию о статусе очередных пяти ячеек хранилища голосовых команд.

              Команда «03» Запрос подписи:

              Команда 03 позволяет узнать подпись (текстовый комментарий) к записи хранилища.

                Формат команды:

                AA 03 03 ЯЧЕЙКА 0A

                Формат ответа:

                AA 4+ДЛИНА 03 ЯЧЕЙКА ДЛИНА ПОДПИСЬ 0A

                Данные:

                Тип данных:Возможные значения:
                ЯЧЕЙКАНомер ячейки голосовой команды хранилища, подпись которой требуется узнать:
                • 004F – Возможный номер ячейки хранилища голосовых команд.
                ДЛИНАДлина подписи в байтах.
                • 00 – У голосовой команды нет подписи.
                • 010A – У голосовой команды есть подпись от одного до десяти байт.
                ПОДПИСЬПодпись:
                • Передаётся текстом (кодами символов).

                Пример:

                Команда: AA 03 03 01 0A – запрос подписи голосовой команды из 01 ячейки хранилища.

                Ответ: AA 07 03 01 03 4F 66 66 0A

                Расшифровка ответа:

                  • AA – Заголовок кадра.
                  • 07 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                  • 03 – Номер команды на которую отправлен данный ответ.
                  • 01 – (ЯЧЕЙКА) Номер записи подпись которой была запрошена.
                  • 03 – (ДЛИНА) Количество байт в подписи.
                  • 4F 66 66 – (ПОДПИСЬ) Байты подписи. Коды символов 4F 66 66 соответствуют тексту «Off».
                  • 0A – Конец кадра.

                  Команда «10» Восстановление настроек по умолчанию:

                  Команда 10 позволяет восстановить системные настройки в значения по умолчанию.

                    Формат команды:

                    AA 02 10 0A

                    Формат ответа:

                    AA 03 10 00 0A

                    Данные:

                    Тип данных:Возможные значения:
                    00В команде и ответе нет данных, но так как ответ обязан содержать данные, то в качестве данных указан пустой байт.

                    Пример:

                    Команда: AA 02 10 0A

                    Ответ: AA 03 10 00 0A

                    Расшифровка ответа:

                    • AA – Заголовок кадра.
                    • 03 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                    • 10 – Номер команды на которую отправлен данный ответ.
                    • 00 – Пустой байт данных.
                    • 0A – Конец кадра.

                    Команда «11» Скорость UART:

                    Команда 11 позволяет установить скорость передачи данных по шине UART.

                      Формат команды:

                      AA 03 11 СКОРОСТЬ 0A

                      Формат ответа:

                      AA 03 11 00 0A

                      Данные:

                      Тип данных:Возможные значения:
                      СКОРОСТЬЗначение определяющее скорость передачи данных по шине UART:
                      • 00 – 9’600 бит/сек.
                      • 01 – 2’400 бит/сек.
                      • 02 – 4’800 бит/сек.
                      • 03 – 9’600 бит/сек.
                      • 04 – 19’200 бит/сек.
                      • 05 – 38’400 бит/сек.

                      Пример:

                      Команда: AA 03 11 03 0A – установить скорость 9’600 бит/сек.

                      Ответ: AA 03 11 00 0A

                      Расшифровка ответа:

                      • AA – Заголовок кадра.
                      • 03 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                      • 11 – Номер команды на которую отправлен данный ответ.
                      • 00 – Пустой байт данных.
                      • 0A – Конец кадра.

                      Команда «12» Режим выходов:

                      Команда 12 позволяет установить один из режимов работы для всех выходов OUT 0-6.
                      Установленный режим определяет поведение выходов OUT 0-6 при опознании голосовых команд.

                        Формат команды:

                        AA 03 12 РЕЖИМ 0A

                        Формат ответа:

                        AA 03 12 00 0A

                        Данные:

                        Тип данных:Возможные значения:
                        РЕЖИМРежим работы всех выходов OUT 0-6 модуля:
                        • 00 – Импульсный режим.
                        • 01 – Режим триггера.
                        • 02 – Режим установки.
                        • 03 – Режим сброса.
                        • В импульсном режиме, при опознании голосовой команды, на соответствующем выходе появится отрицательный импульс, длительность которого можно указать командой «13».
                        • В режиме триггера, при опознании голосовой команды, на соответствующем выходе изменится его логический уровень, с «0» на «1», или с «1» на «0».
                        • В режимах установки или сброса, при опознании голосовой команды, выход будет установлен в активное состояние («1» или «0» соответственно). Восстановить неактивное состояние можно командой «14».

                        Пример:

                        Команда: AA 03 12 01 0A – установить все выходы модуля в режим триггера.

                        Ответ: AA 03 12 00 0A

                        Расшифровка ответа:

                        • AA – Заголовок кадра.
                        • 03 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                        • 12 – Номер команды на которую отправлен данный ответ.
                        • 00 – Пустой байт данных.
                        • 0A – Конец кадра.

                          Команда «13» Ширина импульсов:

                          Команда 13 позволяет задать длительность отрицательного импульса, появляющегося на выходах OUT 0-6 при опознании голосовой команды, если командой «12» был выбран импульсный режим работы выходов модуля.

                            Формат команды:

                            AA 03 13 ШИРИНА 0A

                            Формат ответа:

                            AA 03 13 00 0A

                            Данные:

                            Тип данных:Возможные значения:
                            ШИРИНАДлительность импульса на выходах OUT 0-6 модуля (в импульсном режиме):
                            • 00 – 10 миллисекунд.
                            • 01 – 15 миллисекунд.
                            • 02 – 20 миллисекунд.
                            • 03 – 25 миллисекунд.
                            • 04 – 30 миллисекунд.
                            • 05 – 35 миллисекунд.
                            • 06 – 40 миллисекунд.
                            • 07 – 45 миллисекунд.
                            • 08 – 50 миллисекунд.
                            • 09 – 75 миллисекунд.
                            • 0A – 0,1 секунд.
                            • 0B – 0,2 секунд.
                            • 0C – 0,3 секунд.
                            • 0D – 0,4 секунд.
                            • 0E – 0,5 секунд.
                            • 0F – 1 секунда.

                            Пример:

                            Команда: AA 03 13 0A 0A – установить длительность импульса в 0,1 секунду.

                            Ответ: AA 03 13 00 0A

                            Расшифровка ответа:

                            • AA – Заголовок кадра.
                            • 03 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                            • 13 – Номер команды на которую отправлен данный ответ.
                            • 00 – Пустой байт данных.
                            • 0A – Конец кадра.

                            Команда «14» Сброс выходов:

                            Команда 14 позволяет сбросить логические уровни выходов OUT 0-6 в неактивное состояние, если они работают в режиме установки или сброса (режим задаётся командой «12»)..

                              Формат команды:

                              AA 02+количество 14 ВЫХОД ... ВЫХОД 0A

                              Формат ответа:

                              AA 03 14 00 0A

                              Данные:

                              Тип данных:Возможные значения:
                              количествоКоличество выходов уровни которых требуется сбросить в неактивное состояние:
                              • 0107 – Можно указать от 1 до 7 выходов OUT 0-6.
                              ВЫХОДНомер выхода уровень которого требуется сбросить в неактивное состояние:
                              • 0006 – Возможный номер выхода реагирующего на голосовую команду.
                              • FF – Применить команду ко всем выходам модуля.

                              Пример:

                              Команда: AA 03 14 FF 0A – сбросить все выходы OUT 0-6 в неактивное состояние.

                              Команда: AA 05 14 00 01 06 0A – сбросить в неактивное состояние выходы OUT 0, 1 и 6.

                              Ответ: AA 03 14 00 0A

                              Расшифровка ответа:

                              • AA – Заголовок кадра.
                              • 03 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                              • 14 – Номер команды на которую отправлен данный ответ.
                              • 00 – Пустой байт данных.
                              • 0A – Конец кадра.

                              Команда «15» Автозагрузка голосовых команд в распознаватель:

                              Команда 15 позволяет загрузить до 7 записей (голосовых команд) из хранилища в распознаватель голосовых команд при подаче питания.

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

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

                                Формат команды:

                                AA 03+количество 15 МАСКА ЯЧЕЙКА[0] ... ЯЧЕЙКА[n] 0A

                                Формат ответа:

                                AA 04+количество 15 00 МАСКА ЯЧЕЙКА[0] ... ЯЧЕЙКА[n] 0A

                                Данные:

                                Тип данных:Возможные значения:
                                количествоКоличество голосовых команд которые требуется автоматически загружать:
                                • 0107 – В распознаватель можно загрузить до 7 голосовых команд.
                                МАСКАМаска это битовая карта активных ячеек памяти распознавателя:
                                Каждый бит байта маски (кроме старшего) активирует одну ячейку памяти распознавателя. В распознавателе 7 ячеек памяти с номерами от 0 до 6.
                                • 01 = (00000001)2 – активировать ячейку распознавателя № 0.
                                • 03 = (00000011)2 – активировать ячейки распознавателя № 1 и 0.
                                • 07 = (00000111)2 – активировать ячейки распознавателя № 2…0.
                                • 0F = (00001111)2 – активировать ячейки распознавателя № 3…0.
                                • 1F = (00011111)2 – активировать ячейки распознавателя № 4…0.
                                • 3F = (00111111)2 – активировать ячейки распознавателя № 5…0.
                                • 7F = (01111111)2 – активировать все ячейки распознавателя № 6…0.
                                Иные варианты битовых карт недопустимы, так как все записи загружаемые в распознаватель должны быть активны, например, нельзя указать (01010101)2.
                                ЯЧЕЙКА[Х]Номер ячейки хранилища, голосовую команду которой требуется автоматически загружать в ячейку X распознавателя голосовых команд:
                                • 004F – Возможный номер ячейки хранилища голосовых команд.
                                Можно указать до 7 разных номеров ячеек хранилища, или отправить команду без указания ячеек, тогда автозагрузка будет отключена.

                                Пример:

                                Команда: AA 03 15 00 0A – отключить автоматическую загрузку голосовых команд.

                                Ответ: AA 04 15 00 00 0A

                                Пример:

                                Команда: AA 05 15 03 05 09 0A – загружать записи 5 и 9 в 0 и 1 ячейки распознавателя.

                                Ответ: AA 06 15 00 03 05 09 0A

                                Пример:

                                Команда: AA 05 15 03 03 05 07 09 0A – загружать записи 3, 5, 7 и 9 в 0, 1, 2 и 3 ячейки.

                                Ответ: AA 08 15 00 03 03 05 07 09 0A

                                Расшифровка ответа: кадр ответа отличается от кадра команды наличием дополнительного байта 00 после номера команды 15.

                                Команда «20» Запись голосовых команд:

                                Команда 20 позволяет записать одну или несколько голосовых команд в указанные ячейки памяти хранилища голосовых команд. Запись осуществляется без ввода подписи (текстового комментария).

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

                                  Формат команды:

                                  AA 02+количество 20 ЯЧЕЙКА ... ЯЧЕЙКА 0A

                                  Формат ответа:

                                  AA 04+длина подсказки 0A ЯЧЕЙКА ПОДСКАЗКА 0D 0A

                                  AA 03+2*количество 20 ВСЕГО ЯЧЕЙКА СТАТУС ... ЯЧЕЙКА СТАТУС 0A

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

                                  Данные:

                                  Тип данных:Возможные значения:
                                  количествоКоличество голосовых команд которые требуется записать в хранилище:
                                  • 0150 – В хранилище голосовых команд можно записать до (50)16 записей.
                                  ЯЧЕЙКАНомер ячейки хранилища, в которую требуется записать голосовую команду:
                                  • 004F – Возможный номер ячейки хранилища голосовых команд.
                                  ПОДСКАЗКАТекстовый статус записи голосовой команды, это коды символов текста:
                                  • 53 70 65 61 6B 20 6E 6F 77 – «Speak now» (Говорите сейчас).
                                    Подсказка указывает что нужно произнести голосовую команду.
                                  • 53 70 65 61 6B 20 61 67 61 69 6E – «Speak again» (Говорите снова).
                                    Подсказка указывает что нужно повторить голосовую команду.
                                  • 43 61 6E 6E 27 74 20 6D 61 74 63 68 65 64 – «Cann’t matched» (не совпали).
                                    Подсказка указывает что произнесённые голосовые команды не совпали.
                                  • 53 75 63 63 65 73 73 – «Success» (Успех).
                                    Подсказка указывает что голосовая команда записана в хранилище.
                                  длина подсказкиКоличество байт в подсказке
                                  СТАТУССтатус записи голосовой команды в хранилище:
                                  • 00 – Успех.
                                  • 01 – Превышено время записи.
                                  • 02 – Указан некорректный номер ячейки хранилища голосовых команд.
                                  ВСЕГОКоличество успешно записанных голосовых команд.
                                  • 0050 – Хранилище может содержать до (50)16 записей голосовых команд.

                                  Пример:

                                  Команда: AA 03 20 05 0A – Записать голосовую команду в 5 ячейку хранилища.

                                  Ответы:

                                  AA 0D 0A 05 53 70 65 61 6B 20 6E 6F 77 0D 0A – модуль просит произнести команду.

                                  AA 0F 0A 05 53 70 65 61 6B 20 61 67 61 69 6E 0D 0A – модуль просит повторить команду.

                                  AA 0B 0A 05 53 75 63 63 65 73 73 0D 0A – модуль сообщает что команда записана в 5 ячейку.

                                  AA 05 20 01 05 00 0A – модуль возвращает статус записи голосовой команды в хранилище.

                                  Расшифровка ответа:

                                  Ответы с кодом 0A являются текстовыми подсказками, а последний ответ на команду 20.

                                  • AA – Заголовок кадра.
                                  • 05 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                  • 20 – Номер команды на которую отправлен данный ответ.
                                  • 01 – (ВСЕГО) В хранилище модуля успешно записана одна голосовая команда.
                                  • 05 00 – (ЯЧЕЙКА СТАТУС) В ячейку номер 05 – запись выполнена успешно (00).
                                  • 0A – Конец кадра.

                                  Если в команде указать несколько ячеек памяти хранилища голосовых команд, например,AA 04 20 05 09 0A (записать голосовые команды в 5 и 9 ячейки хранилища голосовых команд), то модуль поочерёдно будет просить произнести команды для записи, сначала в 5 ячейку, а потом в 9, после чего вернёт статус записи всех команд в указанные ячейки хранилища.

                                  Примечание: Выполнение записи голосовой команды в любую ячейку хранилища голосовых команд приводит к очистке всех ячеек распознавателя. Желтый светодиод на плате модуля будет постоянно светиться, сигнализируя об отсутствии сравнения звукового сигнала с записями распознавателя.

                                  Команда «21» Запись голосовой команды с подписью:

                                  Команда 21 позволяет записать одну голосовую команду в указанную ячейку памяти хранилища голосовых команд, с указанием подписи (комментария) к записи.

                                  Данная команда, в отличии от команды 20, позволяет записать только одну голосовую команду за раз, но с возможностью указать подпись к записи.

                                    Формат команды:

                                    AA 03+длина подписи 21 ЯЧЕЙКА ПОДПИСЬ 0A

                                    Формат ответа:

                                    AA 04+длина подсказки 0A ЯЧЕЙКА ПОДСКАЗКА 0D 0A

                                    AA 05+длина подписи 21 ВСЕГО ЯЧЕЙКА СТАТУС ПОДПИСЬ 0A

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

                                    Данные:

                                    Тип данных:Возможные значения:
                                    ЯЧЕЙКАНомер ячейки хранилища, в которую требуется записать голосовую команду:
                                    • 004F – Возможный номер ячейки хранилища голосовых команд.
                                    ПОДПИСЬТекстовый комментарий к голосовой команде.
                                    В примере ниже в качестве комментария указаны 6 кодов символов
                                    50 72 69 76 65 74, что соответствует тексту «Privet».
                                    Допускается указывать подпись длиной от 0 (без подписи) до 10 байт.
                                    длина подписиКоличество байт в подписи.
                                    ПОДСКАЗКАТекстовый статус записи голосовой команды, это коды символов текста:
                                    • 53 70 65 61 6B 20 6E 6F 77 – «Speak now» (Говорите сейчас).
                                      Подсказка указывает что нужно произнести голосовую команду.
                                    • 53 70 65 61 6B 20 61 67 61 69 6E – «Speak again» (Говорите снова).
                                      Подсказка указывает что нужно повторить голосовую команду.
                                    • 43 61 6E 6E 27 74 20 6D 61 74 63 68 65 64 – «Cann’t matched» (не совпали).
                                      Подсказка указывает что произнесённые голосовые команды не совпали.
                                    • 53 75 63 63 65 73 73 – «Success» (Успех).
                                      Подсказка указывает что голосовая команда записана в хранилище.
                                    длина подсказкиКоличество байт в подсказке
                                    СТАТУССтатус записи голосовой команды в хранилище:
                                    • 00 – успех.
                                    • 01 – Превышено время записи.
                                    • 02 – Указан некорректный номер ячейки хранилища голосовых команд.
                                    ВСЕГОКоличество успешно записанных голосовых команд.
                                    • 0001 – Команда не позволяет записать более 1 голосовой команды за раз.

                                    Пример:

                                    Команда: AA 09 21 05 50 72 69 76 65 74 0A – Записать голосовую команду в 5 ячейку хранилища голосовых команд, с подписью «Privet».

                                    Ответы:

                                    AA 0D 0A 05 53 70 65 61 6B 20 6E 6F 77 0D 0A – модуль просит произнести команду.

                                    AA 0F 0A 05 53 70 65 61 6B 20 61 67 61 69 6E 0D 0A – модуль просит повторить команду.

                                    AA 0B 0A 05 53 75 63 63 65 73 73 0D 0A – модуль сообщает что команда записана в 5 ячейку.

                                    AA 0B 21 01 05 00 50 72 69 76 65 74 0A – модуль возвращает статус записи.

                                    Расшифровка ответа:

                                    Ответы с кодом 0A являются текстовыми подсказками, а последний ответ на команду 21.

                                    • AA – Заголовок кадра.
                                    • 0B – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                    • 21 – Номер команды на которую отправлен данный ответ.
                                    • 01 – (ВСЕГО) В хранилище модуля успешно записана одна голосовая команда.
                                    • 05 00 – (ЯЧЕЙКА СТАТУС) В ячейку номер 05 – запись выполнена успешно (00).
                                    • 50 72 69 76 65 74 - (ПОДПИСЬ) Коды символов строки «Privet» указанной как подпись записи.
                                    • 0A – Конец кадра.

                                    Примечание: Выполнение записи голосовой команды в любую ячейку хранилища голосовых команд приводит к очистке всех ячеек распознавателя. Желтый светодиод на плате модуля будет постоянно светиться, сигнализируя об отсутствии сравнения звукового сигнала с записями распознавателя.

                                    Команда «22» Запись/удаление подписи:

                                    Команда 22 позволяет записать или удалить подпись к голосовой команде уже записанной в хранилище голосовых команд.

                                      Формат команды:

                                      AA 03+длина подписи 22 ЯЧЕЙКА ПОДПИСЬ 0A

                                      Формат ответа:

                                      AA 04+длина подписи 22 00 ЯЧЕЙКА ПОДПИСЬ 0A

                                      Данные:

                                      Тип данных:Возможные значения:
                                      ЯЧЕЙКАНомер ячейки хранилища, в которую требуется записать/удалить подпись:
                                      • 004F – Возможный номер ячейки хранилища голосовых команд.
                                      ПОДПИСЬТекстовый комментарий к голосовой команде.
                                      Подпись указывается кодами символов. Максимальная длина – десять байт.
                                      Если подпись не указать, то она будет стёрта из ячейки хранилища.
                                      длина подписиКоличество байт в подписи.

                                        Пример:

                                        Команда: AA 09 22 01 50 72 69 76 65 74 0A – Записать подпись «Privet» в 1 ячейку.

                                        Ответ: AA 0A 22 00 01 50 72 69 76 65 74 0A

                                        Расшифровка ответа:

                                        • AA – Заголовок кадра.
                                        • 0A – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                        • 22 – Номер команды на которую отправлен данный ответ.
                                        • 00 – Пустой байт данных.
                                        • 01 – (ЯЧЕЙКА) Номер ячейки хранилища, в которую добавлена подпись.
                                        • 50 72 69 76 65 74 – (ПОДПИСЬ) Коды символов текста подписи «Privet».
                                        • 0A – Конец кадра.

                                        Пример:

                                        Команда: AA 03 22 09 0A – Удалить подпись из 9 ячейки хранилища голосовых команд.

                                        Ответ: AA 04 22 00 09 0A

                                        Расшифровка ответа:

                                        • AA – Заголовок кадра.
                                        • 04 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                        • 22 – Номер команды на которую отправлен данный ответ.
                                        • 00 – Пустой байт данных.
                                        • 09 – (ЯЧЕЙКА) Номер ячейки хранилища, из которой удалена подпись.
                                        • 0A – Конец кадра.

                                        Примечание: Если подпись добавляется/изменяется/удаляется в ячейке хранилища, голосовая команда которой уже записана в распознаватель, то при совпадении речи в распознавателе, будет выведена новая подпись.

                                        Команда «30» Загрузка голосовых команд:

                                        Команда 30 позволяет загрузить до 7 голосовых команд из указанных ячеек хранилища в ячейки распознавателя голосовых команд.

                                          Формат команды:

                                          AA 02+количество 30 ЯЧЕЙКА[0] ... ЯЧЕЙКА[n] 0A

                                          Формат ответа:

                                          AA 03+количество 30 ВСЕГО ЯЧЕЙКА[0] СТАТУСЯЧЕЙКА[n] СТАТУС 0A

                                          Данные:

                                          Тип данных:Возможные значения:
                                          количествоКоличество голосовых команд которые требуется загрузить в распознаватель:
                                          • 0107 – В распознаватель можно загрузить до 7 голосовых команд.
                                          ЯЧЕЙКА[Х]Номер ячейки хранилища, запись которой требуется загрузить в ячейку X распознавателя голосовых команд:
                                          • 004F – Возможный номер ячейки хранилища голосовых команд.
                                          Можно указать от 1 до 7 разных номеров ячеек хранилища.
                                          СТАТУСРезультат загрузки голосовой команды из хранилища в распознаватель:
                                          • 00 – Успех.
                                          • FF – Указан некорректный номер ячейки хранилища.
                                          • FE – В указанной ячейке хранилища нет записи.
                                          • FD – Распознаватель голосовых команд заполнен.
                                          • FC – Запись уже загружена в распознаватель.
                                          ВСЕГОКоличество успешно загруженных записей из хранилища в распознаватель:
                                          • 0007 – В распознаватель можно загрузить до 7 голосовых команд.

                                          Пример:

                                          Команда: AA 04 30 05 09 0A – загрузить ячейки 5 и 9 хранилища в 0 и 1 распознавателя.

                                          Ответ: AA 07 30 02 05 00 09 00 0A

                                          Расшифровка ответа:

                                          • AA – Заголовок кадра.
                                          • 07 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                          • 30 – Номер команды на которую отправлен данный ответ.
                                          • 02 – (ВСЕГО) Количество голосовых команд записанных из хранилища в распознаватель.
                                          • 05 – (ЯЧЕЙКА[0]) В 0 ячейку распознавателя загружена запись 5 ячейки хранилища.
                                          • 00 – (СТАТУС) Статус загрузки 5 ячейки хранилища в распознаватель - успех.
                                          • 09 – (ЯЧЕЙКА[1]) В 1 ячейку распознавателя загружена запись 9 ячейки хранилища.
                                          • 00 – (СТАТУС) Статус загрузки 9 ячейки хранилища в распознаватель - успех.
                                          • 0A – Конец кадра.

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

                                          Пример:

                                          Если в любой ячейке распознавателя уже есть запись из 7 ячейки хранилища, то…

                                          Команда: AA 03 30 07 0A – загрузить запись 7 ячейки хранилища в 0 ячейку распознавателя.

                                          Ответ: AA 05 30 00 07 FC 0A

                                          Расшифровка ответа:

                                          • AA – Заголовок кадра.
                                          • 05 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                          • 30 – Номер команды на которую отправлен данный ответ.
                                          • 00 – (ВСЕГО) Количество голосовых команд записанных из хранилища в распознаватель.
                                          • 07 – (ЯЧЕЙКА[0]) В 0 ячейку распознавателя загружена запись 7 ячейки хранилища.
                                          • FC – (СТАТУС) Статус загрузки 7 ячейки хранилища в распознаватель - ошибка.
                                          • 0A – Конец кадра.

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

                                          Команда «31» Удаление всех записей распознавателя:

                                          Команда 31 позволяет удалить все записи распознавателя. Удаление всех записей из памяти распознавателя приведёт к завершению сравнения записей с поступающим звуковым сигналом.

                                            Формат команды:

                                            AA 02 31 0A

                                            Формат ответа:

                                            AA 03 31 00 0A

                                            Данные:

                                            Тип данных:Возможные значения:
                                            00В команде и ответе нет данных, но так как ответ обязан содержать данные, то в качестве данных указан пустой байт.

                                            Пример:

                                            Команда: AA 02 31 0A – Удалить все записи распознавателя голосовых команд.

                                            Ответ: AA 03 31 00 0A

                                            Расшифровка ответа:

                                            • AA – Заголовок кадра.
                                            • 03 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                            • 31 – Номер команды на которую отправлен данный ответ.
                                            • 00 – Пустой байт данных.
                                            • 0A – Конец кадра.

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

                                            Команда «32» Управление группами:

                                            Команда 32 вызывается с одной из подкоманд: 00, 01, 02, 03, или 04. Номер подкоманды указывается в команде сразу за номером команды.

                                            Подробнее про группы можно прочитать в разделе Wiki - модуль распознавания голоса V3.1.

                                            Команда 32 c подкомандой 00 определяет работу входов IN 0-2.

                                              Формат команды:

                                              AA 04 32 00 РЕЖИМ 0A – выбор режима работы входов IN 0-2.

                                              AA 04 32 00 FF 0A – запрос режима работы входов IN 0-2.

                                              Формат ответа:

                                              AA 03 32 00 0A – ответ на выбор режима работы входов IN 0-2.

                                              AA 05 32 00 FF РЕЖИМ 0A – ответ на запрос режима работы входов IN 0-2.

                                              Данные:

                                              Тип данных:Возможные значения:
                                              РЕЖИМРежим управления группами голосовых команд при помощи входов модуля:
                                              • 00 – Отключить управление группами при помощи входов IN 0-2.
                                              • 01 – Разрешить загрузку системных групп при помощи входов IN 0-2.
                                              • 02 – Разрешить загрузку пользовательских групп при помощи входов IN 0-2.

                                              Как именно происходит загрузка группы при помощи входов IN 0-2 указано в таблице описывающей колодку IN модуля.

                                              Команда 32 c подкомандой 01 позволяет создавать и удалять пользовательские группы.

                                              Формат команды:

                                              AA 04+количество 32 01 ГРУППА ЯЧЕЙКА[a]ЯЧЕЙКА[n] 0A – создать группу.

                                              AA 04 32 01 ГРУППА 0A – удалить пользовательскую группу.

                                              Формат ответа:

                                              AA 03 32 00 0A

                                              Данные:

                                              Тип данных:Возможные значения:
                                              количествоКоличество ячеек хранилища которые требуется включить в группу:
                                              • 0107 – В группу можно включить до 7 ячеек хранилища.
                                              ГРУППАНомер создаваемой / удаляемой пользовательской группы:
                                              • 0007 – Можно создать до 8 групп с номерами от 0 до 7 в любом порядке.
                                              ЯЧЕЙКА[Х]Номера ячеек хранилища голосовых команд, которые будут включены в группу:
                                              • 004F – Возможные номера ячеек хранилища.

                                                    Команда 32 c подкомандой 02 позволяет загрузить системную группу, а с подкомандой 03 загрузить пользовательскую группу.

                                                    Формат команды:

                                                    AA 04 32 02 ГРУППА 0A – загрузить системную группу.

                                                    AA 04 32 03 ГРУППА 0A – загрузить пользовательскую группу.

                                                    Формат ответа:

                                                    AA 0D 32 ГРУППА ГК-0 ГК-1 ГК-2 ГК-3 ГК-4 ГК-5 ГК-6 ВСЕГО МАСКА ГРУППА 0A

                                                    Данные:

                                                    Тип данных:Возможные значения:
                                                    ГРУППАНомер загружаемой группы:
                                                    • 000A – Можно загрузить одну из одиннадцати системных групп.
                                                    • 0007 – Можно загрузить одну из восьми системных групп.
                                                    ГК-ХНомера ячеек из списка группы которые были загружены в распознаватель:
                                                    • 004F – Возможные номера ячеек хранилища голосовых команд.
                                                    ВСЕГООбщее количество записей загруженных в распознаватель голосовых команд:
                                                    • 0007 – В распознавателе может находиться до 7 голосовых команд.
                                                    МАСКАБитовая карта активных ячеек памяти распознавателя. См команду 01.

                                                          Пример:

                                                          Команда: AA 04 32 02 01 0A – Загрузить системную группу № 01.

                                                          Ответ: AA 0D 32 01 07 08 09 0A 0B 0C 0D 07 00 01 0A

                                                          Расшифровка ответа:

                                                          • AA – Заголовок кадра.
                                                          • 0D – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                                          • 32 – Номер команды на которую отправлен данный ответ.
                                                          • 01 – (ГРУППА) Загружена группа № 1.
                                                          • 07 08 09 0A 0B 0C 0D – (ГК-X) Номера ячеек хранилища, загруженные в распознаватель.
                                                          • 07 – (ВСЕГО) В распознаватель загружено 7 голосовых команд.
                                                          • 07 – (МАСКА) = (00000111)2 В распознавателе три активных ячейки голосовых команд.
                                                          • 01 – (ГРУППА) Загружена группа № 1.
                                                          • 0A – Конец кадра.

                                                          Команда 32 c подкомандой 04 позволяет узнать состав пользовательских групп.

                                                          Формат команды:

                                                          AA 03 32 04 0A – получить номера ячеек хранилища во всех пользовательских группах.

                                                          AA 04 32 04 ГРУППА 0A – получить номера ячеек хранилища из указанной группы.

                                                          Формат ответа:

                                                          AA 0A 32 ГРУППА ГК-0 ГК-1 ГК-2 ГК-3 ГК-4 ГК-5 ГК-6 0A

                                                          Данные:

                                                          Тип данных:Возможные значения:
                                                          ГРУППАНомер проверяемой пользовательской группы:
                                                          • 0007 – Возможные номера пользовательских групп.
                                                          • В команде запроса допускается указать несколько номеров групп, при этом требуется увеличить длину кадра на количество проверяемых групп.
                                                          ГК-XНомера ячеек хранилища голосовых команд входящие в пользовательскую группу:
                                                          • 004F – Возможные номера ячеек хранилища.
                                                          • FF – Пустая ячейка пользовательской группы.

                                                                Пример:

                                                                Команда: AA 04 32 04 00 0A – Получить номера ячеек хранилища включённые в группу № 0.

                                                                Ответ: AA 0A 32 00 00 01 02 FF FF FF FF 0A

                                                                Расшифровка ответа:

                                                                • AA – Заголовок кадра.
                                                                • 0A – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                                                • 32 – Номер команды на которую отправлен данный ответ.
                                                                • 00 – (ГРУППА) Номер пользовательской группы для которой выполнен запрос.
                                                                • 00 01 02 FF FF FF FF – (ГК-X) Номера ячеек хранилища в составе группы (00, 01 и 02).
                                                                • 0A – Конец кадра.

                                                                Команда ответа «0A» Подсказка:

                                                                Команда ответа 0A позволяет получать подсказки при записи голосовых команд в хранилище.

                                                                Формат ответа:

                                                                AA 04+длина подсказки 0A ЯЧЕЙКА ПОДСКАЗКА 0D 0A

                                                                Данные:

                                                                Тип данных:Возможные значения:
                                                                ЯЧЕЙКАНомер ячейки хранилища, в которую требуется записать голосовую команду
                                                                ПОДСКАЗКАТекстовый статус записи голосовой команды, это коды символов текста

                                                                Описание ответа с подсказкой рассмотрено в команде 20 и команде 21.

                                                                Команда ответа «0D» Опознана голосовая команда:

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

                                                                Формат ответа:

                                                                AA 07+ДЛИНА 0D 00 ГРУППА ХРАНИЛИЩЕ РАСПОЗНАВАТЕЛЬ ДЛИНА ПОДПИСЬ 0A

                                                                Данные:

                                                                  Тип данных:Возможные значения:
                                                                  ГРУППАНомер группы из которой загружена распознанная голосовая команда:
                                                                  • FF – Голосовая команда была загружена в распознаватель не группой.
                                                                  • 000A – Голосовая команда загружена из системной группы № 0…A.
                                                                  • 8087 – Голосовая команда загружена из пользовательской группы № 0…7.
                                                                  ХРАНИЛИЩЕ№ячейки хранилища из которой в распознаватель была загружена опознанная голосовая команда.
                                                                  • 004F – Возможный номер ячейки хранилища голосовых команд.
                                                                  РАСПОЗНАВАТЕЛЬ№ ячейки распознавателя в которой находится опознанная голосовая команда.
                                                                  • 0006 – Возможный номер ячейки распознавателя голосовых команд.
                                                                  ДЛИНАДлина подписи в байтах.
                                                                  • 00 – У опознанной голосовой команды нет подписи.
                                                                  • 010A – Подпись может содержать от одного до десяти байт.
                                                                  ПОДПИСЬТекстовый комментарий к голосовой команде.
                                                                  • Подпись указывается кодами символов.

                                                                  Пример:

                                                                  Ответ: AA 0D 0D 00 FF 4F 00 06 50 72 69 76 65 74 0A – Опознана голосовая команда.

                                                                  Расшифровка ответа:

                                                                  • AA – Заголовок кадра.
                                                                  • 0D – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                                                  • 0D – Номер команды ответа на событие опознавания голосовой команды.
                                                                  • 00 – Пустой байт данных.
                                                                  • FF – (ГРУППА) Опознанная голосовая команда не загружена из групп.
                                                                  • 4F – (ХРАНИЛИЩЕ) Опознанная голосовая команда загружена из ячейки 4F хранилища.
                                                                  • 00 – (РАСПОЗНАВАТЕЛЬ) Опознанная голосовая команда находится в 0 ячейке распознавателя.
                                                                  • 06 – (ДЛИНА) У опознанной голосовой команды есть подпись состоящая из 6 байт.
                                                                  • 50 72 69 76 65 74 – (ПОДПИСЬ) Коды символов текста подписи «Privet» голосовой команды.
                                                                  • 0A – Конец кадра.

                                                                    Команда ответа «FF» Ошибка:

                                                                    Команда ответа FF позволяет узнать о выявленных модулем ошибках.

                                                                    Формат ответа:

                                                                    AA 03 FF КОД ОШИБКИ 0A

                                                                    Данные:

                                                                      Тип данных:Возможные значения:
                                                                      КОД ОШИБКИВыявленные модулем ошибки:
                                                                      • FF – Поступившая команда не опознана.
                                                                      • FE – Ошибка длины команды.
                                                                      • FD – Ошибка в данных команды.
                                                                      • FC – Ошибка подкоманды.
                                                                      • FB – Ошибка использования команды.

                                                                      Пример:

                                                                      Команда: AA 03 00 01 0A - команда 00 с байтом данных 01 которого быть не должно.

                                                                      Ответ: AA 03 FF FE 0A

                                                                      Расшифровка ответа:

                                                                      • AA – Заголовок кадра.
                                                                      • 03 – Длина кадра в байтах, без учета байта заголовка и байта конца кадра.
                                                                      • FF – Номер команды ответа на выявление ошибок.
                                                                      • FE – (КОД ОШИБКИ) В поступившей команде выявлена ошибка её длины.
                                                                      • 0A – Конец кадра.

                                                                      Ссылки:




                                                                      Обсуждение

                                                                      Гарантии и возврат Используя сайт Вы соглашаетесь с условями