以上是我的设备配置。我正在尝试从中获取数据,我正在使用下面的代码来获取数据
document.getElementById("request").onclick = function() {
navigator.usb.requestDevice({
filters: [{
vendorId: 1659
}]
})
.then((requestedDevice) => {
device = requestedDevice;
}).then(() => {
console.log(device);
console.log(JSON.stringify(device));
return device.open();
}).then(() => device.selectConfiguration(1)) // Select configuration #1 for the device.
.then(() => {
return device.reset();
}).then(() => device.claimInterface(0))
.then(() => {
return device.transferIn(3, 64)
})
.then((data) => {
debugger;
console.log(data)
}).catch(err => {
console.log(err);
});
}
Run Code Online (Sandbox Code Playgroud)
我正在选择 endPointnumber 和界面,但它似乎不起作用,我在这里遗漏了什么吗?.请帮忙。我没有收到任何错误,设备似乎已连接,但数据没有从机器传输到浏览器。
我看到了这个问题,它与我的WEBUSB 获取串行数据 PL2303 的场景完全相同
但就我而言,我什至没有得到任何数据。
我在 node js 中尝试了这个驱动程序https://github.com/tidepool-org/pl2303并且它有效,但我想用 web usb api 来做。
编辑 - 我正在研究它,现在数据似乎不断地出现
async function Get()
{
let device= await navigator.usb.requestDevice({ filters: [{ vendorId: 0x067b,productId:0x2303 }]})
console.log(device);
await device.open({ baudRate: 9600 });
await device.selectConfiguration(1);
await device.claimInterface(0);
while(true)
{
let result = await device.transferIn(3,64);
var string = new TextDecoder("utf-8").decode(result.data.buffer);
console.log("hii",string);
}
Run Code Online (Sandbox Code Playgroud)
唯一的问题,我现在面临的问题是数据传输直到一些数据发送到设备才开始,当我使用节点 js 驱动程序发送数据时,它可以工作并且我接收数据,但只有web usb api 它不起作用
| 归档时间: |
|
| 查看次数: |
665 次 |
| 最近记录: |