如何在pybluez中访问蓝牙低级功能?

是否有pybluez包装函数用于较低级别的bt功能?我在文档中找不到任何内容.我需要使用的是以下功能:

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

有没有办法从pybluez(或实际上任何其他包装和/或脚本语言)访问它?

解决方法:

获得完全相同功能的简单方法是让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套接字以手动形成命令包和解析结果.您只需要自定义要使用的命令.

上一篇:JavaScript弹出框


下一篇:java – Android蓝牙 – 检测设备断开连接