从node-webkit访问USB设备?

我正在构build一个需要在所有3个主要桌面环境(windows,mac和linux)上运行的node-webkit应用程序,我需要我的应用程序连接到一个插入的USB设备,而且我正在处理一些问题如何去做这件事。

是否有一个npm可以在所有操作系统上运行? 我可以得到一个build立在C + +的工作吗? 有没有什么内置的node-webkit与设备交互(设备API?)

提前致谢。

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

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

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

    如果驱动程序没有官方选项将设备作为串行设备显示,则可能会find一种不受支持的方式,使其发生一些search。

  • 如果GPS设备的驱动程序不将设备暴露为串行设备,则需要编写与驱动程序接口的C ++模块 。 你需要为这三个平台编写代码。 设备制造商应提供文档/ SDK。 ( 有关在Windows上使用本机模块入门的build议, 请参阅此处 。)

  • 不得已而为之:您可以使用USB模块直接与设备进行通信。 这可能涉及逆向devise设备用来与计算机通信的协议。

我build议你为此执行一个command line脚本。 注意,它是平台特定的。

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