我正在寻找调试来自BlueZ的信号的方法。目前我正在尝试使用框架(Iotivity)调试我遇到的问题,并且正在寻找调试代理dbus对象及其信号的方法。
问题是我有一个方法连接到特性(GATT)代理对象的g-properties-changed信号,当我从我的设备接收数据时应该触发该信号。 This是我正在讨论的代码行。我可以看到来自btmon和hcidump工具的数据,但是回调永远不会被调用。
所以主要问题是,是否有调试dbus信号和代理对象的工具。我可以用来发射信号或看到发射信号的工具吗?
以下是一些可能有用的日志。 (BlueZ,Iotivity和hcidump日志) http://pastebin.com/FWcRE3Uz
修改
我让dbus-monitor工作了。经过一些阅读后,我了解到有两种类型的总线,我必须指定我想要系统总线:dbus-monitor --system "type='signal',sender='org.bluez'"
现在的问题是找到为什么有问题的方法没有被触发,即使信号是,正如你从dbus-monitor得到的日志中看到的那样:
signal sender=:1.5 -> dest=(null destination) serial=273 path=/org/bluez/hci0/dev_C7_6A_A9_0B_DD_5F/service000c/char000f; interface=org.freedesktop.DBus.Properties; member=PropertiesChanged
string "org.bluez.GattCharacteristic1"
array [
dict entry(
string "Value"
variant array of bytes [
d8 c6 45 48 8a 23 f3 c4 9f a2 77 b3 6f 69 63 03 72 65 73 11
]
)
]
array [
]