WebUSB 传输到客户显示器没有任何反应

Posted

技术标签:

【中文标题】WebUSB 传输到客户显示器没有任何反应【英文标题】:WebUSB transferout to customer display nothing happens 【发布时间】:2020-10-28 16:22:34 【问题描述】:

我正在开发一个 Web 应用程序,在该应用程序中我必须在客户显示器上显示价格,出于测试目的,我购买了一台 TYSSO VFD-860(希望制定一个适用于每个客户显示器的通用解决方案),并且我正在尝试使用 WebUSB API 与它进行通信,我之前为热敏打印机制作了它并且它可以工作,所以我认为为显示器编写使用相同的代码是个好主意,但我什么都没有,没有错误屏幕上什么也没有显示。

我的代码:

function selectEndpoint(direction, device) 
  const endpoint = device.configuration
    .interfaces[0]
    .alternate
    .endpoints.find(ep => ep.direction == direction);

  if (endpoint == null)
    throw new Error(`Endpoint $direction not found in device interface.`);
  return endpoint;


document.addEventListener("click", async () => 
  const device = await navigator.usb.requestDevice( filters: [] )
  await device.open()
  console.log(device)
  const  interfaceNumber  = device.configuration.interfaces[0];
  await device.claimInterface(interfaceNumber);
  const outpoint = selectEndpoint("out", device);
  const inpoint = selectEndpoint("in", device);
  const str = "Hello";
  const bytes = str.split("").map(char => char.charCodeAt(0));
  const data = new Uint8Array(bytes);
  device.transferOut(outpoint.endpointNumber, data);
  await device.close()
)

其他一些可能有帮助的信息

弹出窗口中的设备名称:CP2102 USB to UART Bridge 控制器

【问题讨论】:

【参考方案1】:

您确定如果您刚开始向设备写入字节,设备会显示任何内容吗?

在这种特殊情况下它不应该影响任何东西,但您应该等待 transferOut() 调用的结果,以便在传输仍处于挂起状态时设备不会关闭。

【讨论】:

以上是关于WebUSB 传输到客户显示器没有任何反应的主要内容,如果未能解决你的问题,请参考以下文章

电脑启动后显示器没有反应,鼠标也无反应,键盘灯也不亮,怎么办?

求助,win10蓝牙显示已配对,但是没有连接

为啥u盘插到电脑上没有反应?

使用反应在引导程序中突出显示当前页面

直到最小的滚动或点击,单元格才会显示在表格视图中(注意:后台线程上没有任何反应)

React app无法登录到控制台或终端窗口