Linux 3.12.5 ARMシステムにUSB Bluetoothアダプタがあります。 Android携帯でLinuxのUSBアダプタでBluetoothシリアル接続を確立しようとしました。私はすでに言及しましたこの問題私が試した他のソースから。どんな提案でもいいでしょう。
以下でペアリングできました。
bluetooth-agent 0000 &
それから私の携帯電話を通してペアリングされました。次に、次のようにデバイスにシリアルポートを作成します。
sudo mknod -m 666 /dev/rfcomm0 c 216 0
sudo sdptool add --channel=22 SP
sudo rfcomm listen /dev/rfcomm 22
その後、電話機でBlueTermを使用してシリアルポートに接続しようとしました。ただし、すぐに接続が切断されます。 Linux側では、端末に次のものが表示されます。
Waiting for connection on channel 22
Authorizing request for /org/bluez/317/hci0/dev_xx_xx_xx_xx_00_46
電話が切れないようですが、正確に何が起こっているのでしょうか?
答え1
次のステップは私にとって効果的でした。
まず、デバイスをペアリングする必要があります。ペアリングは比較的簡単です。クライアント(会話開始)とサーバー(応答)に電話します。
まずサーバーを設定する必要があります。サーバー側(root):
sdptool add --channel=3 SP
mknod -m 666 /dev/rfcomm0 c 216 0
rfcomm watch /dev/rfcomm0 3 /sbin/agetty rfcomm0 115200 linux
クライアント(ルートとして):
sdptool add --channel=3 SP
rfcomm connect /dev/rfcomm0 [SERVER_ADDR] 3
次に、クライアントでシリアル端末を開きます。
screen /dev/rfcomm0 115200
コメント:
rfcomm connect
クライアントで最後のコマンドを呼び出すと、デバイスが作成されて/dev/rfcomm0
サーバーに接続されます/dev/recomm0
。これは、2つの間のシリアルリンクを表します。
最後のサーバーコマンドは次rfcomm watch
のとおりです。 ...着信接続を「受信」します。このコマンドは、接続が切断されると新しい「受信」ステータスを再開します。