无法得到任何对dbus-send的回复

时间:2013-08-22 03:28:31

标签: linux bash dbus bluez

我正在尝试创建一些脚本来在嵌入式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不接受命令行参数以允许它配对设备地址。

非常感谢任何帮助/建议。

1 个答案:

答案 0 :(得分:4)

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