Linuxを実行しているARM組み込みデバイスでBluetoothサービスをセットアップするのに数日間苦労しています。USB経由で接続されたBluetoothドングルを使用しています。
最初から始めましょう。必要なすべてのパッケージを自分でコンパイルする必要がありました。つまり、expat、dbus、zlib、libffi、glib、bluez-3.36-libs、および bluez-3.36-utils (ええ、3.36、古いことはわかっていますが、私の cross-コンパイラ)、libopenobex-1.3、obexd-0.3、obexftp。次に、バイナリとライブラリをデバイスに配置します。また、Bluetooth はカーネルで有効になっています。
hciconfig hci0 up
コマンドを使用して Bluetooth をアクティブにすることhcitool scan
ができます。
私が望むのは、そのARMデバイスと別のBluetoothデバイスの間でftpプロトコルを使用してファイルを転送できるようにすることです。ここで問題が始まります。
必要なツールはこれらだけですか?
デバイスにすべてを配置した後、 を使用して bluetooth をオンにし
hciconfig hci0 up
、 を使用して dbus デーモンを開始し、その後でdbus-launch
obexd を開始しようとします。を実行するdbus-launch
と、DBUS_SESSION_BUS_ADDRESS の値といくつかの pid が出力され、次に obexd を起動しようとすると、DBUS_SESSION_BUS_ADDRESS を設定するように求められます。これはテスト目的でのみ設定する必要があると読んだので、これは正常ですか? デフォルトの (実際の) dbus セッション バス アドレスは何ですか? dbus を適切に構成するにはどうすればよいですか?問題は、2 つの Bluetooth デバイスが認証しようとしているときのペアリング プロセスにあると考える傾向があります。これが私が持っているすべて(GUIなし)であるため、コマンドラインからこれを行うにはどうすればよいですか?
私の目標を達成するための詳細な手順を教えてください。私はインターネットからそれらについてもっと学ぼうとしました。また、これらの手順をオンラインで見つけようとしましたが、必要なものを見つけることができませんでした.
obexd、obexd-client、obexd-server、obex-data-server、obexftpの違いを教えてください。それらは一緒に使用するためのものですか、それとも同じ機能を提供しますか? 彼らのマニュアルページからこれを明確にすることはできませんでした。
これは非常に長い投稿であり、多くの質問があることは承知していますが、私は Bluetooth の経験がなく、これを解決するために時間のプレッシャーにさらされています。どんな助けでも親切にいただければ幸いです。