Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
pvvx opened this issue Feb 18, 2023 · 3 comments
Open

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

pvvx opened this issue Feb 18, 2023 · 3 comments
Labels
documentation Improvements or additions to documentation

Comments

@pvvx
Copy link
Owner

pvvx commented Feb 18, 2023

Наименьшее потребление имеет формат рекламы ‘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’, если она будет выпущена и не иметь структурных сложностей для обработки в сторонних приложениях.

@pvvx pvvx added the documentation Improvements or additions to documentation label Feb 18, 2023
@pvvx pvvx pinned this issue Feb 22, 2023
@pvvx pvvx unpinned this issue Feb 22, 2023
@tido-
Copy link

tido- commented Mar 26, 2023

Bluetooth Advertising Formats (https://github.com/pvvx/ATC_MiThermometer#bluetooth-advertising-formats)

You mention one of four can be configured: Xiaomi, ATC, Custom, BTHome and encrypted options (5).

What I am not sure and I don't want to brick the device - which code do I have to put into: Send Config box, to get the bare minimum over BThome (Battery Charge, Temperature & Humidity)?

Thank you.

@pvvx
Copy link
Owner Author

pvvx commented Mar 27, 2023

The greatest dependence is associated with the scanning mode of the external adapter. If the active scanning mode is set, the consumption is maximum. This option is offered by default to users of Bluetooth integration in HA, so that all devices consume batteries faster.
The types of ad formats have less dependence...

As a result, the dependence on the receiving party is greater than on the settings in the thermometer.

@tido-
Copy link

tido- commented Mar 27, 2023

Thank you for your prompt answer.

My bad, I used Vivaldi Webbrowser which is also based on Chrome (flashing was fine), but all the Options you are mention were not visible, on re-connect.
I tried MS Edge (on another PC) and now I understand what you meant by point 3: Several configuration options appear :)

Xiaomi Mijia in Home-Assistant forum with screenshots https://community.home-assistant.io/t/home-asssistant-xiaomi-mijia-lywsd03mmc-temperature-and-humidity-sensor-tutorial-september-2022/456403

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

2 participants