我们想要实现的目标

我们想要实现的目标

我们想要实现的目标

我们希望连接一个微控制器,Adafruit Circuit Playground Express(CPX)连接到瘦客户端的 USB 端口,并将数据流传输到虚拟机环境,以供应用程序读取并发送到服务器进行数据收集。这将在我们办公室的所有计算机上完成。

环境

系统架构图

当前环境:

  • 运行 ThinOS 的 Dell Wyse 5060 系列

  • Citrix XenDesktop:Windows 7

未来环境:

  • 运行 ThinOS 的 Dell Wyse 5060 系列

  • Citrix XenDesktop:Windows 10

最好是在当前环境中找到解决方案,但如果这不可行并且可以使用 Windows 10 解决方案,我们也很乐意听到您的建议。

Adafruit CPX 正在运行 CircuitPython,而我们要连接的应用程序是使用 Electron 构建的。

我们想要发送的信息类型是 CPX 拾取的传感器信息(伪)实时流,以及 Electron App 偶尔向 CPX 发送的指导性消息。

问题

将 CPX 插入瘦客户端时,Windows 7 不会将其注册为已连接。但是,登录实际的 ThinOS 会将设备注册为已连接(VID/PID 和名称),这让我们相信连接没有进入 XenDesktop 实例。它似乎也与设备有关,因为常规存储 USB 连接正常。

我们已经尝试过的

我们尝试插入一些具有不同基础设施的其他微控制器设备,看看它们是否能连接 - 结果是它们能连接,所以这似乎是基础设施特有的。我们尝试的设备如下。

Win7 COM 端口连接成功

  • Arduino Nano(FTDI 驱动程序)- ESP32 - (CP2102 USB 转 UART 驱动程序)

  • ATtiny85 - 未预期的连接类型(“其他设备”,预期 COM 端口)

  • Arduino Leonardo

无 Win7 连接,ThinOS 成功:

  • Adafruit Feather M0

  • Adafruit Circuit Playground Express

除 Adafruit 微控制器为 32 位外,所有设备均为 10 位。

我们为 Citrix 端的设备添加了 USB 设备重定向策略,但似乎没有改变任何东西。

ThinOS 能够看到我们连接的所有设备的 VendorID (VID) 和 ProductID (PID),并似乎将它们传递出去。启用策略后,所有设备都可以连接,但需要在 Windows 7 (Citrix) 上安装驱动程序。非 adafruit 设备在设备管理器中显示为连接到 COM 端口。对于 10 位设备,安装了标准驱动程序,它们出现在 COM 端口和 arduino IDE 中。

对于 32 位设备(CPX 和 feather),安装了制造商驱动程序(仅适用于 Windows 7),但不显示设备。然后,我们还尝试将这些设备连接到另一个端点 - Windows 10 笔记本电脑,但没有一个成功连接。

这似乎是一个驱动程序问题,但是我们已经安装了正确的驱动程序并包含了 USB 设备重定向策略。

如有任何建议我将非常感谢!

答案1

鉴于您已尝试了正确的驱动程序,但它也没有出现在非瘦客户端上的 Citrix 环境中,因此这似乎是一个策略问题。
查找设备您正在尝试使用,我看到它显示为磁盘驱动器,并且假设您正在像其他微控制器一样使用该设备,您可能正在通过串行端口(Windows 上的 COM 端口)发送数据。

Citrix 中有许多设备重定向策略,您应该尝试的是COM 端口重定向,并维护您的 USB 设备重定向策略。

正如@harrymc 在评论中指出的那样,你也可以尝试更新驱动程序

相关内容