BlueZ からの信号をデバッグする方法を探していました。現在、フレームワーク (Iotivity) で直面している問題をデバッグしようとしており、プロキシ dbus オブジェクトとそのシグナルをデバッグする方法を探していました。
問題は、デバイスからデータを受信したときに起動する必要がある特性 (GATT) プロキシ オブジェクトの g-properties-changed 信号に接続するメソッドがあることです。これは、私が話しているコード行です。btmon ツールと hcidump ツールからのデータを確認できますが、そのコールバックは呼び出されません。
したがって、主な質問は、dbus 信号とプロキシ オブジェクトをデバッグするツールがあるかどうかです。シグナルを発信したり、シグナルが発信されているのを確認するために使用できるツールはありますか?
役に立つかもしれないいくつかのログを次に示します。(BlueZ、Iotivity、hcidump ログ) http://pastebin.com/FWcRE3Uz
編集:
dbus-monitor を動作させました。さらに読んだ後、バスには2つのタイプがあり、システムバスが必要であることを指定する必要があることがわかりました。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 [
]