我想将bluetoothctl
与Python一起使用,以获取有关通过scan on
扫描的所有内容的信息,但我无法获得正确的代码来完成。他们只是显示一个带有可以找到的设备的名称和地址的列表。
我目前正在使用sudo bluetoothctl
的Bluez 5.47,并且当我在终端窗口中用于BLE设备的scan on
时,我要从传感器中获取数据,我想将此输出保存在Python中,我该如何在Python中执行此操作?<<<<<<
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:47:AE:DD Discovering: yes
[CHG] Device 04:B3:EC:00:1E:65 RSSI: -76
[CHG] Device 04:B3:EC:00:1E:65 UUIDs: 0000fbb0-0000-1000-8000-00805f9b34fb
[CHG] Device 04:B3:EC:00:1E:65 ManufacturerData Key: 0x00ac
[CHG] Device 04:B3:EC:00:1E:65 ManufacturerData Value:
b2 00 52 01 12 17 0c 15 0e 65 1e 00 ec b3 04 ..R......e.....
[CHG] Device 04:B3:EC:00:1E:65 AdvertisingFlags:
06 .
[CHG] Device 04:B3:EC:00:1E:65 ManufacturerData Key: 0x00ac
[CHG] Device 04:B3:EC:00:1E:65 ManufacturerData Value:
b2 2e 52 01 12 45 0c 15 0e 65 1e 00 ec b3 04 ..R..E...e.....
我看到毕色杂志可以提供帮助,但是看来它只会给我scan on
期间可用BLE设备的名称和信息。您知道另一个可以提供帮助的工具吗?谢谢!
我不熟悉pybluez,但是如果您只想存储bluetoothctl
输出,则可以使用Python 3 check_output函数。
from subprocess import check_output
ouput = check_output(['bluetoothctl'])
然后您可以按照自己的方式解析并使用它。