首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用DBUS-Python监控Bluez BLE连接

使用DBUS-Python监控Bluez BLE连接
EN

Stack Overflow用户
提问于 2020-07-17 21:51:59
回答 1查看 793关注 0票数 0

通过遵循Bluez Examples中的"example_advertisement“和"example-gatt-server”,我能够宣传BLE并设置关贸总协定的服务和特征。使用类似的Python DBUS绑定,我如何从DBUS知道BLE客户端何时连接以及何时断开?我应该查看哪个DBUS API?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-18 01:28:40

您还可以查看另一个示例:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/test-discovery

当BlueZ/DBus获知有新的远程设备时,就会发送InterfacesAdded信号。当远程设备从断开连接变为已连接时。然后这是设备上的属性更改,并发送PropertiesChanged信号。这就是为什么在上面的示例中有代码,他们使用add_signal_receiver为两个信号添加回调。

代码语言:javascript
复制
    bus.add_signal_receiver(interfaces_added,
            dbus_interface = "org.freedesktop.DBus.ObjectManager",
            signal_name = "InterfacesAdded")

    bus.add_signal_receiver(properties_changed,
            dbus_interface = "org.freedesktop.DBus.Properties",
            signal_name = "PropertiesChanged",
            arg0 = "org.bluez.Device1",
            path_keyword = "path")

顺便说一句,Buez示例中使用的DBus绑定并不是唯一可用的:https://www.freedesktop.org/wiki/Software/DBusBindings/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62955442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档