Skip to content

Имеющиеся форматы BLE рекламы. #298

@pvvx

Description

@pvvx

Наименьшее потребление имеет формат рекламы ‘ATC1441’ и ‘PVVX’, включая шифрованные варианты.
Но данные форматы не содержат возможности передачи событий. К примеру, нажатия кнопки или открытия-закрытия если установлен геркон.

‘Mijia (MiHome)’ использует большую длину рекламного сообщения и за один раз не может передавать разные данные. В итоге данные передаются по очереди, используя несколько рекламных передач. В шифрованном варианте это требует ещё дополнительного потребления для перепаковки и шифрации данных такой BLE рекламы.

Формат ‘BTHome версии 1’ не сильно оптимизирован по размеру пакета передачи, но позволяет разбирать данные в пакете рекламы любому простому чипу с BLE. ‘BTHome версии 2’ не позволяет произвести такие действия, т.к. устройству требуются постоянные обновления таблиц описателей дескрипторов данных, которые часто добавляются в интеграции ‘BTHome’.

Дальнейшее развитие BLE в IoT завязано на поддержке со стороны Linux. На сегодня новые ядра и драйверы, включая ‘Bluez’, частично исправлены и позволяют работать с форматами Bluetooth версии 4.0.
Однако полной поддержки Bluetooth 5.0, выпущенной ещё в 2016 году и реализованной во многих BT адаптерах в Linux не наблюдается. В основном, развитие BLE тормозят разнообразные утилиты и зоопарк нагромождений API. При этом имеющиеся в продаже адаптеры BT давно позволяют полноценно работать с Bluetooth 5.0+.

Для уменьшения потребления и дальности связи в датчиках BLE желательно использовать введенные после выхода стандарта Bluetooth 5.0 форматы. Но они не поддерживаются в текущих реализациях ПО на Linux. К примеру, использование Coded PHY (Long Range) и периодической рекламы позволяет увеличить дальность связи в 4 раза и значительно уменьшить потребление от батареи...

В итоге, в последующих версиях, использование вариантов рекламных форматов будет сведено к ‘BTHome версии 1’ и, или, возможно к ‘BTHome версии 3’, если она будет выпущена и не иметь структурных сложностей для обработки в сторонних приложениях.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions