Bluez:配对失败后无法找到蓝牙设备

Bluez:配对失败后无法找到蓝牙设备

我正在用 python 开发一个使用 bluez 和 dbus 的简单应用程序。该应用程序应与蓝牙设备(Raspberry Pi)配对。我曾经配对失败,现在我不仅无法重现错误,甚至找不到该设备了。

我做了什么:

  • 扫描所有设备(使用开始发现()实现对象的函数org.bluez.Adapter1界面)
  • 检查每个找到的设备,看它的 MAC 地址是否与我要查找的 MAC 地址匹配
  • 找到我要找的设备后,我使用它的路径创建一个代理对象(使用bus.get_object('org.bluez',设备路径)
  • 我创建org.bluez.device1此对象上的接口(dbus.接口(device_obj,'org.bluez.Device1')
  • 我将此接口的“Trusted”属性设置为 True
  • 我打电话给一对()此接口上的函数

这导致配对尝试失败 - 这种情况只发生过一次,我无法找到错误原因。此外 - 我尝试配对的 Raspberry Pi 上的蓝牙停止工作:我无法再进行广告宣传。重新启动并重新安装 bluez 并没有帮助,我不得不重新刷新 SD 卡并安装全新的操作系统,以使 RPi 上的蓝牙再次正常工作。

在应用程序方面,我可以扫描并查看所有其他 BT 设备,除了我未能配对的设备。我尝试重新启动,并在虚拟环境中重新安装我的代码。

如果我运行蓝牙扫描程序,我能够看到我正在寻找的 RPi。bluetoothctl 配对设备列表为空。我相信问题一定出在我的应用程序中。

我真的很困惑,如果能得到任何提示或建议我将非常感激。

相关内容