带有 nodejs 和 OPOS 的手持式扫描仪

问题描述

我为此苦苦挣扎了几天,而 Google 似乎没有任何信息..

我正在尝试使用 OPOS(在 Windows 10 下,RS-232 OPOS 接口)与 nodejs 连接 DataLogic-QuickScan-QD2131 扫描仪。

我知道 OPOS 使用 ActiveX 控制器进行通信,因此我使用 winax npm-package 创建 ActiveXObject 引用,但我不知道应该提供给构造函数的“类字符串”是什么。

这是我的代码

require("winax");
const con = new ActiveXObject("OPOSService.OPOSScanner");
console.log(con);

这将失败并显示以下错误

Uncaught Error: CreateInstance: OPOSService.OPOSScanner Invalid class string

谢谢各位!

解决方法

你可能应该停止使用 Node.js 的 OPOS。
正如我回答你的另一个问题,目前的OPOS只支持32位。

如果您仍想使用它,请在 DataLogic 的 OPOS 中查找并指定扫描器 OCX 的编程 ID 字符串。
我没有任何关于它是什么样子的信息,所以你可以自己找到它或联系 DataLogic。

或者,从以下页面获取并安装 Common CO,并指定“OPOS.Scanner”作为程序 ID。
MCS: OPOS Common Control Objects - Current Version


如果您在串口模式下结合使用 Node.js 和条码扫描器,最好使用串口而不是 OPOS 直接从 Node.js 发送命令和接收条码数据。