一部のBLE(Bluetooth Low Energy)デバイスは、Linuxでペアリングするのが困難です。私が見つけることができるすべての情報(含む)これ質問)提案はgatttool
次のように使用する必要があります。
sudo gatttool -t random -b E7:2D:83:06:AA:AB -I
[E7:2D:83:06:AA:AB][LE]> connect
残念ながら、廃止され、gatttool
複数のLinuxディストリビューションには配布されなくなりました。
これアーチLinuxドキュメントbtgatt-client
交換する必要があると言いますgatttool
。以下を試しましたが、成功しませんでした。
$ btgatt-client -d F9:B9:1D:A5:73:F4 -t random -v
btgatt-client: Opening L2CAP LE connection on ATT channel:
src: 00:00:00:00:00:00
dest: F9:B9:1D:A5:73:F4
Connecting to device... Done
[GATT client]# att: (chan 0x5623a9b9d6e0) ATT op 0x08
[GATT client]# att: < 08 01 00 ff ff 3a 2b .....:+
[GATT client]# att: Channel 0x5623a9b9d6e0 disconnected: Software caused connection abort
[GATT client]# gatt: Primary service discovery failed. ATT ECODE: 0x00
[GATT client]# gatt: Failed to initialize gatt-client
[GATT client]# GATT discovery procedures failed - error code: 0x00
[GATT client]# Device disconnected: Software caused connection abort
残念ながら、文書が不足して進行方法がわからない。
答え1
元の質問で述べたように、bluetoothctl
ペアリングに使用する必要があります。また、btmgmt
事前にそれを使用してデバイスを正しく設定することもできます。 Linuxでデバイスをペアリングするときに一般的に従う手順は次のとおりです。
- 検索、接続、ペアリングできるようにデバイスを設定します。
sudo btmgmt power off sudo btmgmt discov on sudo btmgmt connectable on sudo btmgmt pairable on sudo btmgmt power on
- デジタルペアリングを許可するようにデバイスを設定します。
bluetoothctl --agent KeyboardDisplay
- その後、デバイスが周辺機器の場合は、リモートデバイスがペアリング要求を送信するのを待つ必要があります。
デバイスが中央デバイスの場合は、次のコマンドを使用してペアリングを開始できます。
pair 00:11:22:33:44:55
00:11:22:33:44:55
ペアリングしたいデバイスのアドレスはどこにあります(scan on
/コマンドを使用してscan off
見つけることができます)。
あなたの質問に答えるのに役立つ追加情報を含むリンクは次のとおりです。