Разрешение устройству микроконтроллера подключаться к экземпляру Citrix XenDesktop
437
Baptiste Higgs
Чего мы пытаемся достичь
Мы хотим подключить микроконтроллер 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-устройств.
Любые предложения будут очень признательны!
Попробуйте эти [Драйверы Windows для Adafruit] (https://github.com/adafruit/Adafruit_Windows_Drivers). Вы также можете попробовать эту [процедуру CSD Code.org] (https://learn.adafruit.com/adafruit-circuit-playground-express/code-org-csd).
harrymc 6 лет назад
3
1 ответ на вопрос
2
AidenRay
Учитывая, что вы попробовали правильные драйверы и они не отображаются в среде Citrix на не тонких клиентах, похоже, это проблема политики. При поиске устройства, которое вы пытаетесь использовать, я вижу, что оно выглядит как дисковод и при условии, что вы используете устройство, как и другие микроконтроллеры, вы, вероятно, отправляете данные через последовательный порт (COM-порт в Windows).
В Citrix существует множество политик перенаправления устройств, и вам следует попробовать перенаправление COM-портов и поддерживать политику перенаправления устройств USB.
Как отметил @harrymc в комментариях, вы также можете попробовать обновленные драйверы .