Перейти к содержанию

Набор AT-команд

Таблица: сведения о документе
Параметр Значение
Версия V1.2.1
Дата 2026-07-28
Применимый модуль Bluetooth-модуль SF32LB57 с поддержкой двух режимов (SIFLI_AT)

В этом справочнике описан внешний интерфейс AT-команд модуля SF32LB57 с поддержкой двух режимов Bluetooth (SIFLI_AT), версия V1.2.1. Команды и строки ответов отображаются моноширинным шрифтом; \r означает возврат каретки (0x0D), а \n — перевод строки (0x0A). AT-команды передаются как текст ASCII, а для порядка байтов в бинарных полях кадров PDU используется little-endian.

Это полная спецификация интерфейса AT, на которую ссылается страница Bluetooth-модуль с AT-командами.

Таблица: история изменений
Версия Изменения Дата
V1.2.1 SF32LB57 V1.2.1: добавлена команда AT+CFGRESET; обновлены сведения о синхронизации имени Classic Bluetooth при запуске, CLEARLINKKEY, дескрипторе соединения и PDU; включена конфигурация сборки BQB. 2026-07-28

Обзор

Модуль SF32LB57 с поддержкой двух режимов Bluetooth предоставляет хосту интерфейс AT-команд через UART для работы с BLE и Classic Bluetooth (BR/EDR). С помощью AT-команд хост настраивает параметры устройства, управляет подключениями, передаёт и принимает данные, а также получает асинхронные уведомления о состоянии от модуля.

Настройки по умолчанию

Таблица: настройки по умолчанию
Параметр Значение по умолчанию
Имя устройства SIFLI_AT
Скорость последовательного порта 460800 bps
Режим команд/прозрачный режим Прозрачный режим
Режим работы Bluetooth Двухрежимный (BLE+BT)
Уведомления о событиях Обычные уведомления
Суффикс MAC в имени Выключен
Class of Device (COD) 000000
Предельное значение MTU BLE 247
Разрешение множественных подключений Включено (1)
Время отключения при простое в прозрачном режиме 0 (выключено)
Автозагрузка GATT при включении питания Включена
Случайный адрес BLE Выключен (используется публичный адрес)
Адрес Bluetooth Автоматически формируется на основе UID микросхемы

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

Описание синтаксиса

AT-команды передаются как текст ASCII и завершаются символом возврата каретки \r (0x0D). Префикс команды — AT+ для команд в формате AT или AT> для команд в формате PDU. На SF32LB57 для AT используется порт USART1 с форматом 8N1 без аппаратного управления потоком данных; скорость по умолчанию — 460800 bps. Длина одного кадра AT не должна превышать 512 байт.

Команды в формате AT

Таблица: формы команд в формате AT
Форма Команда Описание
Запрос AT+<CMD>?\r Чтение параметра или состояния
Установка AT+<CMD>=<param>[,<param>...]\r Запись параметра
Выполнение AT+<CMD>\r Запуск действия
Таблица: ответы в формате AT
Результат Строка ответа
Успех \r\nOK\r\n
Ошибка \r\nERROR\r\n или \r\nFALSE\r\n
Значение, возвращаемое запросом \r\n+<CMD>:<value>\r\n\r\nOK\r\n

Формирование кадра команды PDU

Команды PDU передают бинарные данные, когда модуль находится в режиме команд. Если не указано иное, числовые поля в кадре используют порядок little-endian, а data содержит исходные бинарные данные.

Команда (хост → модуль)

'A' 'T' '>' <Opcode(2 bytes)> <Total Length(2 bytes)> [Body] '\r'
Таблица: структура кадра команды PDU
Элемент Описание
AT> Префикс команды, 3 байта ASCII
Opcode Код операции размером 2 байта в порядке little-endian: 0x0101, 0x0102
Total Length Общий размер Body в байтах, 2 байта в порядке little-endian
Body Полезная нагрузка; структура зависит от Opcode
\r Терминатор команды, 1 байт

Отчёт (модуль → хост)

'\r' '\n' '<' <Opcode(2 bytes)> <Total Length(2 bytes)> [Data] '\r' '\n'

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

Ниже команды сгруппированы по функциям, как и в таблице-указателе на странице Bluetooth-модуль с AT-командами.

Система и устройство

Запрос версии прошивки

Таблица: запрос версии прошивки
Поле Значение
Команда AT+GFWVER?\r
Ответ Успех: \r\n+GFWVER:SIFLI_AT_<version>_<build date>\r\n\r\nOK\r\n; любая форма установки: \r\nERROR\r\n
Параметры Нет
Примечания Только запрос. Возвращаемое значение всегда начинается с SIFLI_AT_, за которым следуют номер версии и дата сборки.

Запрос имени устройства

Таблица: запрос имени устройства
Поле Значение
Команда AT+NAME?\r
Ответ \r\n+NAME:<device name>\r\n\r\nOK\r\n
Параметры Нет
Примечания Возвращает текущее имя устройства без суффикса MAC. Суффикс MAC влияет только на имя в BLE-рекламе.

Установка имени устройства

Таблица: установка имени устройства
Поле Значение
Команда AT+NAME=<device name>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры Имя устройства: строка длиной 1–29 байт. Пустая строка или длина более 29 байт приводит к ответу ERROR. Значение по умолчанию: SIFLI_AT.
Примечания Обновляет настройку имени устройства и синхронизирует её с локальным именем и именем в ответном пакете Scan Response. Параметр MACNAME задаёт итоговое имя в BLE-рекламе.

Запрос режима суффикса MAC в имени

Таблица: запрос режима суффикса MAC в имени
Поле Значение
Команда AT+MACNAME?\r
Ответ \r\n+MACNAME:<value>\r\n\r\nOK\r\n
Параметры Нет
Примечания Возвращает текущее состояние настройки суффикса: 0 = выключена, 1 = включена.

Настройка суффикса MAC в имени

Таблица: настройка суффикса MAC в имени
Поле Значение
Команда AT+MACNAME=<value>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры Значение: 0 = имя отображается без изменений; 1 = к имени добавляется суффикс -XXXX (XXXX — два последних байта локального BD_ADDR в шестнадцатеричном формате, заглавными буквами). Диапазон: 0–1. По умолчанию: 0.
Примечания Обновляет настройку. Если при включённом режиме имя вместе с суффиксом превышает ограничение в 29 байт, основная часть имени усекается, чтобы вместить суффикс длиной 5 байт.

Запрос идентификатора устройства IEEE 1284

Таблица: запрос идентификатора устройства IEEE 1284
Поле Значение
Команда AT+1284ID?\r
Ответ \r\n+1284ID:<ID string>\r\n\r\nOK\r\n
Параметры Нет
Примечания Возвращает текущую строку идентификатора устройства IEEE 1284; если идентификатор не задан, возвращается пустая строка.

Установка идентификатора устройства IEEE 1284

Таблица: установка идентификатора устройства IEEE 1284
Поле Значение
Команда AT+1284ID=<ID string>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры Строка идентификатора устройства IEEE 1284. Её длина должна быть меньше ёмкости буфера хранения; при превышении возвращается ERROR. По умолчанию используется пустая строка.
Примечания Обновляет настройку.

Сброс устройства

Таблица: сброс устройства
Поле Значение
Команда AT+RESET\r
Ответ Успех: \r\nOK\r\n; вариант запроса (AT+RESET?\r): \r\nERROR\r\n
Параметры Нет
Примечания Получив команду, модуль сохраняет текущую конфигурацию AT, отвечает OK, прекращает передачу объявлений, разрывает подключения и выполняет программный сброс. Сама команда не изменяет конфигурацию.

Сброс к заводским настройкам

Таблица: сброс к заводским настройкам
Поле Значение
Команда AT+FACTORYRESET\r
Ответ Успех: \r\nOK\r\n; запрос (AT+FACTORYRESET?\r): \r\nERROR\r\n
Параметры Нет
Примечания Восстанавливает настройки AT по умолчанию, удаляет пользовательскую конфигурацию служб GATT, данные сопряжения BLE и Classic Bluetooth (BR/EDR), а также статический случайный адрес BLE, затем отвечает OK и перезагружает модуль. После перезагрузки хост должен дождаться IM_READY.

Сброс конфигурации

Таблица: сброс конфигурации
Поле Значение
Команда AT+CFGRESET\r
Ответ Успех: \r\nOK\r\n; запрос (AT+CFGRESET?\r): \r\nERROR\r\n
Параметры Нет
Примечания Восстанавливает настройки AT и сохранённую пользовательскую конфигурацию GATT, затем отвечает OK и перезагружает модуль. Данные сопряжения и текущий BLE-адрес сохраняются.

Переход в режим обновления OTA

Таблица: переход в режим обновления OTA
Поле Значение
Команда AT+OTA\r
Ответ Успех: \r\nOK\r\n (после этого модуль переходит в режим DFU и перезагружается, дополнительных ответов нет); запрос (AT+OTA?\r): \r\nERROR\r\n
Параметры Нет
Примечания Сначала сохраняет текущие настройки AT и отвечает OK, затем устанавливает флаг DFU и перезагружается в режим обновления DFU через UART.

Запрос калибровки частотного смещения

Таблица: запрос калибровки частотного смещения
Поле Значение
Команда AT+TRIM?\r
Ответ \r\n+TRIM:<freq_off>\r\n\r\nOK\r\n
Параметры freq_off: текущее записанное значение калибровки частотного смещения в Hz.
Примечания Возвращает значение, записанное в настройках AT; фактически применяемое значение хранится в разделе FACTORY_CFG_ID_CRYSTAL.

Настройка калибровки частотного смещения

Таблица: настройка калибровки частотного смещения
Поле Значение
Команда AT+TRIM=<freq_off>\r
Ответ Успех: \r\nOK\r\n; значение вне диапазона или ошибка интерфейса калибровки: \r\nERROR\r\n
Параметры freq_off: значение калибровки частотного смещения в Hz в диапазоне от -120000 до 120000; значение по умолчанию — 0. Значение 0 сбрасывает калибровку и восстанавливает исходное аппаратное/заводское значение; ненулевое значение задаётся напрямую.
Примечания Команда обновляет регистр банка конденсаторов HXT и записывает результат в раздел FACTORY_CFG_ID_CRYSTAL. После успешной калибровки записанное в настройках AT значение обновляется и помечается для сохранения.

Вход в режим тестирования DUT

Таблица: вход в режим тестирования DUT
Поле Значение
Команда AT+DUT\r
Ответ Успех: \r\nOK\r\n; запрос (AT+DUT?\r): \r\nERROR\r\n
Параметры Нет
Примечания Устанавливает бит разрешения тестового режима DUT для Classic Bluetooth BR/EDR и отвечает OK, затем ожидает, пока тестовое оборудование запустит сигнальный радиотест через LMP_test_control. Порт AT UART (USART1) остаётся доступен. Вход в режим DUT необратим; выйти из него можно только перезагрузкой.

Адрес и идентификация

Запрос Bluetooth-адреса

Таблица: запрос Bluetooth-адреса
Поле Значение
Команда AT+LBDADDR?\r
Ответ Успех: \r\n+LBDADDR:<addr>\r\n\r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры addr: текущий публичный Bluetooth-адрес из 12 шестнадцатеричных символов (в верхнем регистре, без разделителей), от старшего байта к младшему, например 001583112233.
Примечания Возвращает публичный адрес, считанный из прошивки; при ошибке чтения возвращает ERROR.

Задание Bluetooth-адреса

Таблица: задание Bluetooth-адреса
Поле Значение
Команда AT+LBDADDR=<addr>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры addr: задаваемый Bluetooth-адрес — ровно 12 шестнадцатеричных символов без разделителей, от старшего байта к младшему, например 001583112233.
Примечания Адрес записывается в конфигурацию и сохраняется; он вступает в силу после перезагрузки. Заводское значение состоит из нулей — в этом случае адрес автоматически генерируется на основе UID микросхемы.

Запрос BLE-адреса

Таблица: запрос BLE-адреса
Поле Значение
Команда AT+BLEADDR?\r
Ответ Успех: \r\n+BLEADDR:<addr>\r\n\r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры addr: текущий используемый BLE-адрес из 12 шестнадцатеричных символов (в верхнем регистре, без разделителей), от старшего байта к младшему.
Примечания Если с помощью AT+RANDOMADDR=1 был создан статический случайный адрес для BLE, возвращается он; в противном случае возвращается тот же публичный адрес, что и для Bluetooth. При ошибке чтения возвращается ERROR.

Задание BLE-адреса

Таблица: задание BLE-адреса
Поле Значение
Команда AT+BLEADDR=<addr>\r
Ответ \r\nERROR\r\n
Параметры Нет
Примечания Эта команда не позволяет напрямую задавать BLE-адрес и всегда возвращает ERROR. Статический случайный адрес BLE создаётся командой AT+RANDOMADDR=1.

Запрос переключателя случайного BLE-адреса

Таблица: запрос переключателя случайного BLE-адреса
Поле Значение
Команда AT+RANDOMADDR?\r
Ответ \r\n+RANDOMADDR:<n>\r\n\r\nOK\r\n
Параметры n: текущее состояние переключателя; 0 = BLE использует публичный адрес; 1 = BLE использует статический случайный адрес.
Примечания Нет.

Настройка переключателя случайного BLE-адреса

Таблица: настройка переключателя случайного BLE-адреса
Поле Значение
Команда AT+RANDOMADDR=<n>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры n: 0 или 1. 1 = включает статический случайный BLE-адрес, производный от публичного (два старших бита старшего байта публичного адреса устанавливаются в 1; например, из публичного 001583112233 получается BLE-адрес C01583112233); 0 = возвращает BLE к публичному адресу. Другие значения и лишние символы приводят к ERROR. По умолчанию — 0.
Примечания Состояние переключателя обновляется в конфигурации. Если задано 1, но прочитать публичный адрес не удаётся, переключатель возвращается в 0 и команда выдаёт ERROR. Изменение адреса записывается в NVDS и вступает в силу после перезагрузки. Повторный запуск AT+RANDOMADDR=1 выводит тот же случайный адрес из неизменённого публичного адреса.

Запрос Class of Device

Таблица: запрос Class of Device
Поле Значение
Команда AT+CLASS?\r
Ответ Успех: \r\n+CLASS:<cod>\r\n\r\nOK\r\n (<cod> содержит 6 шестнадцатеричных цифр в верхнем регистре)
Параметры cod: текущее значение Class of Device; всегда выводится как 6 шестнадцатеричных цифр (младшие 24 бита, формат %06X, дополнение нулями слева).
Примечания Возвращает текущее значение Class of Device.

Задание Class of Device

Таблица: задание Class of Device
Поле Значение
Команда AT+CLASS=<cod>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры cod: значение Class of Device в виде шестнадцатеричной строки (разбирается с помощью %X), диапазон 0–FFFFFF (24 бита). По умолчанию — 000000.
Примечания Задаёт Class of Device и обновляет конфигурацию; при разборе сохраняются только младшие 24 бита.

Режим работы и видимость

Запрос состояния обнаруживаемости

Таблица: запрос состояния обнаруживаемости
Поле Значение
Команда AT+DISCOVERABLE?\r
Ответ Успех: \r\n+DISCOVERABLE:<state>\r\n\r\nOK\r\n
Параметры state: текущее состояние обнаруживаемости. 0 = устройство не обнаруживается; 1 = доступно для обнаружения; 2 = частично доступно для обнаружения (смешанное состояние). Значение зависит от режима работы: в режиме BLE (BTMODE=1) отражает состояние BLE-рекламы (1 = включена, 0 = выключена); в режиме BT (BTMODE=2) учитывает inquiry scan и page scan: 1, если включены оба, 0, если оба выключены, и 2 в остальных случаях; в двухрежимном режиме (BTMODE=0) равно 1, если включены BLE-реклама и оба вида сканирования, 0, если все выключены, и 2 в остальных случаях.
Примечания Команда только возвращает текущее состояние обнаруживаемости и не меняет состояние устройства.

Настройка состояния обнаруживаемости

Таблица: настройка состояния обнаруживаемости
Поле Значение
Команда AT+DISCOVERABLE=<mode>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры mode: 0 = отключить обнаружение; 1 = включить обнаружение.
Примечания Действие зависит от текущего режима: в режиме BLE (BTMODE=1) включает или выключает BLE-рекламу; в режиме BT (BTMODE=2) включает или выключает inquiry scan и page scan; в двухрежимном режиме (BTMODE=0) управляет BLE-рекламой и обоими видами сканирования одновременно.

Запрос состояния GATT-рекламы

Таблица: запрос состояния GATT-рекламы
Поле Значение
Команда AT+GATTDISCOVER?\r
Ответ Успех: \r\n+GATTDISCOVER:<state>\r\n\r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры state: фактическое состояние BLE-рекламы в эфире. 0 = реклама не передаётся; 1 = реклама передаётся.
Примечания Возвращает фактическое состояние BLE-рекламы в эфире. В режиме только BT (BTMODE=2) команда недоступна и возвращает ERROR.

Управление GATT-рекламой

Таблица: управление GATT-рекламой
Поле Значение
Команда AT+GATTDISCOVER=<value>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры value: 0 = остановить BLE-рекламу; 1 = запустить BLE-рекламу.
Примечания Непосредственно запускает и останавливает BLE-рекламу. В режиме только BT (BTMODE=2) команда недоступна.

Запрос состояния обнаружения SPP

Таблица: запрос состояния обнаружения SPP
Поле Значение
Команда AT+SPPDISCOVER?\r
Ответ \r\n+SPPDISCOVER:<state>\r\n\r\nOK\r\n
Параметры <state>: текущее состояние inquiry scan, управляющего обнаружением устройства. 0 = выключено; 1 = включено.
Примечания Возвращает ERROR, если AT+BTMODE равен 1 (режим только BLE).

Настройка обнаружения SPP

Таблица: настройка обнаружения SPP
Поле Значение
Команда AT+SPPDISCOVER=<state>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры <state>: переключатель inquiry scan, управляющего обнаружением. 0 = выключить; 1 = включить.
Примечания Возвращает ERROR, если AT+BTMODE равен 1 (режим только BLE). Меняет только бит inquiry scan, не затрагивая бит page scan.

Запрос состояния доступности SPP для подключения

Таблица: запрос состояния доступности SPP для подключения
Поле Значение
Команда AT+SPPCONNECT?\r
Ответ \r\n+SPPCONNECT:<state>\r\n\r\nOK\r\n
Параметры <state>: текущее состояние page scan, управляющего доступностью для подключения. 0 = выключено; 1 = включено.
Примечания Возвращает ERROR, если AT+BTMODE равен 1 (режим только BLE).

Настройка доступности SPP для подключения

Таблица: настройка доступности SPP для подключения
Поле Значение
Команда AT+SPPCONNECT=<state>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры <state>: переключатель page scan, управляющего доступностью для подключения. 0 = выключить; 1 = включить.
Примечания Возвращает ERROR, если AT+BTMODE равен 1 (режим только BLE). Меняет только бит page scan, не затрагивая бит inquiry scan.

Запрос режима работы Bluetooth

Таблица: запрос режима работы Bluetooth
Поле Значение
Команда AT+BTMODE?\r
Ответ \r\n+BTMODE:<mode>\r\n\r\nOK\r\n
Параметры mode: текущий режим работы Bluetooth. 0 = двухрежимный (BLE+BT); 1 = только BLE; 2 = только BT.
Примечания Нет.

Настройка режима работы Bluetooth

Таблица: настройка режима работы Bluetooth
Поле Значение
Команда AT+BTMODE=<mode>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры mode: режим работы Bluetooth. 0 = двухрежимный (BLE+BT); 1 = только BLE; 2 = только BT. Диапазон: 0–2. По умолчанию — 0 (двухрежимный).
Примечания Изменение обновляет конфигурацию и вступает в силу после перезагрузки.

Запрос режима команд

Таблица: запрос режима команд
Поле Значение
Команда AT+COMMAND?\r
Ответ \r\n+COMMAND:<mode>\r\n\r\nOK\r\n
Параметры mode: текущий режим работы. 0 = прозрачный режим; 1 = режим команд.
Примечания Нет.

Настройка режима команд

Таблица: настройка режима команд
Поле Значение
Команда AT+COMMAND=<mode>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры mode: режим работы. 0 = прозрачный режим; 1 = режим команд. После включения модуль запускается в прозрачном режиме.
Примечания Режим переключается немедленно, но не сохраняется: после перезагрузки модуль возвращается в прозрачный режим. В прозрачном режиме данные с последовательного порта без изменений передаются подключённому устройству; в режиме команд они интерпретируются как AT-команды.

Сопряжение и безопасность

Удаление данных сопряжения

Таблица: удаление данных сопряжения
Поле Значение
Команда AT+CLEARLINKKEY\r
Ответ Успех: \r\nOK\r\n; запрос AT+CLEARLINKKEY?\r: \r\nERROR\r\n
Параметры Нет.
Примечания Удаляет данные сопряжения BLE и ключ связи Classic Bluetooth. После успешного выполнения устройство перезагружается; настройки AT, такие как имя устройства, скорость порта и COD, сохраняются. После перезагрузки хост должен дождаться IM_READY. Форма запроса не поддерживается.

Последовательный порт и события

Запрос скорости последовательного порта

Таблица: запрос скорости последовательного порта
Поле Значение
Команда AT+BAUD?\r
Ответ \r\n+BAUD:<baud_rate>\r\n\r\nOK\r\n
Параметры baud_rate: текущая заданная скорость обмена, бит/с.
Примечания После задания скорости устройство перезагружается; новое значение вступает в силу после перезагрузки.

Настройка скорости последовательного порта

Таблица: настройка скорости последовательного порта
Поле Значение
Команда AT+BAUD=<baud_rate>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры baud_rate: скорость последовательного порта в бит/с. Поддерживаются значения 38400, 57600, 115200, 230400, 460800, 921600 и 1000000. По умолчанию — 460800.
Примечания Изменение обновляет конфигурацию.

Запрос переключателя уведомлений о событиях

Таблица: запрос переключателя уведомлений о событиях
Поле Значение
Команда AT+EVT?\r
Ответ \r\n+EVT:<evt_silent>\r\n\r\nOK\r\n
Параметры evt_silent: текущее состояние уведомлений о событиях. 0 = обычные уведомления; 1 = полное отключение уведомлений.
Примечания Нет.

Настройка переключателя уведомлений о событиях

Таблица: настройка переключателя уведомлений о событиях
Поле Значение
Команда AT+EVT=<evt_silent>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры evt_silent: переключатель уведомлений. 0 = обычная передача IM_CONN, IM_DISCONN, IM_READY и других событий; 1 = полностью отключить уведомления. По умолчанию — 0 (обычная передача).
Примечания Изменение обновляет конфигурацию. При значении 1 события установления соединения, отключения и готовности не передаются через последовательный порт.

Запрос времени отключения при простое в прозрачном режиме

Таблица: запрос времени отключения при простое в прозрачном режиме
Поле Значение
Команда AT+IDLE?\r
Ответ \r\n+IDLE:<idle_ms>\r\n\r\nOK\r\n
Параметры idle_ms: текущий тайм-аут отключения при простое в миллисекундах.
Примечания Нет.

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

Таблица: настройка времени отключения при простое в прозрачном режиме
Поле Значение
Команда AT+IDLE=<idle_ms>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры idle_ms: тайм-аут отключения при простое в прозрачном режиме, в миллисекундах, диапазон 0–65535. Значения выше 65535 вызывают ERROR. Значение 0 отключает функцию. По умолчанию — 0 (выключено).
Примечания Изменение обновляет конфигурацию. Функция действует только в прозрачном режиме: если с момента последнего получения данных последовательным портом прошло более idle_ms миллисекунд, все существующие соединения разрываются. При idle_ms = 0 отключение по простою не выполняется.

Управление соединениями

Запрос переключателя нескольких соединений

Таблица: запрос переключателя нескольких соединений
Поле Значение
Команда AT+MULTICONN?\r
Ответ \r\n+MULTICONN:<n>\r\n\r\nOK\r\n
Параметры <n>: состояние основного переключателя нескольких соединений. 0 = выключен (только одно соединение в целом); 1 = включён (параллельные соединения в пределах лимита каждого транспорта).
Примечания Нет.

Настройка переключателя нескольких соединений

Таблица: настройка переключателя нескольких соединений
Поле Значение
Команда AT+MULTICONN=<n>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры <n>: 0 = запретить несколько соединений; 1 = разрешить несколько соединений. Допустимы только 0 и 1. По умолчанию — 1.
Примечания Изменение обновляет конфигурацию. Когда режим нескольких соединений выключен, параллельные подключения ограничены; когда включён, действуют лимиты AT+BLEMULTICONN и AT+BTMULTICONN.

Запрос максимального числа одновременных BLE-соединений

Таблица: запрос максимального числа одновременных BLE-соединений
Поле Значение
Команда AT+BLEMULTICONN?\r
Ответ Успех: \r\n+BLEMULTICONN:<n>\r\n\r\nOK\r\n; если режим нескольких соединений выключен: \r\nERROR\r\n
Параметры <n>: текущее заданное максимальное количество одновременных BLE-соединений, десятичное число.
Примечания Запрос возможен только при включённом переключателе нескольких соединений (AT+MULTICONN=1); в выключенном состоянии возвращается ERROR.

Настройка максимального числа одновременных BLE-соединений

Таблица: настройка максимального числа одновременных BLE-соединений
Поле Значение
Команда AT+BLEMULTICONN=<n>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры <n>: максимальное количество одновременных BLE-соединений, десятичное число в диапазоне 1–6. По умолчанию — 3.
Примечания Настройка доступна только при включённом переключателе нескольких соединений (AT+MULTICONN=1). Изменение обновляет конфигурацию. При достижении лимита реклама останавливается (новые подключения становятся невозможны) и автоматически возобновляется, когда число соединений опускается ниже лимита.

Запрос максимального числа одновременных соединений Classic Bluetooth

Таблица: запрос максимального числа одновременных соединений Classic Bluetooth
Поле Значение
Команда AT+BTMULTICONN?\r
Ответ Успех: \r\n+BTMULTICONN:<n>\r\n\r\nOK\r\n; если режим нескольких соединений выключен: \r\nERROR\r\n
Параметры <n>: текущее заданное максимальное количество одновременных соединений Classic Bluetooth (BR/EDR), десятичное число.
Примечания Запрос возможен только при включённом переключателе нескольких соединений (AT+MULTICONN=1); в выключенном состоянии возвращается ERROR.

Настройка максимального числа одновременных соединений Classic Bluetooth

Таблица: настройка максимального числа одновременных соединений Classic Bluetooth
Поле Значение
Команда AT+BTMULTICONN=<n>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры <n>: максимальное количество одновременных соединений Classic Bluetooth, десятичное число в диапазоне 1–7. По умолчанию — 7.
Примечания Настройка доступна только при включённом переключателе нескольких соединений (AT+MULTICONN=1). Изменение обновляет конфигурацию. При достижении лимита модуль прекращает page scan и автоматически возобновляет его, когда число соединений становится меньше лимита.

Отключение соединений

Таблица: отключение соединений
Поле Значение
Команда Отключить одно соединение: AT+DISCONN=<conn_hdl>\r; отключить все: AT+DISCONN\r
Ответ Успех: \r\nOK\r\n; ошибка или соединение не найдено: \r\nERROR\r\n
Параметры <conn_hdl>: дескриптор соединения в шестнадцатеричном формате. Внешние дескрипторы BLE начинаются с 1 (как в ответе AT+CONNLIST); для BT используется ACL-дескриптор. Значение <conn_hdl> = 0 считается недопустимым и вызывает ERROR.
Примечания Если параметр отсутствует или пуст, разрываются все активные соединения (BLE и BR/EDR) и возвращается OK. Если дескриптор задан, сначала выполняется поиск по внешнему дескриптору BLE (внутренний дескриптор = <conn_hdl> - 1); при отсутствии совпадения выполняется поиск по исходному ACL-дескриптору BT. Если соединение не найдено, возвращается ERROR. Запрос AT+DISCONN? возвращает ERROR.

Запрос списка соединений

Таблица: запрос списка соединений
Поле Значение
Команда AT+CONNLIST?\r или AT+CONNLIST\r
Ответ Каждое активное соединение выводится отдельной строкой: \r\n+CONNLIST:<conn_hdl>,<type>,<addr>,<extra>\r\n; после всех строк выводится \r\nOK\r\n. Если активных соединений нет, возвращается только \r\nOK\r\n. Непустой параметр приводит к \r\nERROR\r\n.
Параметры Поля ответа: <conn_hdl> — дескриптор соединения, 4 шестнадцатеричные цифры; для BLE используется внешний дескриптор с нумерацией от 1. <type> — тип соединения: BLE или BT. <addr> — Bluetooth-адрес удалённого устройства, 12 шестнадцатеричных цифр (от старшего байта к младшему). <extra> — текущий MTU для BLE или канал службы для BT, десятичное число.
Примечания Форма задания возвращает ERROR, если передан непустой параметр. Модуль проверяет все слоты соединений и выводит сведения о каждом активном соединении.

Передача данных

Запрос BLE MTU

Таблица: запрос BLE MTU
Поле Значение
Команда AT+GMTU?\r
Ответ Успех: \r\n+GMTU:<mtu>\r\n\r\nOK\r\n
Параметры mtu: текущее заданное предельное значение BLE MTU, десятичное число.
Примечания Нет.

Настройка BLE MTU

Таблица: настройка BLE MTU
Поле Значение
Команда AT+GMTU=<mtu>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nFALSE\r\n
Параметры mtu: предельное значение BLE MTU, десятичное число в диапазоне 23–1024; значение вне диапазона возвращает FALSE. По умолчанию — 247.
Примечания Это значение задаёт верхний предел при согласовании MTU.

Отправка данных по SPP

Таблица: отправка данных по SPP
Поле Значение
Команда AT+SPPSEND=<conn_hdl>,<data>\r или AT+SPPSEND=,<data>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры conn_hdl: шестнадцатеричный дескриптор целевого BT-соединения. Его можно опустить или задать равным 0; в этом случае используется первое активное BT-соединение. data: передаваемые данные в виде шестнадцатеричной строки, каждые два символа которой образуют один байт. Строка не может быть пустой и должна содержать чётное число символов. Фактический размер данных также ограничен максимальной длиной одного ASCII-кадра AT.
Примечания conn_hdl и data разделяются запятой; запятая обязательна, даже если conn_hdl опущен. Форма запроса не поддерживается.

Пользовательский GATT

Запрос списка пользовательских служб GATT

Таблица: запрос списка пользовательских служб GATT
Поле Значение
Команда AT+GATTSRV?\r
Ответ Для каждой настроенной службы возвращается отдельная строка \r\n+GATTSRV:<idx>,<char_count>,<state>\r\n, после чего выводится \r\nOK\r\n. Если службы не настроены, возвращается только \r\nOK\r\n.
Параметры idx: номер слота службы, 0–5. char_count: количество настроенных характеристик службы. state: REG означает, что служба зарегистрирована в стеке протоколов; CFG — что она настроена только в RAM и ещё не зарегистрирована.
Примечания Выводит только используемые слоты служб.

Создание пользовательской службы GATT

Таблица: создание пользовательской службы GATT
Поле Значение
Команда AT+GATTSRV=<idx>,<uuid>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры idx: номер слота службы, 0–5. uuid: UUID службы в виде шестнадцатеричной строки, начиная со старшего байта: 4 символа для 16-разрядного UUID или 32 символа для 128-разрядного.
Примечания idx должен быть одной цифрой, за которой сразу следует запятая. Длина UUID должна быть ровно 4 или 32 символа; любое другое значение вызывает ERROR. Уже зарегистрированный в стеке протоколов слот нельзя перенастроить — команда вернёт ERROR. Создание службы очищает прежнюю конфигурацию этого слота.

Удаление пользовательской службы GATT

Таблица: удаление пользовательской службы GATT
Поле Значение
Команда AT+GATTSRV=<idx>,DEL\r
Ответ \r\nOK\r\n
Параметры idx: номер слота службы, 0–5.
Примечания Очищает конфигурацию этого слота в RAM. Службу, уже зарегистрированную в стеке протоколов, нельзя отозвать во время работы; команда удаляет только конфигурацию в RAM.

Запрос списка пользовательских характеристик GATT

Таблица: запрос списка пользовательских характеристик GATT
Поле Значение
Команда AT+GATTCHAR?<svc>\r
Ответ Для каждой характеристики службы возвращается строка \r\n+GATTCHAR:<svc>,<chr>,prop=0x<prop>,len=<max_len>\r\n, после всех строк — \r\nOK\r\n. Если службы нет, возвращается \r\nERROR\r\n.
Параметры svc: номер слота службы, 0–5. chr: индекс характеристики. prop: биты свойств характеристики в шестнадцатеричном формате. max_len: максимальная длина значения характеристики.
Примечания Нет.

Добавление пользовательской характеристики GATT

Таблица: добавление пользовательской характеристики GATT
Поле Значение
Команда AT+GATTCHAR=<svc>,<chr>,<uuid>,<prop>,<len>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры svc: номер слота службы, 0–5. chr: индекс характеристики, 0–7. uuid: UUID характеристики, начиная со старшего байта; 4 символа для 16 бит или 32 для 128 бит. prop: строка свойств из символов R (чтение), W (запись с ответом), w (запись без ответа), N (уведомление), I (индикация). len: максимальная длина значения характеристики, 1–512.
Примечания Все пять параметров обязательны; отсутствие любого из них вызывает ERROR. Длина UUID должна быть ровно 4 или 32 символа. В prop должен быть хотя бы один распознанный символ свойства; если таких символов нет, возвращается ERROR. Нераспознанные символы в prop игнорируются. Значение len, равное 0 или превышающее 512, вызывает ERROR. Родительская служба должна быть уже создана, но ещё не зарегистрирована в стеке протоколов.

Запуск (регистрация) пользовательских служб GATT

Таблица: запуск (регистрация) пользовательских служб GATT
Поле Значение
Команда AT+GATTSTART\r
Ответ \r\n+GATTSTART:<count>\r\n, затем \r\nOK\r\n; запрос AT+GATTSTART?\r: \r\nERROR\r\n.
Параметры count: количество служб, успешно зарегистрированных в стеке протоколов за этот вызов.
Примечания Регистрирует каждую используемую службу, которая ещё не зарегистрирована и содержит хотя бы одну характеристику. После регистрации службу нельзя отозвать или перенастроить во время работы. Форма запроса не поддерживается.

Отправка данных характеристики GATT (уведомление/индикация)

Таблица: отправка данных характеристики GATT (уведомление/индикация)
Поле Значение
Команда AT+GATTSEND=<svc>,<chr>,<conn_hdl>,<hex>\r; без дескриптора соединения: AT+GATTSEND=<svc>,<chr>,,<hex>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n; запрос AT+GATTSEND?\r: \r\nERROR\r\n.
Параметры svc: номер слота службы. chr: индекс характеристики. conn_hdl: шестнадцатеричный дескриптор BLE-соединения с нумерацией от 1; его можно опустить. hex: передаваемые данные в виде шестнадцатеричной строки с чётным числом символов. Фактическая длина данных также ограничена максимальной длиной одного ASCII-кадра AT.
Примечания Если conn_hdl опущен, используется первое активное BLE-соединение. Целевая служба должна быть уже зарегистрирована, а индекс характеристики — допустим. Если среди свойств характеристики есть Indicate (I), используется индикация; в противном случае — уведомление.

Сохранение пользовательской конфигурации GATT во флеш-память

Таблица: сохранение пользовательской конфигурации GATT во флеш-память
Поле Значение
Команда AT+GATTSTORE\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n; запрос AT+GATTSTORE?\r: \r\nERROR\r\n.
Параметры Нет.
Примечания Сохраняет текущую конфигурацию всех служб и характеристик во флеш-памяти. Записываются только настройки; сведения о состоянии во время работы, например о регистрации службы, не сохраняются. Возвращает ERROR, если KVDB не готова или запись не удалась. Форма запроса не поддерживается.

Удаление пользовательской конфигурации GATT из флеш-памяти

Таблица: удаление пользовательской конфигурации GATT из флеш-памяти
Поле Значение
Команда AT+GATTCLEAR\r
Ответ Успех: \r\nOK\r\n; запрос AT+GATTCLEAR?\r: \r\nERROR\r\n.
Параметры Нет.
Примечания Удаляет конфигурацию GATT, сохранённую во флеш-памяти. Текущая конфигурация в RAM не меняется. Форма запроса не поддерживается.

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

Таблица: запрос автозагрузки GATT при включении
Поле Значение
Команда AT+GATTAUTOSTART?\r
Ответ \r\n+GATTAUTOSTART:<v>\r\n\r\nOK\r\n
Параметры v: текущее состояние переключателя. 0 = выключен; 1 = включён. По умолчанию — 1.
Примечания Нет.

Настройка автозагрузки GATT при включении

Таблица: настройка автозагрузки GATT при включении
Поле Значение
Команда AT+GATTAUTOSTART=<v>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры v: значение переключателя. 0 = выключен; 1 = включён. По умолчанию — 1.
Примечания Изменение обновляет конфигурацию. Если функция включена, при запуске устройства автоматически загружается сохранённая конфигурация служб GATT.

Асинхронные уведомления (URC)

Следующие уведомления о состоянии модуль отправляет самостоятельно; хосту не нужно посылать команду, чтобы их получить. Передачей управляет переключатель событий (AT+EVT). Если включён режим без уведомлений, модуль ничего не отправляет.

IM_READY: уведомление о готовности

Таблица: уведомление о готовности IM_READY
Поле Значение
Команда Нет (отправляется прошивкой самостоятельно, а не пользователем).
Ответ Строка уведомления: \r\nIM_READY\r\n
Параметры Нет.
Примечания Передаётся один раз после завершения инициализации, когда модуль готов к работе. Также передаётся повторно, когда все соединения разорваны и их количество снова равно нулю. Передачей управляет AT+EVT; команда AT+EVT=1 включает режим тишины и подавляет это уведомление.

IM_CONN: уведомление о соединении

Таблица: уведомление о соединении IM_CONN
Поле Значение
Команда Нет (прошивка отправляет уведомление самостоятельно при установлении соединения).
Ответ Режим команд: \r\nIM_CONN <hdl>,<addr>,<mtu>\r\n; прозрачный режим: \r\nIM_CONN\r\n
Параметры hdl: дескриптор соединения — ровно 4 шестнадцатеричные цифры в верхнем регистре, дополненные нулями слева. Для BLE отображается внешний дескриптор с нумерацией от 1 (внутреннее значение плюс 1); для остальных типов — исходное значение. addr: адрес удалённого устройства, 12 шестнадцатеричных цифр, начиная со старшего байта. mtu: MTU текущего соединения, десятичное число.
Примечания В режиме команд для каждого установленного соединения передаётся уведомление с дескриптором, адресом удалённого устройства и MTU. В прозрачном режиме уведомление передаётся только при установлении первого соединения (когда их количество равно 1) и не содержит параметров. Передачей управляет AT+EVT; команда AT+EVT=1 включает режим тишины и подавляет это уведомление.

IM_DISCONN: уведомление об отключении

Таблица: уведомление об отключении IM_DISCONN
Поле Значение
Команда Нет (прошивка отправляет уведомление самостоятельно при разрыве соединения).
Ответ Режим команд: \r\nIM_DISCONN:<hdl>\r\n
Параметры hdl: дескриптор разорванного соединения — ровно 4 шестнадцатеричные цифры в верхнем регистре, дополненные нулями слева. Для BLE отображается внешний дескриптор с нумерацией от 1 (исходное значение плюс 1); для остальных типов — исходное значение.
Примечания Уведомление содержит только дескриптор и передаётся в режиме команд; в прозрачном режиме оно не передаётся. В любом режиме, когда все соединения разорваны и их количество возвращается к нулю, дополнительно передаётся \r\nIM_READY\r\n. Передачей управляет AT+EVT; команда AT+EVT=1 включает режим тишины и подавляет это уведомление.

Команды в формате PDU

Уведомление о данных PDU (opcode 0x0101)

Таблица: уведомление о данных PDU (модуль → хост, opcode 0x0101)
Поле Значение
Команда Нет (прошивка отправляет данные самостоятельно в режиме команд).
Ответ \r\n< + opcode(2-byte little-endian) + len(2-byte little-endian) + body + \r\n
Параметры opcode всегда равен 0x0101; body = conn_hdl (2 байта, little-endian) + data. Для BLE используется внешний дескриптор с нумерацией от 1; для SPP — исходный ACL-дескриптор.
Примечания В режиме команд при записи данных в пользовательскую BLE-характеристику или получении данных через SPP Classic Bluetooth модуль передаёт их хосту в указанном формате. В прозрачном режиме данные выводятся напрямую.

Отправка данных PDU (автовыбор характеристики Notify, opcode 0x0101)

Таблица: отправка данных PDU (автовыбор характеристики Notify, opcode 0x0101)
Поле Значение
Команда Бинарный кадр (не текстовая строка AT): AT> + opcode (2 байта, little-endian) + len (2 байта, little-endian) + body + \r. Здесь opcode = 0x0101 (последовательность байтов 01 01); len — длина body в байтах; body = conn_hdl (2 байта, little-endian) + data. data — передаваемая полезная нагрузка.
Ответ Текстового ответа нет. Прошивка передаёт data удалённому устройству в соответствии с типом соединения, без ответа OK/ERROR.
Параметры opcode: всегда 0x0101. len: длина body, диапазон 2–508 (кадры короче 2 или длиннее AT_RX_BUF_SIZE-4 отбрасываются; AT_RX_BUF_SIZE = 512). conn_hdl: дескриптор целевого соединения; для BLE — внешний дескриптор с нумерацией от 1, для SPP — исходный ACL-дескриптор. data: байты полезной нагрузки, длина = len-2; допустима длина 0.
Примечания Сначала conn_hdl сопоставляется с BLE-дескриптором с нумерацией от 1 (то есть conn_hdl-1 соответствует BLE-слоту); если совпадения нет, выполняется поиск исходного значения в SPP-слоте. Если соединение не найдено, кадр отбрасывается. Для BLE прошивка перебирает пользовательские службы GATT и автоматически выбирает первую характеристику со свойством Notify или Indicate; если такой характеристики нет, данные не передаются. Для SPP (BR/EDR) data отправляется по каналу SPP. Сразу после кадра должен следовать \r; иначе текущий кадр отбрасывается. Если между кадрами в течение тайм-аута PDU не поступают новые байты, состояние приёма PDU сбрасывается.

Отправка данных PDU (заданные служба и характеристика, opcode 0x0102)

Таблица: отправка данных PDU (заданные служба и характеристика, opcode 0x0102)
Поле Значение
Команда Бинарный кадр (не текстовая строка AT): AT> + opcode (2 байта, little-endian) + len (2 байта, little-endian) + body + \r. Здесь opcode = 0x0102 (последовательность байтов 02 01); len — длина body в байтах; body = conn_hdl (2 байта, little-endian) + svc_idx (1 байт) + char_idx (1 байт) + data.
Ответ Текстового ответа нет. Прошивка отправляет data удалённому устройству через заданные службу и характеристику, без ответа OK/ERROR.
Параметры opcode: всегда 0x0102. len: длина body, диапазон 4–508. Общий минимум уровня приёма равен 2, но этот opcode требует не менее 4 байт с учётом svc_idx+char_idx; иначе кадр отбрасывается. conn_hdl: целевой внешний BLE-дескриптор с нумерацией от 1. svc_idx: индекс пользовательской службы GATT. char_idx: индекс характеристики в этой службе. data: байты полезной нагрузки, длина = len-4; допустима длина 0.
Примечания Поддерживаются только BLE-соединения; если найденное соединение имеет тип SPP, кадр отбрасывается. svc_idx должен соответствовать зарегистрированной пользовательской службе, а char_idx должен быть меньше количества её характеристик; иначе кадр отбрасывается. Заданная характеристика должна иметь свойство Notify или Indicate; иначе кадр также отбрасывается. conn_hdl обрабатывается по тому же правилу, что и в 0x0101: сначала проверяется BLE-дескриптор с нумерацией от 1, затем исходное значение. Сразу после кадра должен следовать \r.

Отключение в режиме PDU

Таблица: отключение в режиме PDU
Поле Значение
Команда AT+DISCONN\r (без параметра) или AT+DISCONN=<conn_hdl>\r
Ответ Успех: \r\nOK\r\n; ошибка: \r\nERROR\r\n
Параметры conn_hdl: шестнадцатеричный дескриптор соединения для отключения. Для BLE используется внешний дескриптор с нумерацией от 1; значение 0 недопустимо и вызывает ERROR. Для SPP используется исходный ACL-дескриптор.
Примечания Без параметра разрываются все текущие соединения и возвращается OK. Если параметр задан, сначала ищется BLE-дескриптор с нумерацией от 1 (conn_hdl-1 соответствует BLE-слоту); при отсутствии совпадения ищется исходное значение в SPP-слоте. Если соединение не найдено, возвращается ERROR. BLE-отключение инициируется с кодом причины 0x13; для отключения SPP используется адрес удалённого устройства. Запрос AT+DISCONN? возвращает ERROR.

Уведомления о состоянии PDU-соединений (IM_CONN / IM_DISCONN)

Таблица: уведомления о состоянии PDU-соединений (IM_CONN / IM_DISCONN)
Поле Значение
Команда Модуль отправляет уведомления самостоятельно; команда хоста не требуется. IM_CONN передаётся при установлении соединения, IM_DISCONN — при его разрыве.
Ответ Установление соединения в режиме команд: \r\nIM_CONN <hdl>,<mac>,<mtu>\r\n, где <hdl> — дескриптор из 4 шестнадцатеричных цифр, <mac> — адрес из 12 шестнадцатеричных цифр (начиная со старшего байта), <mtu> — десятичное значение MTU. Разрыв соединения в режиме команд: \r\nIM_DISCONN:<hdl>\r\n (<hdl> — 4 шестнадцатеричные цифры). В прозрачном режиме \r\nIM_CONN\r\n без параметров передаётся только при установлении первого соединения, а IM_DISCONN при отключении не передаётся. Оба режима передают \r\nIM_READY\r\n, когда все соединения разорваны.
Параметры <hdl>: дескриптор соединения; для BLE отображается внешнее значение с нумерацией от 1 (внутреннее значение отсчитывается от 0 и увеличивается на 1), для SPP — исходный дескриптор. <mac>: Bluetooth-адрес удалённого устройства. <mtu>: согласованная MTU.
Примечания Передачей управляет AT+EVT: при значении 0 (по умолчанию) уведомления передаются обычно, а при значении 1 подавляются IM_READY/IM_CONN/IM_DISCONN. Формат и состав уведомлений зависят от текущего режима работы (командного или прозрачного), как описано выше.

Приложение

Распространённые значения Class of Device

Таблица: распространённые значения Class of Device
Тип устройства Шестнадцатеричное значение
Компьютер 0x000100
Телефон 0x000200
Точка доступа LAN/сети 0x000300
Аудио/видео 0x000400
Периферийное устройство (клавиатура, мышь и т. п.) 0x000500
Устройство обработки изображений (принтер, сканер и т. п.) 0x000600

Последнее обновление: