我正在构建一个需要在所有3个主要桌面环境(
windows,mac和
linux)上运行的node-webkit应用程序.我需要将我的应用程序连接到插入的USB设备,而且我确实遇到了一些麻烦如何解决这个问题.
是否有适用于所有操作系统的npm?我可以买一个内置的C吗? node-webkit是否内置了与设备交互的内容(Devices API?)
提前致谢.
解决方法
您几乎肯定需要一个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模块直接与设备通信.这可能涉及逆向工程设备用于与计算机通信的协议.