Что такое профиль hid
Перейти к содержимому

Что такое профиль hid

  • автор:

На пальцах объясните 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), таких как мышки, джойстики, клавиатуры и проч. Использует медленный канал, работает на пониженной мощности.

Профиль 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 — устанавливает необязательные дескрипторы, которые предоставляют информацию о части или частях тела человека, используемых для активации элементов управления устройства.

На первый взгляд, то, что я здесь описал, кажется сложным. Мне тоже так казалось, когда я начал все это изучать. Надеюсь дальше все прояснится :).

HID совместимые устройства что это такое?

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

В класс HID устройств входят клавиатуры, мыши и другие типовые девайсы.

Что такое профиль HID

Подразумевается что если устройство является HID совместимым то подключая его к основному устройству поддерживаемому HID, оно автоматически будет определено и подключено. Как пример телевизоры Panasonic поддерживают HID устройства и к телевизору можно подключить клавиатуру или беспроводную мышь но они также должны поддерживать HID профиль.

Данный класс изначально был придуман для USB устройств но потом также был распространён и на Bluetooth устройства.

Сначала многие производители производили различные девайсы которые поддерживались только определёнными устройствами. Например можно вспомнить телевизоры Samsung которые поддерживали работу только клавиатур Samsung для телевизоров. Самсунг продавал такие клавиатуры по 60-80$. Но другие производители делали телевизоры с поддержкой HID устройств, что делало их более привлекательными для приобретения. В итоге Samsung отказался от такой практики.

Arduino.ru

Здравствуйте. У меня в процессе реализации одного проэкта возникла необходимость подключить блютус джойстик к ардуино для управления моделью машинки.

Кратко о самом проэкте. Есть машинка на радио управлении. у нее сгорели своя плата и я ее заменил на ардуино нано с нрф-кой и Н-мостом TB6612FNG. Пульт аналогично нано с нрф-кой и аналоговый двух осевой джойстик. И впринципе все работает как надо , но меня не устроило то, что пульт без корпуса. А у меня уже есть джойстик с блютус, во я и подумал как бы мне их скрестить машинку и джойстик. Вот только не смог найти ничего похожнго в инете для этого, ни какой блютус модуль нужен и как прогу написать. Я в этом деле не так уж и давно и программы пишу используя примеры. Так что буду благодарен за любые подсказки.

Да вот еще нашел библиотеки BPlib и USB Host Shild Librery 2.0, но не разобрался в них. И еще джойстик как для PS3-4 или X-box естественно подделка, но с компом работает как надо.

  • Войдите на сайт для отправки комментариев

Втр, 06/02/2018 — 10:28
Зарегистрирован: 23.05.2012

или на машинку вместо нрф ставите блютуз модуль и пишите программу под него.

или в джойстике меняете потроха, в сети есть примеры как народ проводное управление переделывает на нрф.

  • Войдите на сайт для отправки комментариев

Сб, 10/02/2018 — 18:37
Зарегистрирован: 05.02.2018

HC-05 подойдет? Как я понял он создает последовательный порт между приемником и передатчиком а джойстик использует какой-то другой протокол.

  • Войдите на сайт для отправки комментариев

Ср, 24/10/2018 — 15:40
Зарегистрирован: 17.06.2014

подниму тему, и хорошо бы ее в аппаратные вопросы.
​Задача: надо ардуине получать инфу с bluetooch 3.0 HID устройства . (вот млин , не мог производитель сделать по нормальному, по инженерному, через распространенный uart профиль , к тому же BLE (блютуз 4.0) очень мало кушает энегии)

модули HC-05 HC-06 не подходят, они 2.0 , хотя на ютубе кто-то hid на них делал .

рассмотрел такие варианты

1. bluetooch 4.0 HM-10 HM-11 jdy-08 jdy-10 BT-05 и другие BLE на CC2541 и подобных.
проблема в том что у них только мастер-слейв uart профиль (компорт) , есть еще iBeacon device, но не нет мастер HID. На гитхабе так-то выложены исходники HID устройства , но как слэйв https://imgur.com/a/KWmz6 . Мастером у них является USB dongle ( usb host ) включенный в компьютер .
По идее надо:
— покупать программатор CCloader чтоб заливать HEX . ( CCloader на ардуине, удачно заливает только собранную восстановительную прошивку CC2541hm10v540.bin )
— купить USB dongle CC2531 CC2540 Bluetooth BLE 4,0 Zigbee
— изучать среду программирования для них и писать программу , из прошивки USB донгла брать куски и както прилаживать uart и HID стек .
что кажется непомерным для кажется простой задачи, по времени, и может не получиться.

2. bluetooch 3.0 модуль на базе чипа BK3231 (именуемый еще как bluetooch SPP-C ), там типа иногда упоминается HID профиль, но нет примеров и инфы. Скорее всего надо изучать среду под них и писать программу. народ использует просто как самый дешевый блютуз для uart. модуль этот малораспространен.

3. применить arduino USB-host, USB dongle , найти под него драйвера, подружить с ардуиной . Тож ооочень долго, муторно, и неизвестно получиться иль нет. // по идее — должно же как-то решаться простым модулем, а не городить огород.

4. через ESP-32 , у него есть bluetootch 4.0 , есть примеры c HID , но опять же таки как слэйв (в роли клавиатуры, мышки) , но не как к подключаемому устройству — мастер.

видимо вопрос этот не по времени , еще никто походу так и не сделал. Потрачено уйму времени на поиски и эксперименты с блютуз модулями. Сделанного решения на сегодя не найдено. Рассматривается последний вариант — на esp-32.

если кто что столкнется с решением подобной проблемы, то черкните сюда.
// если что не так понял, поправьте.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *