Профиль HID
Попытку реализации HID на КПК, я начну с ознакомления с профилями Bluetooth.
Что же такое профиль в технологии Bluetooth?
Профиль — это, всего на всего, набор функций или возможностей, доступных для определённого устройства Bluetooth и позволяющий устройству предоставлять или использовать эту возможность совместно с другими устройствами.
Так как мы рассматриваем профиль HID, то спецификация HID определена в «USB Device Class Definition for Human Interface Devices», (да-да, спецификация HID определена именно в документах USB). Bluetooth HID профиль должен использовать протоколы, процедуры и другие возможности, обозначенные именно в указанной спецификации.
Типичными примерами устройств, поддерживающих профиль HID, являются:
— клавиатуры и указывающие устройства, например мышь, трекбол, джойстик;
— оконечные устройства, например всевозможные ручки, переключатели, кнопки и слайдеры;
— устройства дистанционного контроля и управления, например пульты дистанционного управления, игровые устройства;
— устройства, не требующие действий от человека, но поддерживающие передачу данных в простом формате относительно возможностей HID, такие как: сканеры штрих-кода, термометры или вольтметры.
Класс устройств HID изначально был нацелен на устройства, взаимодействующие с человеком, однако этот класс хорошо применим к любым приложениям, требующим быстрые операции ввода-вывода с внешними интерфейсами и позволяющий устройствам описывать самих себя. Определение класса HID включает поддержку различных типов и способов вывода информации конечному пользователю. HID поддерживает инициализацию и управление описывающих самих себя устройств.
Спецификация USB включает концепцию, позволяющую вместо того, что бы иметь различные драйверы для каждого нового периферийного устройства, группировать вместе устройства, имеющие одинаковые характеристики представления данных (т.н. data reporting), в класс устройств и иметь единственный драйвер класса для каждой группы. Устройства, в свою очередь, имеют возможность описывать самих себя в драйвере класса, например, то, как они управляются и как именно они передают данные. Это позволяет отменить необходимость менять программное обеспечение драйвера для вновь разработанных устройств этого класса.
HID не специфичен относительно USB или другого типа транспорта передачи данных. Постепенно я буду описывать как использовать протокол HID поверх Bluetooth.
Информация об устройстве HID хранится в сегментах энергонезависимой памяти. Эти сегменты называются дескрипторами. Дескриптор интерфейса может идентифицировать устройство определить устройство, как принадлежащие к одному из конечного числа классов.
Класс устройств HID использует соответствующий драйвер класса HID для и извлечения и маршрутизации данных. Маршрутизация и извлечение данных осуществляется путем изучения дескрипторов устройства и данных, которые оно предоставляет.
Дескриптор класса устройства HID перечисляет другие имеющиеся дескрипторы и указывает из размер. Пример:
— дескриптор Report — описывает каждую часть данных, генерируемых устройством, и реальный размер этой части. Этот дескриптор, например, может определять элементы, описывающие какую либо позицию или состояние кнопки. Здесь информация элемента используется как для определения откуда маршрутизировать ввод, например, от мышки или от джойстика; или может использоваться для назначения функции ввода определенному программному обеспечению, например использовать ввод данных от джойстика для управления самолетом или танком :). Изучая элементы дескриптора Report, драйвер класса HID позволяет определять размер и состав данных, передаваемых от устройства HID.
— дескриптор Physical — устанавливает необязательные дескрипторы, которые предоставляют информацию о части или частях тела человека, используемых для активации элементов управления устройства.
На первый взгляд, то, что я здесь описал, кажется сложным. Мне тоже так казалось, когда я начал все это изучать. Надеюсь дальше все прояснится :).
Поддерживаемые профили Bluetooth
Выберите в тексте , чтобы перейти к необходимому экрану настроек.
Телевизор поддерживает следующие профили:
- HID (Human Interface Device Profile — профиль устройства для взаимодействия с человеком)
- HOGP (HID over GATT Profile — профиль HID через GATT)
- A2DP (Advanced Audio Distribution Profile, расширенный профиль распространения аудио) *
- AVRCP (Audio/Video Remote Control Profile, профиль дистанционного управления аудио/видео) *
- 3DSP (3D Synchronization Profile — профиль синхронизации 3D) *
- SPP (Serial Port Profile — профиль серийного порта)
* Доступность зависит от модели/региона/страны.
Модели, поддерживающие A2DP и AVRCP, имеют опцию [ Синхронизация аудио/видео ] в [ Настройки ] — [ Изображение и звук ] — [ Аудиовыход ] .
Актуальные разделы
- Начало
- Использование телевизора с другими устройствами
- Устройства Bluetooth
- Поддерживаемые профили Bluetooth
Copyright 2019 Sony Visual Products Inc.
Общие сведения о транспорте HID
Корпорация Майкрософт рекомендует использовать включенные драйверы для транспортных средств, перечисленных в предыдущей таблице.
Если устройству требуется транспорт, отличный от USB, Bluetooth, Bluetooth LE или I²C, рекомендуется использовать драйвер мини-порта, как описано в разделе Транспортные мини-накопители .
Ограничения транспорта HID
- Длина дескриптора отчета Транспортная мини-отвертка отправляет дескрипторы отчетов в Hidclass в HID_DESCRIPTOR структуре. Независимо от размера, определенного транспортным протоколом для передачи дескриптора отчета HID с устройствами, фактический размер дескриптора отчета ограничен во время обмена данными между мини-драйверами Hidclass и HID.
- TLC в дескрипторе отчета Пара драйверов Hidclass/Hidparse учитывает количество TLC в дескрипторе отчета. Водители минипорта HID не имеют этой информации. Каждый TLC имеет по крайней мере 2 байта для запуска коллекции и 1 байт для завершения коллекции.
- Длина отчета о входных, выходных данных и функциях Пара драйверов Hidclass/Hidparse определяет длину входных, выходных и функциональных отчетов HID. Ограничение составляет 8 КБ (минус 1 бит). Даже если мини-накопитель HID может запросить передачу более 8 КБ для отчета, успешно передаются только отчеты размером менее 8 КБ.
| Встроенный мини-диск | Длина дескриптора отчета | TLCs в одном дескрипторе отчета | Длина отчета о входных, выходных данных и функциях |
|---|---|---|---|
| Hidclass/Hidparse | 65535 байт | 21845 | 8 КБ — 1 бит |
| Хидусб | 65535 байт | Н/Д | 64 КБ |
| Hidbth | 65535 байт | Н/Д | 64 КБ |
| HidBthLE | 65535 байт | Н/Д | 64 КБ |
| Hidi2c | 65535 байт | Н/Д | 64 КБ |
| Hidspi | 65535 байт | Н/Д | 64 КБ |
См. также:
Универсальный тест HID USB в комплекте аппаратной лаборатории Windows (HLK) охватывает драйверы HidUsb и HidClass. Тест HLK для сторонних мини-драйверов HID отсутствует.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Windows driver documentation
На пальцах объясните HID (human interface devices)?
Вообще — все устройства ручного ввода (мышки, клавиатуры, перья, трекболы, тачпады, джойстики) подключенные унифицированным _программным_ способом и через универсально-стандартные «соеденители»: USB, BlueTooth, возможно и IrDa
Отличие от «старых» устройств в том, что те использовали программный интерфейс уникальный для каждого рода, и специальные разъмы (джойстики, MIDI) — это хорошо видно в Диспетчере устройств — там для мышек, джойстиков и пр. есть отдельные разделы, а для HID — один.
Val KrМыслитель (7500) 16 лет назад
Разъем то где нахоцо?
Макс Профи (716) O_o На задней стенке системного блока (обычно) все разъемы находятся. Для MIDI разъем трапецевидный, желтого цвета, 15 контактов в два ряда. Но на современных компьютерах их _не делают_, потому, что всё, что подключается проводами — подключается через USB (маленький прямоугольный разъем с 4-мя плоскими контактами), и именно поэтому устройство — HID, а не MIDI.
МаксПрофи (716) 16 лет назад
Автор, я просто шокирован бездной Вашей любознательности и феноменальной скоростью мышления!
Пеши исчо!
Остальные ответы
Это устройства, которые покорно служат человекам . Туда и midi клавиатура входит а вообще [ссылка заблокирована по решению администрации проекта] в помощь
Val KrМыслитель (7500) 16 лет назад
ГУГЛ эт долго
Профили Bluetooth — Human Interface Device Profile (HID)
Обеспечивает поддержку устройств с HID (Human Interface Device), таких как мышки, джойстики, клавиатуры и проч. Использует медленный канал, работает на пониженной мощности.