我想将标准Zebra扫描仪连接到电子(node.js windows)应用程序。我想要正确地做,而不仅仅是设置为键盘输入。
我需要一些方向 - 也许已经写了一些东西(请不要商业产品)
感谢。
答案 0 :(得分:2)
仅供参考,我使用https://www.npmjs.com/package/node-hid
此外,由于我想通过网络进行广播,因此我使用https://www.npmjs.com/package/isomorphic-ws在浏览器和条形码扫描仪之间进行通信。
此外,捕获条形码有点挑战。我使用以下方法获取条形码。它删除所有非单词ascii字符,以及返回的字符串的开头。感觉有点像黑客,但是它在大多数情况下都可以使用,除非您想在条形码中传递非标准字符。如果您找到更好的方法,请告诉我!
function receiveBarcode(data){
const barcode = data.toString('ascii').replace(/\W/g, '')
const decodedBarcode = barcode.substring(2,barcode.length-1)
return decodedBarcode
}
我从内存中回想起了这部分-我不记得确切地是如何构建的..但这是我的package.json。我认为电子制造商解决了我的一些制造问题。 https://github.com/electron-userland/electron-builder
{
"name": "zimpla.device.manager",
"version": "1.0.0",
"main": "main.js",
"dependencies": {
"electron-log": "^2.2.14",
"electron-settings": "^3.1.4",
"moment": "^2.21.0",
"node-hid": "^0.7.2",
"serialport": "^6.1.1",
"ws": "^5.0.0"
},
"scripts": {
"start": "electron .",
"debug": "electron --inspect=5858 .",
"install": "electron-rebuild",
"postinstall": "electron-rebuild --force -m . -w node-hid && electron-builder install-app-deps",
"pack": "electron-builder --dir",
"dist": "build"
},
"devDependencies": {
"electron": "latest",
"electron-builder": "^20.4.1",
"electron-rebuild": "^1.7.3"
},
"build": {
"appId": "zimpla.device.manager",
"win": {
"target": "nsis"
}
}
}
答案 1 :(得分:0)
您的情况可能与设备有关,但我建议尝试一下。我设法使条形码扫描枪能够与Electron一起使用,而只是在渲染器过程中读取this.fade = (fade == undefined ? 5 : fade);
事件。就我而言,该设备不是Zebra,但如果它也适用于您的情况,我不会感到惊讶。
keypress