如何与Python蓝牙获取扫描信息?RPI3



我想将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'])

然后您可以按照自己的方式解析并使用它。

最新更新