
私は組み込みシステムで作業しており、Bluetooth デバイスをスキャンする必要があります。これを自分のプログラムで実行したいのですが、これは hci_get_route() と BlueZ devel の hci 関数のサポートを使用して実行できます。ただし、スキャンは bluetoothd の実行中にのみ機能します。バックグラウンドで bluetoothd を実行せずにこれを行う可能性はありますか?
アップデート:
harrymc さんの回答によると、bluetoothd や systemd を実行せずに Bluetooth スキャンを動作させることができました。ただし、次のカーネル モジュール (カーネル 5.19) をロードする必要がありました。
hci_uart
btusb
これらのモジュールが起動時に読み込まれている限り、これを実行するだけhciconfig hci0 up
で、Bluetooth デバイスをスキャンできるようになります。hciattach を実行する必要はありませんでした。私のラップトップは Intel Bluetooth アダプターを使用しています (lsusb はベンダー/製品を 8087:0033 として報告します)。
答え1
ポスト Bluetoothデバイスに接続するためのLinuxコマンド 適切かもしれない。
この未回答の投稿では、HCI の使用について次のように詳しく説明しています。
Bluetooth ハードウェアをセットアップするには:
sudo modprobe hci_uart
sudo modprobe btbcm
sudo hciattach /dev/ttyAMA0 bcm43xx 921600 noflow -
デバイスをスキャンするには:
sudo hcitool scan
しかし、このソフトウェアは、少なくともその投稿者の場合には、実際にはデバイスに正常に接続できませんでした。