что следует учитывать, чтобы изменить стек Bluetooth для нового подхода

Я хотел бы обсудить изменение стека Bluetooth и подумать о том, какие важные факторы следует учитывать в целом. Я предложил несколько решений, связанных с IP для Bluetooth, и теперь я нахожусь на шаге, чтобы решить, какое из них больше подходит для реализации. Различные мои решения могут быть реализованы поверх GATT или как уровень адаптации поверх L2CAP или поверх Link Layer. Мои вопросы

  1. есть ли разница в энергопотреблении, если решение реализовано поверх Link layer или поверх, например, L2CAP?

  2. является ли реализация стека Bluetooth с открытым исходным кодом? Является ли прошивка LL открытым исходным кодом?

  3. что еще я должен учитывать для выбора позиций слоя?

  4. Важна ли операционная система? Зачем?


person Talia    schedule 04.05.2021    source источник
comment
В качестве примечания: если вы хотите предложить изменение спецификации Bluetooth, лучше всего присоединиться к Bluetooth SIG и рабочей группе bluetooth.com/specifications/working-groups Это те, кто меняет стандарт   -  person Michael Kotzjan    schedule 04.05.2021


Ответы (1)


Команды и события Bluetooth HCI совместимы; Только определяемые поставщиком (проприетарные) команды HCI, а события — нет. Верх слоя гиперконвергентной инфраструктуры называется Host. Нижняя часть HCI называется Controller.

Например: стек BlueZ (инициированный Qualcomm и поддерживаемый Intel) обычно присутствует в Linux. Но контроллер Bluetooth может быть от Broadcom. Они совместимы до тех пор, пока команды HCI не будут соответствовать спецификациям Bluetooth.

И L2CAP, и GATT являются уровнями выше HCI. Потребляемая мощность всегда зависит от приложения. Радиомодем и ядро ​​ЦП являются наиболее энергоемкими частями связи Bluetooth. Ядро ЦП должно переводить радио IP в спящий режим всякий раз, когда он не нужен. Должен быть Idle Thread, который отслеживает активность приложения и переводит радио в режим сна и пробуждения.

Большинство протоколов Bluetooth являются конечными автоматами и могут быть реализованы с использованием шаблона проектирования State (Event-driven).

Не передавайте накладные расходы на управление памятью приложениям; об этом должен позаботиться стек Bluetooth.

Есть несколько стеков BLE с открытым исходным кодом, упомянутых @Youssif здесь.

Я не понимаю ваш 4-й вопрос, хотя.

person Ranjith Kumar    schedule 17.05.2021