Изменение параметров сканирования bluetooth через btmgmt

Пусть ваша система запустит его, когда компьютер загрузится.

Если вы используете SysVinit, все, что вам нужно сделать, это поместить скрипт оболочки, который выполнит вашу программу в /etc/rc.d/init.d/.

1
31.01.2018, 16:41
1 ответ

Утилиты Bluez используют интерфейс ядра MGMT (, а не HCI ), и этот интерфейс прост, реализует некоторую внутреннюю логику и не может обеспечить те же функции, что и HCI (, т.е. :не может выполнять непрерывное пассивное сканирование. ).

Сканирование (обнаружение ), инициированное с использованием интерфейса ядра MGMT, работает только в течение 10 с (, определенных в модуле ядра Bluetooth ). Затем Bluez информируется об окончании сканирования, и Bluez перезапускает сканирование (немедленно, если установлены фильтры обнаружения, или через 5 секунд в противном случае )

.

Решения:

  • использовать интерфейс HCI (команда hcitool lescanработает нормально -использовать исходный код в качестве эталона или найти готовые библиотеки)
  • изменить модуль ядра Bluetooth, установить любой фильтр обнаружения с помощью Bluez (т. е. :RSSI -127 ).
0
28.01.2020, 00:40

Теги

Похожие вопросы