bluetoothctl ターミナル経由で接続中にデバイスの属性値を読み取ることができませんでした

bluetoothctl ターミナル経由で接続中にデバイスの属性値を読み取ることができませんでした

イヤホンによって公開されるさまざまなサービスの値を読み取ろうとしていますが、試したすべての UUID で同じ結果が返されます"Failed to read: org.bluez.Error.Failed"

コマンド手動実行チェーン:

sudo ブルートゥースctl

情報

Device 6C:D3:EE:6E:B9:15 (public)
Name: Redmi Buds 4 Pro
Alias: Redmi Buds 4 Pro
Class: 0x00240404
Icon: audio-headset
Paired: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Vendor specific           (00000000-0000-0000-0099-aabbccddeeff)
UUID: Headset                   (00001108-0000-1000-8000-00805f9b34fb)
UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
UUID: Advanced Audio Distribu.. (0000110d-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
UUID: Unknown                   (0000af00-0000-1000-8000-00805f9b34fb)
UUID: Unknown                   (0000fd2d-0000-1000-8000-00805f9b34fb)
UUID: Vendor specific           (0000ff01-0000-1000-8000-00805f9b34ff)
UUID: Vendor specific           (5052494d-2dab-0341-6972-6f6861424c45)
Modalias: bluetooth:v0094p0004d0100
Battery Percentage: 0x64 (100)

メニュー ガット

属性情報

Characteristic - Model Number String
UUID: 00002a24-0000-1000-8000-00805f9b34fb
Service: /org/bluez/hci0/dev_6C_D3_EE_6E_B9_15/service0060
Flags: read

選択属性 00001200-0000-1000-8000-00805f9b34fb

読む

Attempting to read /org/bluez/hci0/dev_6C_D3_EE_6E_B9_15/service0060/char0063
Failed to read: org.bluez.Error.Failed

答え1

gdbus次のコマンドを使用して、bluez APIを使用してメソッドとプロパティをオブジェクトとして取得できました。

gdbus introspect --system --dest org.bluez --object-path /org/bluez/hci0/dev_6C_D3_EE_6E_B9_15

同様に、内部UUIDにアクセスするには、 gdbus introspect --system --dest org.bluez --object-path /org/bluez/hci0/dev_6C_D3_EE_6E_B9_15/service0060/char0063

そして、次のようにメソッドを呼び出します。 gdbus call --system --dest org.bluez --object-path /org/bluez/hci0/dev_6C_D3_EE_6E_B9_15 --method org.bluez.MediaControl1.VolumeDown

/bluez/path は bluetoothctl を使用して取得できます。

このstackOverflowの回答以前のコマンドのソースでした

まだ値を読み取ることができない

関連情報