DBus-monitor 监视蓝牙活动

Posted

技术标签:

【中文标题】DBus-monitor 监视蓝牙活动【英文标题】:DBus-monitor to watch bluetooth activity 【发布时间】:2017-05-24 01:35:16 【问题描述】:

我正在尝试自动读取 Bluetoothctl 的输出。因此,如果有新设备,bash 脚本会扫描输出中的某些单词,例如并回显。 ([新]设备 x:x:x:x:x)。现在我发现您可以为此使用 DBus 监控。但我不确定如何使用它。而且那里没有很多例子。也不引导。提前谢谢

【问题讨论】:

为什么-2,你们这些疯子? 【参考方案1】:

Bluetoothctl 使用 Bluez5。 Bluez5 为它提供的每个功能在 DBus 中公开接口。

如果您想以这种方式开始,请尝试了解 DBus 是什么以及如何使用它。 然后看看 Bluez 暴露了哪些 DBus 接口,以及你可以用它做什么。最后开始调用 DBus 方法,直接或使用代理!

这里是bluetoothctl源代码的链接(靠近底部找到你熟悉的命令列表)https://git.kernel.org/cgit/bluetooth/bluez.git/tree/client/main.c

Bluetoothctl 是使用 GBDus(C 中 dbus 的 GLib 绑定​​)创建的,但是您使用 python glib 绑定​​。在上面的 git 中,你还可以在 /tree/doc 中找到所有 bluez dbus 接口的文档

【讨论】:

以上是关于DBus-monitor 监视蓝牙活动的主要内容,如果未能解决你的问题,请参考以下文章

在对iBeacons进行测距和监控之后,蓝牙设备无法连接,直到重置蓝牙

有没有办法从 dbus-monitor 输出中排除某些接口/地址?

在 Gnome 中,dbus-monitor 上的啥信号表明用户正在注销?

dbus-monitor 中的'sender=:1.478' 是啥意思?

如何根据 dbus-monitor 输出中的错误确定 SELinux 规则

如何将浮点值从一个蓝牙模块发送到其他模块(HC 05)