Профиль hid что это
Профиль 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 вы можете выполнять такие действия, как соединение телефона с динамиками для прослушивания музыки, передачи и получения файлов на другие устройства и от них, подключение смартфона без порта к беспроводным наушникам и т. д. Однако существуют специальные «Профили», которые делают это возможным для устройства Bluetooth, чтобы эффективно выполнять свои функции.
Существует множество устройств, которыми можно управлять с помощью Bluetooth, и для каждой функции есть специальные профили Bluetooth.
Проще говоря, профили Bluetooth определенный спецификации беспроводного интерфейса. Вы когда-нибудь задумывались, как вы можете осуществлять беспроводную потоковую передачу звука со смартфона на Bluetooth наушники, или звуковую панель; или как вы можете обмениваться файлами с другим устройством через Bluetooth? Тогда вам следует взглянуть на некоторые из наиболее распространенных профилей Bluetooth.
1. Расширенный профиль распространения аудио (A2DP)
Если вы используете наушники Bluetooth, наушники, автомобильную стереосистему, ваше устройство использует этот профиль для обеспечения передачи высококачественного звука.
2. Аудио/видео профиль дистанционного управления (AVRCP)
Этот профиль отвечает за функциональность удаленного управления устройствами Bluetooth. Вы найдете этот профиль на таких устройствах, как телевизоры, наушники, интеллектуальные колонки, звуковые панели, смартфоны и другое стереооборудование. ACRCP предоставляет интерфейс, который позволяет вашему устройству Bluetooth ставить на паузу музыку, увеличивать и уменьшать громкость, переходить к следующему и предыдущему файлу в вашем списке воспроизведения и т. д.
AVRCP играет жизненно важную роль в управляющем устройстве (например, смартфоне) и целевом устройстве (гарнитуре Bluetooth, динамике и т. д.).
Когда вы нажимаете кнопку (воспроизведение, паузы, затем и т. д.) На управляющем устройстве, команда обнаруживается контроллером с помощью AVRCP. Профиль впоследствии преобразует команду в A/V-сигнал управления, который он передает целевому устройству.
3. Профиль передачи файлов (FTP)
4. Профиль громкой связи (HFP)
Как указано в названии, профиль Hands-Free (HFP) отвечает за успешное выполнение беспроводных телефонных звонков с устройства Bluetooth. Вы найдете этот профиль в мобильных телефонах, автомобильной информационно-развлекательной системе, наушниках и т. д.
HFP использует кодек Continuious Variable Slope Delta (CVSD) (кодирование используется для сжатия данных аудиосигналов) для передачи голоса и для определения некоторых параметров управления голосом (например, громкости). Если вы собираетесь использовать громкую связь во время вождения или в любом другом месте, ваше устройство должно иметь этот профиль.
5. Профиль гарнитуры (HSP)
6. Базовый профиль печати (BPP)
7. Профиль устройства интерфейса пользователя (HID)
Этот профиль обычно используется периферийными устройствами с поддержкой Bluetooth, такими как беспроводные клавиатуры, мыши, игровые контроллеры и т. д. Профиль Human Interface Device определяет функции и протоколы, с помощью которых эти устройства взаимодействуют с устройством Bluetooth.
Хотя существует более 20 профилей Bluetooth, вышеупомянутые профили являются наиболее важными, поскольку они используются в нашей повседневной жизни. Они находятся в устройствах, которыми вы пользуетесь каждый день: мобильные телефоны, ноутбуки, гарнитуры, периферийные устройства, принтеры, автомобили, умные бытовые приборы и т. д.
Профили и версии Bluetooth в наушниках
Содержание
Содержание
Bluetooth — это беспроводная технология обмена данными на небольшом расстоянии. Пользователи привыкли к этой возможности, но что мы о ней знаем, какие отличия современных версий Bluetooth, какие профили и кодеки существуют и чем они отличаются?
Bluetooth 1.2 (2003)
Мы пропустили версии 1.0 и 1.1, т.к. они предлагали довольно примитивные возможности и имели проблемы с развертыванием и совместимостью. А вот версия 1.2 стала первой, широко используемой технологией Bluetooth. Адаптивная перестройка частоты (AFH) помогла избежать помех с Wi-Fi и другими технологиями на схожей частоте. Скорость сопряжения была улучшена.
Bluetooth 2.0 и 2.1 (2004)
Фирменное обозначение Bluetooth 2.0 + EDR. Технология EDR является профилем, который позволил повысить скорость передачи данных. В тандеме с трехбитовым кодированием (против однобитового) скорость увеличилась с 1 до 3 Мбит/с (на практике до 2,1 Мбит/с). Была улучшена обработка помех, и устройства начали потреблять меньше энергии. В версии 2.1 было добавлено спаривание устройств (SSP), чтобы сделать соединение быстрее и безопаснее.
Bluetooth 3 + HS (2009)
Фирменное наименование Bluetooth 3.0 + HS (High Speed). Новая версия позволяла устанавливать соединение по Bluetooth с использованием частот Wi-Fi, что дало возможность повысить скорость передачи до 24 Мбит/с. Но если в устройстве отсутствовал Wi-Fi-модуль, то скорость ограничивалась все теми же 3 Мбит/с, что и в предыдущей версии Bluetooth 2.
Bluetooth 4.0, 4.1, и 4.2 (2011–2014)
Появление технологии Low Energy в Bluetooth 4 позволило уменьшить энергопотребление для некоторых периферийных устройств, но не для беспроводных наушников. В этой же версии каждое из устройств получило возможность одновременно быть и концентратором, и клиентом. Это значительно расширило функциональность портативной техники, позволив пользователю, к примеру, управлять некоторыми функциями своего смартфона с помощью наушников или умных часов.
В Bluetooth 4.1 не было революционных изменений по сравнению с версией 4.0. Разработчики усилили защиту от помех благодаря встроенному фильтру диапазона LTE-сетей. В результате Bluetooth-устройство с версией 4.1 будет искать другой канал с меньшим количеством помех и немного другой частотой. Также в новой версии оба сопряженных устройства могут быть как ведущими, так и ведомыми. Максимальное время прерывания соединения без потери сопряжения увеличилось с 30 секунд до 3 минут.
В версии 4.2 появились новые возможности для Интернета вещей. Каждому устройству с поддержкой Bluetooth 4.2 теперь был присвоен уникальный IP-адрес.
В версии Bluetooth 5.1 внедрена возможность определения физического местоположения устройств в помещении вплоть до сантиметра, чтобы обеспечить более надежное соединение. Также, в новой версии, устройства сопрягаются быстрее за счет улучшенного кэширования. В 5.1 устройствам стало доступно больше каналов для подключения, что уменьшило количество помех. Это полезно, когда в одном помещении находится много Bluetooth-устройств.
Отличия версий Bluetooth 4.0 и 5.0 (2016)
Давайте рассмотрим отличия этих версий более подробно, т.к. здесь есть несколько революционных изменений. В новой версии Bluetooth появилось больше улучшений. Они включают в себя:
Одним из ключевых улучшений версии 5.0 является усовершенствованная технология Low Energy, которая ранее имела серьезные ограничения по использованию беспроводных наушников. Теперь любые аудиоустройства, оснащенные модулем Bluetooth, могут обмениваться данными с источником по технологии Low Energy, что существенно снижает энергопотребление периферии.
В чем отличие версий, профилей и кодеков Bluetooth
Итак, мы разобрались с версиями популярной технологии, которые отличаются скоростью, зоной действия и дополнительными возможностями. Но что такое профили Bluetooth и как они влияют на работу наушников и других совместимых устройств?
Профили определяют набор возможностей, которые пользователь получает при подключении устройств по Bluetooth. К примеру, выбирая новые наушники, нужно обращать внимание не только на версию BT, но и на набор профилей, т.к. он напрямую влияет на функциональность аудиоустройства. Для передачи аудиопотока с максимальным качеством по Bluetooth используется профиль A2DP, речь о котором пойдет ниже.
Мультимедиа в современных устройствах передается через профиль, но самое главное — это кодек, с помощью которого происходит сжатие аудиопотока и передача его на гарнитуру с последующим декодированием. При равных условиях от типа используемого кодека зависит качество звучания.
Какие бывают профили Bluetooth
Теперь более подробно остановимся на разновидностях профилей. Профили Bluetooth представляют собой наборы инструкций, которые определяют порядок работы и реализации функций между устройствами Bluetooth. Существует около двух десятков профилей для любых устройств и целей — от передачи файлов до беспроводной печати, но нас интересуют те, которые используются в беспроводных гарнитурах.
HSP — обеспечивает базовую производительность гарнитуры с микрофонным входом, монофоническим звуком до 64 кбит/с и ограниченным дистанционным управлением — передачей сигнала вызова, ответом на звонок, завершением вызова и регулировкой громкости.
HFP — более продвинутая версия HSP, разработанная для монофонических гарнитур с функцией Hands Free с целью отвечать на звонки без обращения к телефону. Поддерживает некоторые голосовые команды. С версии HFP 1.7 добавилась поддержка кодека mSBC, поддержка статуса индикатора заряда батареи наушников.
AVRCP — обеспечивает дистанционное управление воспроизведением мультимедиа: переключение и перемотка трека, пауза, запуск воспроизведения, регулировка громкости. Профиль AVRCP предназначен только для дистанционного управления и не используется для передачи аудиопотока.
Версии AVRCP:
1.0 — дистанционное управление, включая старт воспроизведения, паузу и стоп.
1.3 — доступ к метаданным и чтение состояния медиа-плеера:
1.4 — возможность подключения к нескольким медиаплеерам:
1.5 — исправления багов по абсолютному контролю громкости, просмотру и другим функциям;
1.6 — просмотр данных и информации о треках:
AVRCP 1.6 поддерживается всеми Android-устройствами, начиная с версии 8.0.
A2DP — предназначен для передачи мультимедиа и стереозвука по Bluetooth, обеспечивая намного лучшее качество передачи звука по сравнению с HSP/HFP. Сам по себе не позволяет осуществлять дистанционное управление функциями воспроизведения, поэтому чаще всего используется в связке с AVRCP.
Версии A2DP:
1.2 — расширение списка поддерживаемых кодеков.
1.3 — все из 1.2 плюс уменьшение задержек при передаче потока для улучшения синхронизации аудио/видео, а также:
Таком образом, чтобы слушать аудиопоток с качественным стереозвуком и управлять функциями воспроизведения, необходима гарнитура и передающее устройств (хост) с поддержкой профилей AVRCP и A2DP одновременно.
Давайте также рассмотрим второстепенные профили, которые предлагают дополнительные функции.
PBAP — используется для доступа к телефонной книге телефона при помощи беспроводной гарнитуры. На практике это позволяет гарнитуре озвучивать имя абонента, который звонит, а также осуществлять голосовые команды доступа к телефонной книге для набора номера.
SPP — профиль, который определяет — каким образом два устройства будут обмениваться данными, эмулируя проводное соединение подобное USB или RS-232.
DID — идентифицирует класс устройства, производителя и модель. Например, это дает возможность видеть на экране телефона полное название модели подключенной гарнитуры.
ICP — поддержка голосовых звонков между совместимыми Bluetooth-устройствами.
SDAP — профиль используется приложениями для обнаружения услуг, которые могут быть доступными для конкретных подключенных устройств, подключенных по Bluetooth. К примеру, приложение для потокового вещания аудио с помощью SDAP может проверить, поддерживает ли данная модель наушников кодек aptX HD. Еще одним примером будет доступ к премиальному контенту при использовании определенных моделей наушников, или, наоборот, блокирование доступа для некоторых моделей гарнитур в связи с соблюдением авторских прав на цифровой контент.
Какие бывают кодеки Bluetooth
Качество звучания при равных условиях зависит от максимального битрейта и алгоритмов кодирования. Для этих целей используются разные кодеки. На гистограмме ниже можно увидеть, насколько разнится битрейт самых популярных кодеков Bluetooth. Стоит отметить, что кодек должен обязательно поддерживаться и передающим и принимающим устройством
Битрейт популярных кодеков Bluetooth
SBC находится внизу списка среди самых популярных кодеков Bluetooth. Однако он является неотъемлемым для всех устройств с поддержкой A2DP, что делает его практически универсальным.
SBC обеспечивает низкую нагрузку на мобильный процессор, но достигается это за счет агрессивной обработки и снижения частотного диапазона. В результате происходит значительная потеря данных исходного аудиофайла, что особенно заметно на высоких частотах с появлением фонового шума.
AptX, aptX LL, aptX HD, и aptX Adaptive от Qualcomm
Крупный производитель мобильных процессоров, компания Qualcomm продвигает свои собственные кодеки, встраивая их поддержку в фирменные процессоры. Кодеки отличаются пропускной способностью, и как следствие, качеством звука, которое они обеспечивают. Но в целом вся линейка AptX показывает достойное звучание, а AptX HD многие пользователи называют «золотым стандартом».
AptX предлагает битрейт лишь немногим больше стандартного SBC, но обеспечивает звучание на голову выше за счет иных алгоритмов работы, не так агрессивно «срезая» высокие частоты. Хоть такой алгоритм требует больше вычислительных мощностей, что усиливает нагрузку на процессор, современные устройства имеют достаточный запас производительности для работы со всей линейкой AptX.
AptX HD дает возможность слышать существенно меньше фонового шума и расслышать практически каждый элемент музыкальной композиции. Это достигается за счет кодирования звука либо без потерь, либо с минимальными потерями, которые связаны с ограничениями стандарта Bluetooth.
AptX LL обеспечивает минимальную задержку при передаче звука. Чтобы человеческий мозг не заметил отставания аудио от видео, необходимо, чтобы задержка при передаче аудиопотока была не более 40 мс. AptX LL с минимальной задержкой дает возможность смотреть контент и играть в игры без отставания звука.
AptX Adaptive находится между AptX HD и AptX по качеству передачи звука. При этом он приближается к AptX LL по показателю задержки — 40–80 мс. Кодек имеет переменный битрейт 279–420 кБ\с, который адаптируется под качество воспроизводимых файлов.
LDAC от Sony
LDAC. Компания Sony предложила свой кодек, чтобы не проиграть битву за меломанов. LDAC имеет три режима работы, которые позволяют передавать поток с битрейтом вплоть до 990 кбит/с. Но режим с приоритетом на качество поддерживается достаточно скромным количеством устройств. Существуют некоторые проблемы в стабильности работы в режиме с самым высоким битрейтом. А два первых режима в 660 кбит\с и 330 кбит\с по качеству не превосходят кодеки AptX.
Популярный кодек, который используется многими стриминговыми музыкальными сервисами, включая iTunes. Максимальный битрейт — 256 кбит/с. Главной задачей этого кодека было превзойти качество SBC и возможности формата MP3. За счет более сложных алгоритмов обработки, AAC действительно сохраняет больше музыкальной информации по сравнению со стандартным кодеком.
Кодек несколько отличается при работе на Android и iOS устройствах. В Андроид он получил название Fraunhofer FDK AAC, а для устройств iOS и Mac — Apple AAC.
Что такое устройство с интерфейсом пользователя (HID)?
Есть много странных терминов, связанных с использованием компьютера. Возможно, вы видели «Устройство интерфейса человека» или «HID». Звучит как что-то из научно-фантастического фильма, но что именно это означает?
«Устройство интерфейса человека» может звучать странно чуждо, но на самом деле название очень информативное. Проще говоря, HID — это стандарт для компьютерных устройств, которыми управляет человек. Стандарт позволяет легко использовать эти устройства без какого-либо дополнительного программного обеспечения или драйверов.
Стандарт упрощения принадлежностей
«Устройства интерфейса пользователя» — это стандарт, созданный для упрощения процесса установки устройств ввода. До HID существовало несколько конкретных протоколов для каждого типа устройства ввода.
Это означало, что существует протокол для мышей, протокол для клавиатур и так далее. Устройствам необходимо использовать существующие протоколы или создавать собственные драйверы. У людей было больше работы по установке и настройке устройств.
Для сравнения, HID-совместимое устройство включает «пакеты данных», которые содержат все действия устройства. Например, на клавиатуре может быть клавиша для регулировки громкости. При нажатии этой клавиши «дескриптор HID» сообщает компьютеру, где в пакетах хранится цель этого действия, и оно выполняется.
Протокол HID значительно упрощает компаниям производство широко совместимых аксессуаров. Все современные операционные системы поддерживают протокол HID. Вы можете подключить USB-клавиатуру к ПК с Windows, Mac, Chromebook или даже к планшету Android, и она сразу заработает. Это все благодаря HID.
HID и приложения
Самым большим преимуществом HID является возможность просто подключить к вашему устройству практически любое периферийное устройство, и оно сразу же начнет работать. Но это только половина магии. А как насчет того, чтобы эти аксессуары работали с приложениями?
Вы можете подключить USB-контроллер к своему ПК, и он, как правило, будет управлять игрой должным образом. Даже если контроллер был сделан после игры, он все равно работает. Разработчикам игры не нужно было ничего делать, чтобы это произошло.
Когда вы подключаете HID-устройство, оно сообщает о своих возможностях операционной системе. Операционная система интерпретирует данные и классифицирует устройство. Это позволяет приложениям и играм ориентироваться на классы устройств, а не на конкретные модели.
Это очень важный элемент HID, и мы принимаем его как должное. Игровой контроллер будет работать с вашей библиотекой Steam. Zoom узнает, что нужно включить вашу веб-камеру. Все это происходит с очень небольшой настройкой с вашей стороны.
Типы устройств интерфейса пользователя
Как упоминалось ранее, USB-периферийные устройства являются наиболее распространенными устройствами с интерфейсом пользователя, которые вы увидите, но есть и другие типы.
USB-устройства относятся к классу «USB-HID». Это включает в себя обычные вещи, такие как клавиатуры, мыши, веб-камеры, трекпады и игровые контроллеры. Другие устройства USB-HID включают термометры, аудио инструменты, медицинское оборудование, телефоны и тренажеры.
Другой распространенный тип — Bluetooth-HID. Это тот же протокол USB-HID с небольшими изменениями для Bluetooth. Как и следовало ожидать, сюда входят устройства, аналогичные USB-HID, но они подключаются через Bluetooth. Мышь Bluetooth будет работать независимо от того, подключена ли она к ПК с Windows, Mac или Chromebook.
Устройства интерфейса пользователя — одни из наиболее распространенных устройств, которые мы используем с компьютерами. Мы не очень ценим, насколько легко ими пользоваться. Было время, когда это было не так просто.
HID не только упростил использование компьютеров, но и внес свой вклад в массовый рынок аксессуаров. Существуют тысячи клавиатур, мышей, веб-камер, контроллеров и других продуктов, о несовместимости с которыми вам просто не нужно беспокоиться.
В истории компьютеров было много достижений, но стандарт Human Interface Device имел оглушительный успех.