Raspberry Piに周辺のBluetoothデバイスを一覧表示する

Raspberry Piに周辺のBluetoothデバイスを一覧表示する

Raspberry Piの範囲内にあるすべてのBluetoothデバイスを継続的に一覧表示してみてください。トラフィックを監視する必要はなく、デバイスのリストだけを一覧表示するだけです。広告パケット(フレーム?)からその情報を入手できることを願っています。

Ubuntu 18.04でいくつかの実験を行いましたが、Wiresharkでこれらのパケットを見ることができましたが、システムがBluetoothデバイスを積極的に検索するまでは見えませんでした。これらの広告を受動的に受信する方法はありますか、それともシステムに継続的に広告を確認させることができますか?シェルスクリプトでトリガーできるようにしたいです。

理想的には、適切なフィルタを使用してtsharkを実行し、その存在を知らせるすべてのデバイスを含む出力を取得するシェルスクリプトがあります。何らかの理由で動作しない場合は、これを行うためのカスタムプログラムを作成します。

デバイスを検索する前にシステムがBluetoothから何も受信できない理由と、スクリプトからこのモードに入る方法があるかどうかはわかりません。そこで私はtsharkが私が必要なことをすることができるのか、それともプログラムでなければならないのかについて質問します。

これまでに見つかったすべてのBluetoothコマンドを使用すると、GUIを使用してスキャンを開始できます。より直接的に制御する方法を教えてくれる内容は見たことがありません。

ベストアンサー1

まあ、これがうまくいくような私が思いついたものです:

bluetoothctl scan on

sudo tshark -i bluetooth1 -Y "bthci_evt.le_meta_subevent == 0x2" -T fields -e bthci_evt.bd_addr -e bthci_evt.rssi

これにより、MACアドレスと信号強度を知ることができます。しかし、パイに組み込まれているBluetoothを使用すると、しばらくすると動作が停止することがわかりました。サービスを再起動してしばらく再実行できますが、毎回非常に迅速にシャットダウンします。

ちなみに、安価なUSB Bluetoothアダプタを使えば永遠に戻るようです。だから私はbluetooth0の代わりにbluetooth1をスニッフィングしています。これが良い永久的な解決策かどうかは時間が教えてくれるでしょうが、これまでは効果があるようです。

おすすめ記事