Hogp Bluetooth что это такое
Обновлено: 21.11.2024
Это пример разработки устройства Bluetooth LE HID, которое может подключаться по беспроводной сети к хостам HID, включая системы Windows, Mac, Android и iOS. Bluetooth SIG определяет профиль HID, который указывает, как устройство может поддерживать службы HID в стеке протоколов Bluetooth LE с использованием общего профиля атрибутов.
В этом примере реализована простая HID-клавиатура, но ее можно использовать в качестве отправной точки для создания любого устройства с интерфейсом пользователя.
Введение в HID
хост и устройство — это два объекта в протоколе HID. Устройство — это сущность, которая напрямую взаимодействует с людьми, например клавиатура или мышь. Хост связывается с устройством и получает входные данные от устройства о действиях, выполняемых людьми.
Устройства HID должны соответствовать нескольким общим требованиям, предъявляемым к стандартизированному и эффективному интерфейсу HID. При нормальной работе HID-устройство и HID-хост обмениваются данными посредством отчетов.
Как определено в USB HID, все данные, передаваемые между HID-устройством и хостом, должны быть структурированы в соответствии со спецификациями, указанными в дескрипторе отчета. Этот дескриптор определяет размер и состав отчетов данных от устройства класса HID. Дескриптор отчета загружается и анализируется драйвером класса HID, как только устройство обнаружено. Прежде чем HID-устройство сможет войти в свой нормальный рабочий режим и передать данные хосту, оно должно правильно пройти энумерацию. После того, как устройство успешно пронумеровано, хост может начать отправлять и получать данные в виде отчетов. Дополнительные сведения см. в разделе Спецификация и таблицы использования HID.
Профиль HID over GATT является адаптацией спецификации USB HID. В этом профиле характеристика карты отчета (версия Bluetooth LE USB-дескриптора отчета) используется для указания характеристики отчета HID, которая отвечает за обмен данными между устройством HID и хостом HID.
В этом профиле может быть несколько характеристик отчета, но только одна характеристика карты отчета, которая определяет размер отчетов и назначение каждого байта и бита в каждом отчет. Отчеты о входе отправляются с помощью уведомлений, и они также могут быть прочитаны хостом.
Устройство Bluetooth HID должно поддерживать профиль HID over GATT. В дополнение к службе HID для этого профиля также требуется служба батареи и служба информации об устройстве. Подробное описание можно найти в спецификации профиля HID over GATT.
Как упоминалось ранее, устройства HID должны соответствовать нескольким требованиям. Цель этого документа — перечислить эти требования и предоставить рабочее решение для успешного перечисления устройств. Чтобы хост принял устройство, на нем должны быть правильно инициализированы идентификационные данные и соответствующий уровень безопасности.
Наиболее важные характеристики ГАТТ будут подробно описаны с практическим примером в следующем разделе. Эти свойства можно легко настроить в GATT Configurator.
Пример базы данных GATT для клавиатуры
Важно понимать, как могут быть структурированы отчеты и какие идентификационные свойства необходимы устройству HID для правильного перечисления. В этом разделе рассматриваются необходимые атрибуты с описанием и примером. Как упоминалось ранее, для профиля HID over GATT требуется несколько служб.
Общая служба доступа
Характеристика внешнего вида: содержит 16-битное число, которое можно сопоставить со значком или строкой, описывающей физическое представление устройства во время процедуры обнаружения устройства.
В этом примере реализована клавиатура со стандартным значением внешнего вида 0xC103.
Служба информации об устройстве
Характеристика идентификатора PnP: набор значений, которые используются для создания значения идентификатора устройства, уникального для этого устройства. В характеристику включены исходное поле идентификатора поставщика, поле идентификатора поставщика, поле идентификатора продукта и поле версии продукта.
Значение идентификатора поставщика Silicon Labs (0x10C4) используется Форумом разработчиков USB (0x02).
Поле | Значение |
---|---|
Источник идентификатора поставщика | 0x02 |
Идентификатор поставщика | 0x10C4 |
Идентификатор продукта | 0x0001 |
Версия продукта | < td style="text-align:left">0x0001
Служба устройств с интерфейсом пользователя
Служба HID предоставляет характеристики, необходимые устройству HID для передачи дескрипторов отчетов HID и отчетов на хост HID. Это также раскрывает характеристики HID-хоста для записи на устройство.Службу HID необходимо рекламировать.
Информационная характеристика HID: значение информационной характеристики HID содержит поля bcdHID и bcountryCode, как определено спецификацией USB HID.
Поле | Значение |
---|---|
bcdHID | 0x0111 (номер версии 1.11 спецификации класса HID) | < /tr>
bcountryCode | 0x0002 (не локализовано, нормально подключается) |
Характеристика режима протокола: характеристика режима протокола используется для отображения текущего режима протокола службы HID, с которой он связан. Есть режимы Report и Boot.
В этом случае используется протокол отчетов, поэтому его значение равно 0x01.
Характеристика карты отчета: все передаваемые данные должны быть отформатированы как отчеты, структура которых определена в этой характеристике. Характеристика карты отчета используется для определения информации о форматировании данных входного отчета, выходного отчета и отчета о функциях, передаваемых между устройством HID и хостом HID. Это список элементов, каждый из которых содержит тип элемента и его значение, которое предоставляет информацию о том, как можно использовать данные, и другую информацию, касающуюся физических аспектов устройства. Длина и содержание карты отчета зависят от количества полей данных, необходимых для отчета или отчетов устройства.
Карта отчета этого приложения основана на примере, приведенном в определении класса устройств для устройств с интерфейсом пользователя (HID) (Приложение C: Реализация клавиатуры). Он содержит базовый 8-байтовый отчет о клавиатуре, который будет подробно описан позже.
Значение | Элемент |
---|---|
0x05, 0x01 | Страница использования (общий рабочий стол) | tr>
0x09, 0x06 | Использование (клавиатура) |
0xa1, 0x01 | Коллекция (приложение) |
0x05, 0x07 | Страница использования (клавиатура) |
0x19, 0xe0 | Минимальное использование (клавиша LeftControl) |
0x29, 0xe7 | Максимум использования (правый графический интерфейс клавиатуры) |
0x15, 0x00 | Логический минимум (0) |
0x25, 0x01 | Логический максимум (1) |
0x75, 0x01 | Размер отчета (1) |
0x95, 0x08 | Число отчетов (8) |
0x81, 0x02 | Ввод (данные, переменная, абсолютный) Байт модификатора |
0x95, 0x01 | Число отчетов (1) |
0x75, 0x08 | Размер отчета (8) |
0x81, 0x01 | Ввод (константа) Зарезервированный байт |
0x95, 0x06 | Число отчетов (6) |
0x75, 0x08 | Размер отчета (8) |
0x15, 0x00 td> | Логический минимум (0) |
0x25, 0x6 5 | Логический максимум (101) |
0x05, 0x07 td> | Страница использования (ключевые коды) |
0x05, 0x01 | Минимальное использование (зарезервировано (событие не указано)) |
0x05, 0x01 td> | Максимум использования (клавиатурное приложение) |
0x05, 0x01 | Входные (данные,массив) массивы ключей (6 байт) |
0xc0 td> | Конец коллекции |
Подробное описание типов элементов и структуры этого дескриптора можно найти в разделе 6.2.2 Дескриптор отчета об определении класса устройства для устройств с интерфейсом пользователя (HID)
Характеристика отчета. Характеристика отчета используется для обмена данными между устройством HID и хостом HID. На основе карты отчетов длина отчета в этом приложении составляет 8 байтов (1 зарезервированный, 1 модификатор, 6 байт кода ключа). Описатель ссылки на отчет содержит тип и идентификатор отчета.
В этом примере используется входной отчет, поэтому значение равно 0x0001.
Дескриптор конфигурации характеристики клиента будет включен в каждое определение характеристики отчета, если данные, содержащиеся в значении характеристики отчета, относятся к входному отчету.
Клавиатура
Это приложение имеет базовые функции обычной клавиатуры, которая отправляет информацию о «нажатии клавиши» и «отпускании клавиши» на хост вместе с отчетами о вводе.
Используется обычная структура отчета клавиатуры, которая содержит зарезервированный байт, байт-модификатор и 6 байтов кода клавиши (одновременные нажатия клавиш). В этом примере одна характеристика отчета отправляет отчеты с помощью уведомлений, запускаемых нажатием кнопки. Используемый формат отчета клавиатуры можно увидеть на следующем рисунке.
Отчет
На WSTK есть две кнопки. Функции кнопок представлены в следующей таблице.
Кнопка | Действие |
---|---|
PB0 | Отправляет символ (и переходит к следующей букве алфавита) |
PB1 | Модификатор Caps Lock |
KBA_BT_1010: Кнопки и прерывания в проекте Bluetooth демонстрирует, как использовать кнопки WSTK PB0 и PB1 для запуска и обнаружения прерываний. В этом приложении событие нажатия/отпускания кнопки генерирует внешнее прерывание в MCU. Затем в функции обратного вызова прерывания событие evt_system_external_signal помещается в очередь событий Bluetooth. Форматирование отчета происходит в основном цикле, и символы связываются с их кодами клавиш, которые определены в таблицах использования HID. Затем приложение отправляет структурированный отчет через уведомление на хост с помощью команды gatt_server_send_characteristic_notification.
HID-устройство должно включать службу HID в поле типа AD UUID службы рекламных данных. Кроме того, HID-устройство должно включать свой внешний вид в свои рекламные данные. Это устройство можно обнаружить как клавиатуру. С помощью GATT Configurator в этом примере используются рекламные пакеты, которые автоматически заполняются стеком.
В качестве простой основы для дальнейшей разработки этот пример не оптимизирован по энергопотреблению. Кроме того, используйте буферы в соответствии с требованиями к ресурсам и приложениям.
Безопасность
Устройства HID должны связываться и использовать LE Security Mode 1, Security Level 2 или 3, оба из которых требуют зашифрованного соединения. В этом примере используется безопасность уровня 2: сопряжение без проверки подлинности с шифрованием.
Для совместимости с iOS характеристика карты отчета и дескриптор ссылки отчета должны иметь зашифрованное разрешение на чтение атрибута, что означает, что для чтения значения характеристики требуется зашифрованная ссылка.< /p>цитата>
Настройка проекта
Создайте новый проект SoC-Empty для своего устройства.
Импортируйте прикрепленный файл gatt.xml.
Нажмите «Сохранить», а затем «Создать» в GATT Configurator.
Скопируйте прикрепленный файл app.c в свой проект (перезаписав существующий).
Использование
В этом разделе дается краткое описание общего использования.
На хост-устройстве откройте настройки Bluetooth и найдите устройство под названием «Silabs KB». Хост-устройство может попросить пользователя принять сопряжение, которое необходимо для работы с клавиатурой. После того, как устройство успешно подключено и сопряжено, нажмите PB0, чтобы отправить символ. Чтобы активировать модификатор Caps Lock, одновременно удерживайте нажатой PB0. Откройте программу на хост-устройстве, где могут отображаться нажатия клавиш.
Модуль клиента службы HID можно использовать для взаимодействия с подключенным сервером HID. Например, сервер может быть экземпляром службы GATT Human Interface Device (HID) .
Клиент службы HID используется в образце Bluetooth: Central HIDS.
Клиент использует модуль GATT Discovery Manager для получения всех дескрипторов атрибутов, необходимых для взаимодействия с сервером HID. Некоторые дополнительные данные должны быть прочитаны из обнаруженных дескрипторов до того, как клиент HID будет готов. Этот процесс запускается автоматически сразу после назначения дескрипторов. Если процесс завершается успешно, вызывается функция bt_hogp_ready_cb. В противном случае вызывается bt_hogp_prep_fail_cb.
Конфигурация¶
Кроме стандартных параметров конфигурации, есть еще один важный параметр:
Устанавливает максимальное количество общих отчетов, поддерживаемых библиотекой. Память отчетов является общей для всех клиентских объектов HIDS, поэтому для этого параметра следует установить максимальное общее количество отчетов, поддерживаемых приложением.
Использование¶
Не обращайтесь напрямую к каким-либо значениям в структуре объекта bt_hogp. Все значения, к которым необходимо получить доступ, имеют функции доступа. Причина того, что структура полностью определена, заключается в том, чтобы позволить приложению выделить для нее память.
Получение состояния готовности клиента HIDS¶
Для получения состояния готовности объекта клиента службы доступны следующие функции:
Проверяет, была ли уже вызвана функция bt_hogp_handles_assign() и запущен ли процесс обнаружения сообщений.
Проверяет, полностью ли готов клиентский объект к взаимодействию с HID-сервером. Флаг готовности устанавливается непосредственно перед вызовом функции bt_hogp_ready_cb.
Чтение карты отчета¶
Чтобы прочитать карту отчета, вызовите bt_hogp_map_read(). Если карта отчета не помещается в один PDU, вызовите функцию несколько раз с разными смещениями.
В клиенте HIDS нет специальной поддержки интерпретации карты отчета HID.
Доступ к отчетам¶
Чтобы прочитать или написать отчет, используйте одну из следующих функций:
Для управления уведомлениями об отчетах о вводе используйте следующие функции:
Размер отчета всегда обновляется перед вызовом функции обратного вызова во время чтения или уведомления. Его можно получить, вызвав bt_hogp_rep_size() .
Для всех операций с отчетами в качестве входных данных требуется указатель сведений об отчете. Способ получения этого указателя зависит от того, обрабатываете ли вы обычный отчет или отчет о загрузке.
Информационный указатель отчета для обычного отчета можно получить с помощью функции bt_hogp_rep_next(). Эта функция перебирает все обнаруженные отчеты (за исключением отчетов о загрузке). Чтобы найти конкретный отчет, используйте bt_hogp_rep_find(). Эта функция находит отчет по его типу и идентификатору.
Если подключенное устройство поддерживает протокол загрузки, на нем должны быть доступны отчеты о загрузке мыши и/или клавиатуры. Это означает, что:
Для протокола загрузки с помощью мыши функция bt_hogp_rep_boot_mouse_in() возвращает значение, отличное от NULL.
Для протокола загрузки с клавиатуры две функции bt_hogp_rep_boot_kbd_in() и bt_hogp_rep_boot_kbd_out() возвращают значение, отличное от NULL.
Все эти функции возвращают указатели отчетов, которые можно использовать в функциях доступа. Обратите внимание, однако, что эти указатели нельзя использовать в качестве указателя предыдущей записи в bt_hogp_rep_next() .
Переключение между режимами загрузки и отчетов¶
Для переключения между режимом протокола загрузки и режимом протокола отчетов используйте bt_hogp_pm_write() .
Вы можете получить текущий протокол с помощью bt_hogp_pm_get(). Эта функция возвращает внутреннюю кэшированную версию текущего режима протокола. Чтобы обновить это значение непосредственно с устройства, используйте bt_hogp_pm_update() .
Каждый раз при изменении режима протокола вызывается функция bt_hogp_pm_update_cb.
IDBLUE подписывает N4 Systems Inc. в качестве авторизованного реселлера IDBLUE.HF / Что такое Bluetooth SPP и HID? Какая версия устройства мне нужна?
При подключении через Bluetooth наши устройства настроены на использование одного из следующих предопределенных профилей Bluetooth:
– Устройство IDBLUE настроено с помощью драйвера последовательного порта Bluetooth, который может отправлять и получать команды с помощью нашего API IDBLUE. Это позволяет:
- полный контроль пользовательского интерфейса и доступ ко всем функциям
- интеграция с любым сторонним приложением
- возможность чтения идентификатора тега или чтения/записи в пользовательскую память тега
- для связи с нашим устройством требуется наш IDBLUE API.
- HF-теги — идентификатор тега.
- Теги УВЧ – код EPC из банка памяти EPC.
Доступные способы связи
Если вам нужно просто отсканировать идентификатор тега/код EPC в приложение, мы рекомендуем наши версии IDBLUE HID Bluetooth считывателя IDBLUE.HF и IDBLUE.UHF без необходимости в каком-либо дополнительном программном обеспечении. Если вам нужно интегрировать дополнительные функции через Bluetooth, мы рекомендуем наши версии IDBLUE SPP Bluetooth наших считывателей IDBLUE.HF или IDBLUE.UHF, которым потребуется наш API через наш IDBLUE SDK для управления устройством.
ПРИМЕЧАНИЕ. Если вы хотите использовать нашу версию SPP Bluetooth в качестве клавиатуры:
- Microsoft Windows: вы можете загрузить IDBLUE Keyboard Sender для Windows на странице «Драйверы устройств и программное обеспечение».
- Google Android: вы можете загрузить IDBLUE Keyboard Wedge для Google Android на странице драйверов устройств и программного обеспечения.
- Apple iOS: из-за ограничений и ограничений операционной системы клавиатурный клин для iOS недоступен.
Оба типа наших устройств работают одинаково при подключении через USB через Windows с помощью нашего USB-драйвера IDBLUE для Windows и имеют доступ к полному набору функций наших ридеров.
Для получения дополнительной информации вы можете связаться с нашим отделом продаж IDBLUE, чтобы узнать, какое устройство лучше всего соответствует вашим требованиям.
Готов к играм
- Подключите телефон к внешнему дисплею.
- Выберите игровой опыт.
- Используйте свой телефон в качестве трекпада или мыши Bluetooth, чтобы выбрать игру для игры.
Если игровых приложений нет, установите их на свой телефон из Google Play.Для игр, требующих сенсорного экрана, используйте телефон в качестве сенсорного экрана во время игры на внешнем дисплее.
- Если боковая панель инструментов включена, откройте ее, наведя указатель мыши на левый край экрана.
- Чтобы ваш телефон оставался прохладным во время игры, используйте док-станцию Ready For со встроенным вентилятором.
Чтобы использовать возможности консоли, подключите контроллер Bluetooth к телефону, чтобы открывать игры, совместимые с контроллером, в полноэкранном режиме.
- L1+R1+Пуск открывает Медиацентр.
- А открывает приложение
- Б возвращается
Был ли этот ответ полезен?
Информация
Товары
Главная страница Motorola
Поддержка
О нас
Android, Google, Google Play, Nexus и другие знаки являются товарными знаками Google Inc. Робот Android воспроизводится или модифицируется на основе работы, созданной и переданной Google, и используется в соответствии с условиями, описанными в лицензии Creative Commons 3.0 Attribution. р>
* Все заявления о времени автономной работы являются приблизительными и основаны на стандартном профиле смешанного использования. Профиль смешанного использования основан на использовании устройств Motorola в основных сетях 4G LTE с отличным покрытием и включает как время использования, так и время ожидания. Стандартные настройки применяются к профилю смешанного использования для прогнозирования производительности батареи. Фактическая производительность батареи зависит от многих факторов, включая силу сигнала, конфигурацию сети, срок службы батареи, рабочую температуру, выбранные функции, настройки устройства, а также модели использования голосовых данных, данных и других приложений.
Читайте также: