如何从python获取蓝牙扫描信息? RPi3

问题描述 投票:0回答:1

我想使用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..... 

我看到PyBluez可以提供帮助,但似乎它只会在scan on中给我提供可用BLE设备的名称和信息。你知道另一种可以提供帮助的工具吗?谢谢!

python bluetooth raspberry-pi3 sensor
1个回答
0
投票

我不熟悉PyBluez,但如果你只想存储bluetoothctl输出,你可以使用像这样的Python 3 check_output函数。

from subprocess import check_output

ouput = check_output(['bluetoothctl'])

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

© www.soinside.com 2019 - 2024. All rights reserved.