问题描述
我能够使用 bleak 并从所有 5 个 BLE 传感器中获取数据。但问题是我无法确定哪些数据来自哪个设备。我的意思是我需要一个表示设备地址的字符串以及数据本身。
解决方法
我能够在 Windows 和 raspberry pi 中使用 bleak 同时从所有 BLE 模块获取数据。
Windows 的唯一问题是,如果您使用蓝牙 4.2 适配器及更高版本。高速数据速率和适当的设备连接处理会更好。和 4.0 的适配器一样,每次启动脚本我都会经历一两个异常,我得到的最大连接数是 3。
当我在 Raspberry pi 3b+ 上尝试这个脚本时,它有蓝牙 4.2 的板载芯片。它能够提供高速数据速率,我的 5 个传感器同时连接到它。
此外,Github 上黯淡源代码中的 two_devices 示例是开始进一步编码的非常好的示例。
如果您运行脚本并在控制台上找到数据,但您无法从设备中获取数据。然后你需要使用functools,(它的作用是注入你当前连接的客户端,带有回调函数,它会让工作变得更容易)。
在 Github 上查看:https://github.com/hbldh/bleak/issues/601