2013-07-15 2 views

ответ

0

Поскольку ваш вопрос не совсем ясен, поэтому я также пытаюсь предоставить все возможные протоколы для доступа к стеклу bluetooth low enery для linux.

В UHID Driver «HoG (HID over GATT/Bluetooth-Low-Energy): GATT - это протокол Bluetooth, реализованный в пользовательском пространстве. Когда пользовательское пространство открывает LE (низкоэнергетическое) соединение с устройством Bluetooth, устройство может рекламировать возможности HID через GATT ».
Как GATT сервис правильно определен в этой ссылке. Для доступа к Low-energy devices могут быть другие протоколы, кроме GATT. Таким образом осуществляется реализация HID Over GATT.

2

Bluez - это стек для Linux Bluetooth. Новая версия Bluetooth привела к изменениям в коде, но это не полная переписывание или что-то такое резкое. Новые версии Bluetooth обычно являются расширениями существующего протокола, за исключением Low Energy. Низкая энергия полностью поддерживается на уровне ядра в Linux, но для более высокого уровня взаимодействия с LE нет много удобных библиотек.

Из-за неполноты Bluez с LE мне пришлось взаимодействовать с кодом ядра напрямую, чтобы реализовать функциональность с LE. Кроме того, мне пришлось использовать старые ядра, которые не поддерживаются Bluez 5.x и должны были использовать Bluez 4.x.

1

Уже Tim и jhonnash предоставили исчерпывающую информацию на ваш вопрос. Однако я хотел бы добавить еще одну информацию с точки зрения Android Mobile.

Новая версия Android использует Bluedroid как стек Bluetooth. Это сильно отличается от Bluez.

Bluez имеет функциональность, распространяемую как в пространстве пользователя, так и в пространстве ядра. Все протоколы, такие как RFCOMM, HCI и L2CAP, реализованы на уровне ядра, а профили реализованы в пространстве пользователя. Как отметил Тим, для поддержки Low Energy Bluez должен обеспечивать поддержку как на уровне ядра, так и на пространстве пользователя. Это несколько раз сложно отслеживать и понимать. Любые новые изменения могут требуют модификации в ядре, а также в коде пространства пользователя.

С другой стороны, у Bluedroid есть преимущество перед Bluez. Bluedroid реализовал свою полную функциональность в пользовательском пространстве. В связи с этим любая новая функциональность должна быть добавлена ​​только в код уровня пользователя. Никакой зависимости от кода ядра.

Кроме того, чтобы ответить на ваш вопрос «Есть ли новый код стека Bluetooth для каждой новой версии Bluetooth?» Для новой версии Bluetooth не требуется полная переписывание, так как новые версии Bluetooth - , совместимые с обратной связью, поэтому только новая часть кода добавляется в уже существующий стек, который является новым.

С уважением