基本的にBluetoothデバイスのシリアルインターフェースを使いたいです。私の具体的な例ではメッシュタスティックマトリックスリレーシリアル/ブルートゥースを介してRAK4631(NRF52ベース)デバイスに接続します。アプリケーションには/dev/ttyUSB0
USBシリアル接続などのシリアルインターフェイスが必要です。
私が調査したところ、過去にはデバイスをデバイスにペアリングし、コマンドを使用してbluetoothctl
他のアプリケーションへのシリアルインタフェースとして使用する方法で動作していました。この方法は、これまでカーネル 5.10.0-23-amd64 と bluez 5.55-3.1 を使用している Debian11/bullseye で動作します。rfcomm bind 0 00:11:22:33:44:55 1
/dev/rfcomm0
しかし:どのアプリケーションでもこのインターフェイスを使用できません/dev/rfcomm0
。
次のヒント/提案を試しましたが、まだアプリが機能しません/dev/rfcomm0
。
- RFCOMM ソケットを接続できません。ホストがダウンしました。
- bluetoothctl writeコマンドを使用してシリアルデータを送信できますか?
- 生のシリアル端末をBluetooth接続に接続するには?
- Bluetooth RFCOMMが機能しなくなりました。
- Bluetoothによるシリアル接続 - Raspberry Pi Project
- Raspberry Pi 3のBluetooth einrichten(パート2)(ドイツ語)
- RASPBERRY PIでBLEデバイスを使用する
- Linuxでシリアル通信用のBluetoothデバイスを設定する
最後の参照リンクでは、sdptool
これを使用してペアリングされたBluetoothデバイスをナビゲートすることはできません(何らかの理由でそうでない場合はrfcommチャンネルに注意してください1
)。例:
# sdptool browse F4:46:DC:C5:A2:12
Failed to connect to SDP server on F4:46:DC:C5:A2:12: Host is down
他のフォーラムのいくつかの古いスレッドでは、人々はこれを使用することを提案しましたが、bluetoothd --compat
それも役に立ちませんでした。
一部の人は、rfcomm(他のBluetoothユーティリティの隣にある)はもう使用されていないと言っていますが、それについての証拠、代替案、現在何をすべきかについての説明も見つかりません。
(明らかに、スマートフォンのmeshtasticアプリを介してBluetooth経由で完全に使用できるため、Bluetoothデバイスにはまったく問題ありません。)