問題タブ [hidapi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - hid4java HidServices.getHidDevice( ... ) は NULL を返します
私はhid4java Mavenプロジェクトを構築し、ライブラリをクラスライブラリに入れることに成功しました。
これは、私が使用しているデバイスを開こうとして使用しているコードです:
これはWindows 10で発生しています(検索により、Windows 10が問題である可能性があることが明らかになりました:https://github.com/signal11/hidapi/issues/231)、Netbeansで32ビットJVMを実行しています...
ここで何か間違ったことをしていますか?これを解決する方法はありますか?シンプルな HID デバイスに使用できる hid4java の代替手段はありますか?
python - Python PyUSB HID 機能レポート
Mac OSX 10.10.5 から python hidapi を使用して USB HID デバイスにアクセスしています。
HID 機能レポートは問題なくうまく機能します。ただし、このコードを PyUSB に移植し、同じことを (RaspberryPi 上で) 試みています。
しかし、ルート権限で実行すると、壊れたパイプが発生します。Hidapi の send_feature_report で使用したパラメーターを、PyUSB の ctrl_transfer から実際に使用する方法にマップする方法はあまり明確ではありません。
このマッピングをどのように行うべきかについての助けはありますか?
ありがとう !!!
linux - Linux で HIDAPI を介して USB デバイスから読み取ると、データが欠落することがある
現在、USB デバイスを使用するコードを Windows から Linux に移植しています。
元のアプリケーションを徹底的にテストしましたが、デバイスが正常に動作することを確信しています。hidapi-libusb を使用して Linux に USB インターフェイスを実装しましたが、デバイスから返されたデータが少なくとも 1 バイト欠落している場合があります。
それが発生すると、返されるすべての値にそれだけのデータが欠落します。USBデバイスにデータを正しく読み取らせるために、多かれ少なかれUSBデバイスを切断して再接続する必要があります。最初のバイトが 00 として返されることがあり、Linux がそれを無視するのではないかと考え始めています。通常、連続した読み取りで発生します。
例: get register state を送信し、USB 読み取りに使用できるデータが 10 個あることを期待しています。バイト 5 はデータの番号です。
期待される:
00 00 01 02 00 08 42 (データ 8)
00 00 01 02 00 09 42 (データ9)
実際:
00 00 01 02 00 08 42 (データ 8)
00 00 02 00 09 42 ab (データ 9)
データ 9 のパケット番号が 1 バイト欠落しているため、間違っています。hidapi-hidraw に変更してみましたが、発生する頻度が大幅に減りました。デバイス (/dev/hidraw0) の hidraw の 16 進ダンプを確認しましたが、アプリケーションで取得しているデータと一致しています。メモリ リーク検出ツールを使用してみましたが、リークや破損は検出されませんでした。
これは Linux の問題 (3.2.0-4-amd64) ですか、それともデバイスの問題ですか?
私のアプリケーションの擬似コードは次のとおりです。
HIDAPI およびデバイス関連の初期化
HIDAPI を使用してデバイスに接続する
USB コマンドの書き込み
USB コマンドの読み取り (書き込みで複数のデータが必要な場合は複数回実行)
データを解析する
すべてのコマンドが実行されるまで、3 と 4 を繰り返します。
メモリを解放し、HIDAPI を閉じます。
私が試したこと:
読み取りと書き込みの間に遅延がないことを確認する
書き込み前に読み取りデータのフラッシュを追加します (場合によっては漂遊データをキャッチします)。
読み取りデータのフラッシュに非常に長いタイムアウト (5 秒) を追加すると、大きなコストで問題が大幅に軽減されます。
python - OSX で hidapi/hid との接続を開こうとすると「ValueError: not open」が発生する
OSX El Capitanでhid/hidapi(エラーはどちらでも同じ)接続を開くためにpythonを使用しています。ただし、次のエラースタックトレースが表示されます。
私はこれについて何も見つけることができず、通常はOSXやPythonを使用しないので、少し途方に暮れています
usb - ヒューマン インターフェイス デバイス共有 [HIDAPI]
HIDAPIを使用して通信しようとしているヒューマン インターフェイス デバイス (HID) があり、別のプログラムがそのデバイスのハンドルを持っている場合、それと通信するのに苦労しています。つまり、デバイス ベンダーの開発ソフトウェアです。
問題のデバイスは、HID として動作する RFID リーダーです (RFID 製品を製造する HID Corporation と混同しないでください)。
hid_open()
ベンダーのソフトウェアが開いている場合にのみ、HIDAPI からの呼び出し時にデバイスのハンドルを取得できません。それ以外の場合、デバイスとの通信に明らかな問題はありません。通常、デバイスは一度に 1 つのプログラムでしか開くことができないと思います。ただし、キーボードとマウスも HID (常に複数のプログラム間で共有される) と見なされることを考えると、自分のソフトウェアとベンダーのソフトウェアの両方からリーダーにアクセスできるはずだと思います。
私は HID についても USB についても一般的にはよく知らないので、これは少し初歩的な質問だと思いますが、将来誰かがこれを役に立つと思うと確信しています。
python - Python hidapi を使用して複数の用途でデバイスを開く
以前に基づいたCバージョンを使用したことがありますが、Python hidapiは初めてです。Python ライブラリは非常に異なっており、提供されている 1 つの例からその使用方法を理解することはできません。このライブラリの適切なドキュメントを知っている人はいますか?
特定の質問をお探しの場合は、複数の用途がある HID デバイスを開こうとしています。私のデバイスには、次の関連する特性があります。
hid_enumerate を使用して必要なディクショナリを選択しようとしましたが、デバイス オブジェクトをインスタンス化した後、そこにあることがわかっていてもデバイスが開きません (enumerate にリストされているため)。
qt - HIDAPI hid_open_path() 使用するパスを決定する方法
- HIDAPI+Qt5.4+ubuntu14.04LTS + バーコードスキャンガン
ここから HIDAPI を使用します https://github.com/signal11/hidapi
これは HIDAPI API http://www.signal11.us/oss/hidapi/hidapi/doxygen/html/group__API.html#ga1e87518670f88540c920dc451df608eeです。
質問 1: バーコード スキャン ガンの VID と PID で hid_open() メソッドを使用できますが、この方法ではアプリケーションで他のバーコード スキャン ガンを使用できません。また、hid_open_path() メソッドを見つけましたが、/dev/hidraw0 ? または /dev/hidraw1? のどちらのパスを使用するかを判断できません。または別のPCで変更されますか?
質問 2: 読み取り許可です。バーコード スキャニング ガンを PC に接続すると、読み取りと書き込みができません。私の解決策は、udev を使用して、VID と PID を使用する独自のルールを定義することです。本当にうまくいきました。ただし、バーコード スキャニング ガンでは機能しません。