8

我正在尝试创建一些脚本来在嵌入式 Arch linux 平台上发现和配对蓝牙设备,但似乎无法获得对 dbus-send 命令的任何回复。

错误消息几乎总是相同的(方法不存在),但是发送的语法似乎是正确的。

我已经在这里搜索并搜索了正确的语法和错误,但找不到任何解决方案。

[root@alarmpi ~]# dbus-send --system --dest=org.bluez --print-reply / org.bluez.Manager.GetProperties
Error org.freedesktop.DBus.Error.UnknownMethod: Method "GetProperties" with signature "" on interface "org.bluez.Manager" doesn't exist


[root@alarmpi ~]# dbus-send --system --print-reply --dest=org.bluez /org/bluez/134/hci0 org.bluez.Adapter.GetProperties
Error org.freedesktop.DBus.Error.UnknownObject: Method "GetProperties" with signature "" on interface "org.bluez.Adapter" doesn't exist

Bluez 已安装,我可以使用 hcitool 和 bluetoothctl 实用程序手动发现和配对设备,但是该方法不适用于最终用户,我需要为他们创建一个 Web 界面来执行发现和配对。

似乎 dbus 是执行此操作的首选方法,因为 bluetoothctl 不接受命令行参数来允许它配对设备地址。

任何帮助/建议将不胜感激。

4

1 回答 1

4
  1. 验证是否bluetoothd正在运行,
  2. 安装一个名为d-feetD-Bus 调试器的程序,并查看org.bluez系统总线选项卡上是否存在该程序,
  3. 如果导航到目标对象、接口和方法,分别是“ /”、“org.bluez.Manager”和“ GetProperties”,
  4. 双击方法名称 ( GetProperties) 并单击不带任何参数的执行
  5. 输出应该是这样{u'Adapters': ['/org/bluez/709/hci0']}的,如果不是 - 你的蓝牙有问题,

顺便提一句。你的命令是正确的。

于 2014-01-17T10:49:59.003 回答