如何从python获取蓝牙扫描信息? RPi3
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从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.....
我看到PyBluez可以提供帮助,但似乎它只会在scan on
中给我提供可用BLE设备的名称和信息。你知道另一种可以提供帮助的工具吗?谢谢!
答案
我不熟悉PyBluez,但如果你只想存储bluetoothctl
输出,你可以使用像这样的Python 3 check_output函数。
from subprocess import check_output
ouput = check_output(['bluetoothctl'])
然后,您可以按照自己的方式解析和使用它。
以上是关于如何从python获取蓝牙扫描信息? RPi3的主要内容,如果未能解决你的问题,请参考以下文章
在运行 Windows IoT 的 RPi3 上以编程方式接受入站蓝牙配对请求
如何在 iOS 中使用 Core Bluetooth 获取蓝牙设备的唯一 ID