Чего мы пытаемся достичь
Мы хотим подключить микроконтроллер Adafruit Circuit Playground Express (CPX) к USB-портам тонкого клиента и передавать данные в среду виртуальной машины, которая будет считываться приложением и отправляться на сервер для сбора данных. Это должно быть сделано на всех компьютерах в нашем офисе.
Окружающая среда
Текущая среда:
Dell Wyse серии 5060 под управлением ThinOS
Citrix XenDesktop: Windows 7
Будущая среда:
Dell Wyse серии 5060 под управлением ThinOS
Citrix XenDesktop: Windows 10
Решение в текущей среде было бы предпочтительнее, хотя, если это невозможно, а решение для Windows 10 есть, мы будем рады его услышать.
Adafruit CPX работает под управлением CircuitPython, а приложение, к которому мы хотим подключиться, создано с использованием Electron.
Тип информации, которую мы хотим отправить, - это (псевдо) прямой поток сенсорной информации, получаемой CPX, а также случайные инструктивные сообщения из приложения Electron в CPX.
Эта проблема
При подключении CPX к тонкому клиенту Windows 7 не регистрирует его как подключенный. Однако при входе в ThinOS устройство регистрируется как подключенное (VID/PID и имя), что наводит нас на мысль, что соединение не проходит через экземпляр XenDesktop. Это также, кажется, зависит от устройства, так как обычные USB-накопители подключаются нормально.
Что мы уже пробовали
Мы попытались подключить некоторые другие микроконтроллерные устройства с другой инфраструктурой, чтобы посмотреть, будут ли они подключаться - и они это сделали, так что, похоже, это зависит от конкретной инфраструктуры. Устройства, которые мы попробовали, приведены ниже.
Успешное подключение к COM-порту Win7
Arduino Nano (драйверы FTDI) - ESP32 - (CP2102 USB для драйвера UART)
ATtiny85 - Неожиданный тип соединения («Другие устройства», ожидаемый COM-порт)
Ардуино Леонардо
Нет соединения с Win7, ThinOS успешно:
Adafruit Feather M0
Adafruit Circuit Playground Express
Все устройства были на 10 бит отличными от микроконтроллеров Adafruit, которые были 32-битными.
Мы добавили политику перенаправления USB-устройств для устройств на стороне Citrix, но она ничего не изменила.
ThinOS способен видеть VendorID (VID) и ProductID (PID) всех устройств, которые мы подключаем, и, по-видимому, пропускает их. При включенных политиках все устройства подключаются, но для них требуются драйверы, установленные на Windows 7 (Citrix). Устройства, не относящиеся к adafruit, отображаются в диспетчере устройств как подключенные к COM-порту. Для 10-битных устройств устанавливаются стандартные драйверы, которые отображаются на COM-порте и в IDE Arduino.
Для 32-битных устройств (CPX и перо) драйверы производителя установлены (как требуется только для Windows 7), но не показывают устройства. Затем мы также попытались подключить эти устройства к другой конечной точке - ноутбуку с Windows 10, и ни у одного из них не было успешного подключения.
Похоже, это проблема с драйверами, однако мы установили правильные драйверы и включили политику перенаправления USB-устройств.
Любые предложения будут очень признательны!