Как получить доступ к низкоуровневым функциям Bluetooth в pybluez? - PullRequest
1 голос
/ 16 октября 2011

Существуют ли функции оболочки Pybluez для более низкого уровня функциональности bt?Я не мог найти ничего в документах.То, что мне нужно использовать, эквивалентно функциональности:

l2ping (single ping)
hcitool cc
hcitool rssi
hcitool lq
hcitool tpl
hcitool dc

Есть ли способ получить к нему доступ из pybluez (или на самом деле любого другого обертки и / или языка сценариев)?

1 Ответ

1 голос
/ 18 октября 2011

Простой способ получить точно такую ​​же функциональность - просто заставить скрипты python вызывать hcitool из командной строки.

Но для пользовательского решения вы можете использовать pybluez для отправки тех же командных пакетов HCI, которые генерируют эти другие команды.Например, hcitool rssi просто отправляет команду HCI Read RSSI на локальный адаптер BT и анализирует результат.С помощью pybluez вы можете открыть сокет HCI, создать пакеты команд и самостоятельно проанализировать результаты.Если у вас нет доступа к спецификации BT, которая определяет форматы командных пакетов, вы можете либо просмотреть исходный код hcitool, чтобы увидеть, что они отправляют, либо использовать hcidump.

Для использования hcidumpвы можете запустить hcidump в терминале, чтобы прослушивать локальный командный трафик HCI, в то время как вы используете другой терминал для выполнения других команд через hcitool.С hcidump вы сможете захватывать необработанные пакетные транзакции, которые вы можете использовать в качестве ссылки для того, что вы хотите сгенерировать из pybluez.

В этом примере http://code.google.com/p/pybluez/source/browse/trunk/examples/advanced/inquiry-with-rssi.py показано, как работать с сокетами HCI для вручнуюформирование командных пакетов и анализ результатов.Вам просто нужно настроить команды, которые вы хотите использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...