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

最佳答案

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接口的文档。

07-28 03:04
查看更多