自動的に接続するBluetoothスレーブデバイスを作成する方法

自動的に接続するBluetoothスレーブデバイスを作成する方法

私がやろうとしていることの概念は簡単です。 Linuxコンピュータは、(携帯電話の)接続を自動的に受け入れるBluetoothスレーブデバイスにすることです。全体的な目標は、モバイルアプリのデータをLinuxコンピュータのPythonに自動的に接続して転送することです。私が考えるステップは次のとおりです。

まず、hciconfigを使用してBluetoothアダプタを設定しました。

sudo hciconfig hci0 noauth
sudo hciconfig hci0 name thisdevice
sudo hciconfig hci0 lm SLAVE
sudo hciconfig hci0 lm ACCEPT
sudo hciconfig hci0 sspmode 1
sudo hciconfig hci0 reset
sudo hciconfig hci0 piscan

その後、認証にBluetoothctlを使用するBluetoothプロキシが必要です。

bluetoothctl
discoverable on
pairable on
agent NoInputNoOutput

その後、携帯電話を使用して接続する必要があります。ただし、接続するには、bluetoothctlの端末にYESと入力する必要があります。 (正しいピンであるかどうかを確認します。)これは問題であり、NoInputNoOutput設定の全体的な目的を無効にします。

その後、Pybluezおよびdiscover_service関数を使用してPythonプログラムを実行できます。その後、モバイルアプリからサービスに接続できます。

これが正しいイベントの順序ですか? Bluetoothを自動的に認証する方法は? (bluezでプロキシコードを修正しますか?)

ありがとう

ベストアンサー1

私は決してこのトピックの専門家ではありません。私は3日間同じことを試しましたが、ほとんど生き残れなかったと言いたいです。私は今放棄し、私のRaspberry Piを他のすべての未完成のプロジェクトの山に捨てました。

それでも私はこの地獄を通過した私の旅があなたに価値があると思いました。agent off新しいエージェントを登録する前に、次のように入力してください。

bluetoothctl
agent off
agent NoInputNoOutput
discoverable on
pairable on

これらのコマンドを入力している間に2番目の端末で実行すると、登録しているbtmon新しいNoInputNoOutputエージェントが表示されます。

おすすめ記事