我正在构建一个需要在所有 3 个主要桌面环境(Windows、Mac 和 Linux)上运行的 Node-WebKit 应用程序,我需要我的应用程序连接到插入的 USB 设备,但我在精确计算时遇到了一些麻烦如何解决这个问题。
是否有一个适用于所有操作系统的 npm?我可以得到一个可用的 C++ 内置版本吗? node-webkit 中是否内置了用于与设备交互的内容(设备 API?)
提前致谢。
您几乎肯定需要 C/C++ 模块来实现这一点,这意味着需要一个构建过程。好消息是,您可以在您的计算机上进行构建,然后为 Windows 和 OS X 分发生成的二进制文件(x86 和 x64)。Linux 可能有点棘手,但另一方面,它更有可能有一个有效的构建环境。
有几种方法,按容易程度排序:
-
如果您的 GPS 设备可以将自身呈现为简单的串行设备(Windows 上的 COM 端口,或/dev/tty-usbserial
在 *nix 上),那么你可以使用串行端口 https://github.com/voodootikigod/node-serialport连接到设备并接收原始数据。有一个nmea https://www.npmjs.org/package/nmea可以处理解析数据的模块。串行端口在所有 3 个平台上开箱即用。
如果驱动程序没有将设备呈现为串行设备的官方选项,您可能可以通过一些搜索找到不受支持的方法来实现此目的。
如果 GPS 设备的驱动程序未将该设备公开为串行设备,则您需要编写一个C++模块 http://nodejs.org/api/addons.html与驱动程序接口。您需要为所有三个平台编写代码;设备制造商应提供文档/SDK。 (See here https://stackoverflow.com/a/9625030/201952有关在 Windows 上开始使用本机模块的建议。)
最后的手段:您也许可以使用usb https://www.npmjs.org/package/usb模块直接与设备通信。这可能涉及对设备用于与计算机通信的协议进行逆向工程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)