从node-webkit访问USB设备?

时间:2014-03-13 16:35:30

标签: html5 node.js webkit v8 node-webkit

我正在构建一个需要在所有3个主要桌面环境(windows,mac和linux)上运行的node-webkit应用程序我需要将我的应用程序连接到插入的USB设备并且我已经拥有确切地知道如何解决这个问题会有点麻烦。

是否存在适用于所有操作系统的npm?我可以使用一个内置的C ++工作吗? node-webkit是否内置了与设备交互的内容(设备API?)

提前致谢。

3 个答案:

答案 0 :(得分:3)

您几乎肯定需要一个C / C ++模块才能实现这一点,这意味着需要构建过程。好消息是你可以在你的机器上进行构建并为Windows和OS X分发生成的二进制文件(x86和x64).Linux可能有点棘手,但另一方面它更有可能有一个有效的构建环境。

为了方便起见,有几种方法:

  • 如果您的GPS设备可以将自己显示为简单的串行设备(Windows上的COM端口或* nix上的/dev/tty-usbserial),那么您只需使用serialport即可连接到设备并接收原始数据。有一个nmea模块可以处理解析数据。 serialport在所有3个平台上都可以开箱即用。

    如果驱动程序没有正式选项将设备显示为串行设备,您可能会找到一种不受支持的方式来通过搜索来实现。

  • 如果GPS设备的驱动程序没有将设备作为串行设备公开,则您需要编写与驱动程序接口的C++ module。您需要为所有三个平台编写代码;设备制造商应提供文档/ SDK。 (See here有关在Windows上开始使用本机模块的建议。)

  • 最后的手段:您可以使用usb模块直接与设备通信。这可能涉及对设备用于与计算机通信的协议进行逆向工程。

答案 1 :(得分:1)

我建议您为此执行command line脚本。注意,它是特定于平台的。

答案 2 :(得分:0)

实际上,您不需要任何可以使用chrome usb api的模块,它已经可用于节点webkit和电子应用程序https://developer.chrome.com/apps/usb