2016-03-26 154 views
0

LinuxでC++からUSBデバイスにアクセスする必要があり、USBインターフェースに全く新しいものです。私がアクセスしているデバイスにはドライバは付属していませんが、HIDデバイスとして表示されます。デバイスはマシンコントローラ(シンプルショートコマンドin/out)に似ています。マウス/キーボードのようなものではないので、HIDデバイスとして表示する必要があるかどうかはわかりません。HID USBアクセスとlibusb

私が読んだことから、私のオプションはHIDデバイスとしてアクセスするか、ブラックリストに載せてlibusbを使ってアクセスすることです。 (私が間違っていたら私を修正してください)。それはHIDアクセスが行く方法です - それ以外の場合は、デバイスのカーネルドライバを書く必要があります。

HIDアクセスが好ましいと思われます。 LinuxでHIDを使ってデバイスと通信する方法の例はありますか?これは、USB構成が1つ、読み取りエンドポイントが1つ、書き込みエンドポイントが1つのシンプルなUSBデバイスです。

答えて

2

hidapiをお勧めします。デバイスが既に動作するように設定されている場合、これはlibusbよりも良い方法です。 libusbは動作しますが、HID仕様とデバイスのプロトコルを実装する必要があります。 hidapiを使用している場合は、hidapiレイヤーの上にデバイスのプロトコルを実装するだけですみます。とにかく、hidapiもlibusbの上に実装されていることを思い出しています。

+0

私は読み取り/書き込みのエンドポイントを知っているので、HIDによって単純なデバイスと通信するサンプル(C++、理想的にはQt)がありますか? – TSG

+1

私が提供したリンクを見てください。必要なものがすべてあります。最初のページにサンプルの使用権があり、[github](https://github.com/signal11/hidapi/blob/master/hidtest)へのリンクが含まれています。 /hidtest.cpp)をすべてのソースで置き換えます。 – Preston

関連する問題