2017-09-09 15 views
0

私は開発したデバイスと通信するために新しくリリースされたWebUSB APIを使用したいと考えています。このデバイスはシリアルチップにFT230X USBを使用します。このチップのドライバはほとんどのデバイスにインストールされており、minicomを使ってスムーズに動作します。今私はブラウザを介してそれと通信しようとしたい。私はarduinoのこの例をダウンロードすることから始めた:webusb arduino。フィルタを{'vendorId':0x0403、 'productId':0x6015}に設定して、デバイスを表示します。デバイスを見つけることができますが、接続しようとするとエラーが表示されます:NotFoundError:Device unavailable。WebUSB with FT230xシリアルチップ

もっと具体的なエラーを見つける方法はありますか?別のインターフェースを設定するか、他の設定を変更する必要がありますか?私はUSBドライバを初めて使っているので、私の道を私に手伝ってもらえると助かります。私は(短)始める文書hereを読んだ。私はUbuntuを使用しています16.04

答えて

2

FT230X USB to serialチップは、Chromeが制御できるUSBインターフェイスを提供していません。これは、言及したように、このチップ用のドライバはオペレーティングシステムで利用できるからです。シリアルドライバをインストールすると、ChromeはWebUSB APIを使用してデバイスをページで使用できるようにすることはできません。

Arduinoの例では、多くのArduinoおよびArduino互換ボード上のAtmel 32u4チップをプログラムして、システムドライバによって要求されない追加のUSBインターフェイスを追加するため、Chromeで使用できます。

OSのドライバが要求しないように、デバイスのベンダIDと製品IDを変更したり、手動でドライバのバインドを解除したりすることもできます。

+0

これは意味がありますが、インターフェイスはオペレーティングシステムのCOMポートまたはttyを提供します。これに接続することは可能でしょうか、おそらく別のAPIを使用していますか?私はちょうどトピックについてのこのgithub問題、https://github.com/WICG/webusb/issues/56、興味のある人のための良い読書を見つけました。パイプラインに解決策がありますか?私はそれが多くの人々にとって大きな利益になると感じています。レスポンスありがとう! –

+0

ベンダーIDまたは商品IDの変更に関する関連情報:http://www.ftdichip.com/Support/Documents/AppNotes/AN_124_User_Guide_For_FT_PROG.pdf https://macrofab.com/blog/ft-prog-programming-ft230x/ –

+0

USB HIDデバイスにも同様の問題があります。変更できないデバイスの最適なソリューションは別のAPIですが、WebSerialは提案されていますが、ブラウザベンダーは実装していません。別の方法として、WebUSBを実装してシリアルおよびHID要求を展開し、OSのシリアルまたはHIDドライバに送信して、要求がどのレイヤで行われても問題なく動作するようにする方法があります。別の問題についてコメントしたところ、これは面倒なハックだと思う:https://github.com/WICG/webusb/issues/29#issuecomment-273364614 –