如何在电子中连接条码扫描器(Node.js)

时间:2017-11-12 21:10:10

标签: electron electron-builder

我想将标准Zebra扫描仪连接到电子(node.js windows)应用程序。我想要正确地做,而不仅仅是设置为键盘输入。

我需要一些方向 - 也许已经写了一些东西(请不要商业产品)

感谢。

2 个答案:

答案 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