Как найти функции, которые вы используете для взаимодействия с USB-устройством - PullRequest
0 голосов
/ 25 января 2019

Отказ от ответственности: я очень плохо знаком с доступом к USB-устройствам из Интернета.

Читая этот документ , я успешно подключился к устройству.На моей странице есть кнопка, кнопка вызывает окно для подключения к устройству, затем она может выбрать конфигурацию и запросить интерфейс.

Из того, что я понимаю, устройства тогда имеют разные возможности в зависимости от того, что они делают.,Как узнать, на что способно устройство?Я просмотрел все, что дает мне регистрация устройства, и не могу найти список методов, реквизитов или чего-либо еще.

Устройство является рентгеновским датчиком, поэтому документация довольно скудная из того, что явидел.

Если я задаю не тот вопрос, извините.Опять же, очень плохо знакомы с этим.Может быть, это неправильно.

Фрагмент кода, который позволяет мне подключиться к устройству:

navigator.usb.requestDevice({ filters: [{ vendorId: 0x0547 }] })
                .then(device => {
                    console.log(device);
                })
            .catch(error => { console.log(error.message); });

Console Log Output

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Оформить заказ в этом примере (речь идет о настройке USB-термопринтера, это не то же самое, но мне помогло): https://github.com/drffej/webusb.printer/blob/master/printer.html

Я нахожусь с вами в таком же положении, я хочу использовать очень специфическое аппаратное обеспечение, которое у меня есть, и у меня нет четкого представления о том, как с ним взаимодействовать.

С уважением,

0 голосов
/ 26 января 2019

Я никогда не использовал USB-соединение, но, глядя на документацию для него и не видя возможности спросить устройство, на что оно способно. Я подозреваю, что взаимодействие с устройством может быть сравнимо с сокетным соединением в том смысле, что не существует методов, специфичных для этого устройства, но, возможно, json, который отправляется / принимается, когда интерфейс запрашивается . Тогда controlTransferIn() и controlTransferOut(), вероятно, можно использовать для отправки / получения информации на устройство или с него.

Обратите внимание, что controlTransferIn / controlTransferOut оба описывают свойства request / value, относящиеся к поставщику.

Я думаю, что лучший путь вперед - это обратиться к поставщику напрямую за документацией о том, как взаимодействовать с его USB-устройством. Это должно быть сделано для любых устройств, которые вы хотите поддерживать. Также помните с точки зрения архитектуры в вашем коде, абстракция - ваш друг.

...