2

私は、USB インターフェースを備えた感圧式マットレスを使用しています。メーカーは、Windows 用の USB デバイス ドライバーと、データを要求し、いくつかのパラメーターを設定する機能を備えた C++ で記述された API を提供します。

現在、このセンサーを使用して一部の Python データ視覚化スクリプトを直接テストすることはできません。同僚にテキスト ロガーを作成してもらい、Python を使用してオフラインでこの情報を読み取る必要がありました。

また、Linux用のドライバーがなく、センサーを「ハック」する場所がわからないため、センサーでLinuxをまったく使用できません。そのため、次のように尋ねています。

「このセンサーからデータを Python で、おそらく Linux で直接読み取ろうとすると、最初に何をすべきか、または最初に読み取るべきでしょうか?」

編集: 役立つ場合、デバイスには FTDI ドライバー (FTD2XX.dll) があります。

どんな助けでも大歓迎です

4

2 に答える 2

3

オッズはかなり高く、HID デバイスです。その場合、おそらくlibhidを使用してユーザー空間の Linux ドライバーを書き始めることができます。まず最初に、その機能に関する情報を提供するツリーを列挙します。(lsusb -vvvまたは)

Linux(および最近では他のプラットフォームも)でlibusbを使用してユーザー空間ドライバーを作成できることに失敗しました。usbsnoopまたは実際のハードウェアに相当するものを使用して、デバイスと通信しているときに公式ドライバーが何をするかを確認し、そこから模倣することをお勧めします。

Python 側からは、 SWIGを使用して既存の C++ API への適切なラッパーを比較的少ない労力で生成できる可能性があります。特に、完全にカスタムのドライバーを開発する場合と比較してそうです。

アップデート:

FTDI デバイスの場合は、操作がはるかに簡単になる可能性があります。ベンダーと製品 ID の表示内容によっては、Linux の FTDI ドライバーで自動的に動作し、USB シリアル ポートとして機能する場合があります。モジュールへのパラメーターがあることに失敗しました-vendorそしてproduct、既に知っているpid/vidの組み合わせ以外の他のデバイスを要求するために使用できると思います。そこから、さまざまな設定でシリアル ポート デバイスを開いてみることができます。運が良ければ、すでに状態情報を定期的に送信している可能性があります。

そうでない場合は、公式ソフトウェアが何を送信して再生を開始するかを試してみてください。再びスニッフィングの領域に戻ってきましたが、Windows の USB 層ではなく、シリアル層でそれを行うことがあると思います (名前は言えませんが)。また、FTDI デバイスの代わりにソフトウェアでエミュレートされたシリアル ポートをライブラリで使用するようにして、その書き込み内容を確認することで、何かを学ぶこともできます。

于 2011-08-18T18:15:55.933 に答える
1

FTDI チップには Linux ドライバーが含まれています。FTDI の Web サイトにアクセスしてダウンロードするだけです。ドライバーは、仮想シリアル ポートを作成します。PySerial を使用してそれとやり取りできます。

投稿をもっと早く見られなかったのが残念です!

于 2013-05-08T23:16:05.777 に答える