問題タブ [usb4java]
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 - エラー メッセージ Exception in thread "main" java.lang.NoClassDefFoundError: org/usb4java/Loader の解決方法
usb4java を使用しようとしていますが、実行するとエラーが発生します。それは問題なくコンパイルされ、クラスパスを調べたところ、以下に示すようにusb4java jarが含まれているようです。
私は現在、usb4java-javax-1.2.0( http://usb4java.org/ )を使用して、Java 8を実行しているWindows 7を使用しています。そして、次のエラーが発生します。これを乗り越える方法についてのアイデアはありますか?
私の Java コードは次のようになり、usb4java サイトからコピーされます。
java - UsbInterface 要求が失敗する
問題があります: Windows 8 ラップトップで usb4java を使用しています。USBポートに赤外線リモコンを差し込んでいます。次に、このコントローラーにアクセスしたいと思います。次のコード例を取得しました (コードが機能するかどうかを確認したいだけなので、プログラムされた例外はなく、NullPointers は処理されません)。
}
したがって、ポートが見つかりますが、「inter.claim()」を呼び出すと、次の例外が発生します。
Java Result: 1 BUILD SUCCESSFUL (合計時間: 0 秒)
Zadig 経由で WinUSB (v6.1.7600.16385) ドライバーをインストールしましたが、まだこのエラーが発生します。いつも助けてくれてありがとう:)
java - Java: USB 大容量記憶装置の情報を取得する
Windows上のJavaでUSBデバイスのシリアルのようなUSBマスストレージ情報を取得する可能性はありますか?
私は USB4Java (低レベルおよび高レベル API) でそれを達成しようとしましたが、うまくいきましたが、問題は、Java アプリからの情報にアクセスするためにカスタマイズされたドライバーをインストールする必要があることです ( http:/の FAQ で説明されています)。 /usb4java.org/ )。その特別なドライバー (Zadig で作成) がインストールされると、Windows エクスプローラー (Java アプリからのみ) からデバイスにアクセスできなくなります。
新しい USB デバイスがいつ接続されたかを検出し、接続されている場合は、デバイスのシリアル番号、デバイス名、割り当てられたドライブ文字などの情報を取得したいと考えています。
そのアプリは他のユーザーが使用する必要があり、デバイスごとにカスタマイズされたドライバーを作成するように強制することはできませんでした...それを実現する方法のヒントはありますか?
ありがとう。
編集: Java 組み込みメソッドを使用して、接続されたデバイスの USB ポートを取得することは可能ですか? 私は sth を試しましFileSystemView.getFileSystemView().getSystemDisplayName()
たが、そのようなオプションはありません。ベンダー ID または sth を取得する別の可能性はありますか。ジャバに似てる?
または、USB4Java でドライブレターを取得することはできますか?
ありがとう。
java - インターフェイスを要求できません: リソースがビジーです
私は USB4Java (低レベル バージョン) を使用しており、基本的にこのコードhereから作業しています。私は Ubuntu で作業しており、アクセス許可に関する問題が発生していましたが、端末から gksu を使用して Eclipse を実行することで解決できました。
今、私は新しい問題を抱えています: ここのコードの要点に到達すると:
「リソースがビジーです」という例外が発生します。
私は以前にUbuntuを使用したことがあります(ただし、開発には使用したことがないため、これは初めてです)。ここでこの質問を処理する必要がある場合は、どこで処理すればよいか教えてください。答えを得ることができます。
具体的には、これが何を意味し、どのように解決できるかという問題です。私の目標は、この場合、これはカスタム USB デバイスであり、低レベルのクロスプラットフォーム... Java ベースの... "ドライバー" (その用語を大まかに使用) を作成することです。terminal lsusb コマンドが問題のデバイスに関する十分な量の情報を提供するため、現在Ubuntuで作業しています。
java - Linux、Java、USB
この質問のフォローアップのようなもので、次のことができました。
使用しているデバイスを見つけて、カーネルから切断し、(単一の) インターフェイスを要求します。. . それは私が得ることができる限りです。
デバイス (独自の設計ではなく、カスタム ワイヤレス トランシーバー) に書き込もうとすると、次のようになります (エンドポイント 0x00 で LibUsb.bulkTransfer を使用する場合):
入力/出力エラー、および (エンドポイント 0x81 で LibUsb.bulkTransfer を使用する場合):
タイムアウト エラー。
私は自分がここで何をしているのかまったくわからないと確信しています (これは私の立場を助けません)。私がやったのは.Netとの相互運用性です)。
私は lsusb コマンドを見て、それを実行して... たくさんのものを手に入れました。そのうちのいくつかは認識できますが、ほとんどの場合、私はちょっと迷っていて、誰かが私の手を握ってくれることを望んでいました。私が何をする必要があるかを理解するのに役立つかもしれない、一種の... USB for Dummies ガイドを教えてください。
最終結果は (理想的には)、エンドユーザーに代わって何の操作もせずにデバイスとのクロスプラットフォーム通信を可能にする Java パッケージになります (クロスプラットフォームとは、Windows、Linux、および Mac を意味します。これが理由です)。私は java4usb Java ライブラリを使用しています)。
私が今いるところは、lsusb コマンドからの出力を使用して、トランシーバーから通信相手の外部デバイスにコマンドを送信できることを望んでいます。(基本的には、LED に接続されたデバイスにコマンドを送信して、LED をオン/オフしたり、点滅させたりすることができます。また、そのデバイスからコマンドを受信してそれに応じて応答することもできますが、赤ちゃんのステップです)。
ここで見つけることができる lsusb の出力(非常に冗長であり、必要以上に質問をあふれさせたくありませんでした)。どんな助けや指示も非常に高く評価されます。
編集: もう少し調査すると、(lsusb 出力から) 0x81 エンドポイントが割り込みタイプであることがわかります。2 と 2 をまとめると、バルク転送でもコントロール転送でもなく、割り込み転送が必要であるという結論に至りました。
残念ながら、まだタイムアウト エラーが発生します。
編集:さらに情報が必要です:
usb4java.LibUsb controlTransfer メソッドを使用する必要がある同期制御 (必要な作業の半分には問題ありません) が提案されていますが、これは問題ありませんが、入力する必要のあるパラメーターがいくつかあり、わかりませんそれらが満たされる必要があるのは何ですか:
これらのフィールドに入力する必要があるものへの回答へのすべての指示は、大きな助けとなり、非常に高く評価されます。
java - Linuxで接続されているデバイスに関する情報を取得するための「USB4JAVA.jar」の使用
Linux OS に接続されている USB の情報を取得する方法について Google で調べたところ、USB4JAVA が同じことを行うのに非常に役立つことがわかりました。以下のようなサンプルコードを見つけました。実行した後、「java.lang.ExceptionInInitializerError」の例外が発生しました。
私が使用したコード:
私が得た例外: