我有一台 Honeywell Voyagar 1202g 条码扫描仪,我设法在 Mac 和 Windows 上工作。
首先,您需要将条形码扫描仪界面更改为 CDC-ACM,方法是使用 EZConfig(霍尼韦尔软件)或扫描您可以在其网站上找到的条形码。
使其在 Windows 上运行的步骤:
- 安装 Zadig
- 安装 HSM USB 串行驱动程序包
- 在 Windows 设置中找到您的设备并更新 USB 复合设备驱动程序(让我从驱动程序列表中选择,取消选中兼容驱动程序)以使用 Honeywell->WinFlash Intermec 设备(没有这一步 Zadig 无法找到正确的接口)。
- 使用 Zadig,您现在应该可以看到您的设备,将驱动程序更新为 libusbk
- 重启电脑(重要)
代码:
const decoder = new TextDecoder();
const startDevice = async () => {
try {
// you should be able to discover your PRODUCT_ID and VENDOR_ID from
// chrome://device-log
const device = await navigator.usb.requestDevice({
filters: {
productId: PRODUCT_ID,
vendorId: VENDOR_ID
}
});
// log device data to see available configurations and interfaces
await device.open();
// only 1 configuration was available for me
await device.selectConfiguration(1);
// interface 1 was bulk transfer
await device.claimInterface(1);
readLoop(device);
} catch (error) {
console.error(error);
}
}
const readLoop = async (device) => {
try {
const result = await device.transferIn(1, 64);
// this is your incoming data
const data = decoder.decode(result.data).trim();
readLoop(device);
} catch (error) {
console.error(error);
}
}