4

私はUbuntuボックス用のBluetoothN64ジョイスティックを作成するための小さなArduinoプロジェクトに取り組んでいます。コントローラーの状態をシリアル経由で出力するためのスケッチを見つけることができました。これはうまく機能します。また、TXとRXを私が持っている小さなCSRBluetoothモジュールに送信しても問題なく動作します。

デバイスとペアリングするときは、「rfcomm bind」を使用して、devディレクトリ内のデバイスを確認する必要があります。出力を「cat」すると、すべてのデータも通過していることが示されます。

私の質問はこれです。Linuxにこのデバイスをジョイスティックとして認識させるための次のステップは何ですか。つまり、/ dev/js0です。これを達成するために何をする必要があるかを知っていれば、必要な手順を読むことができますが、現時点では、どこから始めればよいのかまったくわかりません。過去にこのようなことをしたことはありません。カーネルモジュールの作成を検討する必要がありますか?

単なる観察であっても、正しい方向への情報や突っ込みは大歓迎です。

4

1 に答える 1

2

カスタムカーネルコードを書くことは、間違いなくここに行く方法ではありません。

Linuxでプロジェクトをジョイスティックデバイスとして表示するには、BluetoothHIDプロファイルを使用してプロジェクトを提示する必要があります。これで、すべてがクライアント側で「正常に機能」するはずであり、/devにエントリが表示されます。HIDプロファイルは非常に包括的であり、ほとんどのBluetoothインターフェイスデバイス(キーボード、マウス、ゲームコントローラーなど)で使用されます。このBluetooth部分は、実際にはUSBHIDプロトコルの薄いラッパーにすぎません。

物事の音から、あなたのデバイスは現在そのプロファイルを使用してそれ自体を宣伝していません。

于 2013-03-11T21:07:08.887 に答える