マイクロコントローラー Adafruit Circuit Playground Express (CPX)をシンクライアントのUSBポートに接続し、仮想マシン環境にデータをストリーミングして、アプリケーションで読み取り、サーバーに送信します。データ収集。これは、オフィス内のすべてのコンピューターで実行されます。
現在の環境:
ThinOSを実行しているDellWyse5060シリーズ
Citrix XenDesktop:Windows 7
将来の環境:
ThinOSを実行しているDellWyse5060シリーズ
Citrix XenDesktop:Windows 10
現在の環境での解決策が望ましいですが、それが不可能であり、Windows 10の解決策が可能である場合は、ぜひお聞かせください。
Adafruit CPXはCircuitPythonを実行しており、接続するアプリはElectronを使用して構築されています。
送信したい情報の種類は、CPXによって取得されたセンサー情報の(疑似)ライブストリームと、ElectronアプリからCPXへの不定期の指示メッセージです。
CPXをシンクライアントに接続すると、Windows7はCPXを接続済みとして登録しません。ただし、実際のThinOSにログインすると、デバイスは接続済みとして登録され(VID/PIDと名前)、接続がXenDesktopインスタンスに渡されていないと思われます。また、通常のストレージUSBは正常に接続されるため、デバイス固有のようです。
インフラストラクチャが異なる他のマイクロコントローラデバイスを接続して、接続できるかどうかを確認しました。接続したので、インフラストラクチャ固有のようです。私たちが試したデバイスは以下のとおりです。
成功したWin7 COMポート接続
Arduino Nano(FTDIドライバー)-ESP32 CP2102USBからUARTドライバー)
ATtiny85-予期しない接続タイプ(「その他のデバイス」、予期されるCOMポート)
Arduino Leonardo
Win7接続なし、ThinOS成功:
エイダフルーツフェザーM0
Adafruit Circuit Playground Express
32ビットのAdafruitマイクロコントローラー以外のすべてのデバイスは10ビットでした。
Citrix側のデバイスにUSBデバイスリダイレクトポリシーを追加しましたが、何も変更されていないようです。
ThinOSは、接続するすべてのデバイスのVendorID(VID)とProductID(PID)を確認でき、それらを通過しているように見えます。ポリシーを有効にすると、すべてのデバイスが接続されますが、Windows 7(Citrix)にドライバーがインストールされている必要があります。非adafruitデバイスは、COMポートに接続されているものとしてデバイスマネージャーに表示されます。 10ビットデバイスの場合、標準ドライバーがインストールされ、COMポートとarduinoIDEに表示されます。
32ビットデバイス(CPXおよびフェザー)の場合、製造元のドライバーがインストールされます(---(Windows 7でのみ必要 )が、デバイスは表示されません。次に、これらのデバイスを別のエンドポイント(Windows 10ラップトップ)に接続しようとしましたが、いずれも正常に接続できませんでした。
ドライバーの問題のようですが、正しいドライバーをインストールし、USBデバイスのリダイレクトポリシーを含めました。
どんな提案でも本当にありがたいです!
正しいドライバーを試したが、シンクライアント以外のCitrix環境にも表示されないことを考えると、ポリシーの問題のようです。
使用しようとしている デバイス を検索すると、ディスクドライブとして表示され、他のマイクロコントローラーと同じようにデバイスを使用していると仮定すると、おそらくシリアルポート(COM Windowsのポート)。
Citrixにはデバイスリダイレクトに関する多くのポリシーがありますが、試してみるべきものは COMポートリダイレクト であり、USBデバイスリダイレクトポリシーを維持します。
@harrymcがコメントで指摘したように、 更新されたドライバー を試すこともできます。