【问题标题】:Use Electron with USB通过 USB 使用 Electron
【发布时间】:2017-01-22 18:57:00
【问题描述】:

我目前正在寻找在 Electron 项目中使用 USB 的解决方案。

我发现很多线程不仅仅是堆栈溢出。但所有人都在陈述不同的事情。有人说它运行良好(很容易),其他人说这甚至不可能。

我偶然发现了 usb-electron,但这仅适用于 Electron prebuild 1.0.2(据我所知)。

有人在一个项目中成功使用了 Electron 和 USB 吗?您将此组合用于哪些设备?也许有人正在使用另一种解决方案?就像后台的 C#(或其他)二进制文件在电子中触发并执行所有 USB 操作?

感谢每一个提示!

更新:

我尝试了上述解决方案,但遇到了各种错误。我也从未设法针对电子构建 USB 或串行端口包。如果我使用串行端口包,电子 1.4.12 会出现以下错误:

angular.js:14328 Error: Eine DLL-Initialisierungsroutine ist fehlgeschlagen.
\\?\E:\Masterthesis\Simplex-Electron\node_modules\serialport\build\Release\serialport.node
    at Error (native)
    at process.module.(anonymous function) [as dlopen] (ELECTRON_ASAR.js:173:20)
    at Object.Module._extensions..node (module.js:583:18)
    at Object.module.(anonymous function) [as .node] (ELECTRON_ASAR.js:173:20)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at bindings (E:\Masterthesis\Simplex-Electron\node_modules\bindings\bindings.js:76:44)

第一行只是说一个 DLL 例程失败了。

【问题讨论】:

  • 您是否尝试过任何可用的解决方案? node-serialport 这是一个很棒的包,您可以使用它通过串行总线进行通信,我确认它与 Electron 配合得很好。
  • 显然你在windows上,这不利于USB开发。在尝试针对电子构建 node-serialport 时,您是否遵循了 github.com/EmergingTechnologyAdvisors/node-serialport#electron 上的特殊说明? node-usb 使用 libusb,它在 Windows 中有自己的驱动程序,请参阅 github.com/tessel/node-usb。也许这是一个问题。为此最好切换到linux ...

标签: usb electron


【解决方案1】:

感谢您的所有回答。我发现我尝试连接的硬件(LEGO Mindstorms Education EV3)是一个 HIDClass 设备。因此,它不会将自己暴露为 COM 接口。 node-serialport 之类的库无法使用它。

我设法为 Electron 编译了 node-serialport。这可以正常工作(如果 USB 设备将自身暴露为 COM 设备)。

WIFI (node-net) 和蓝牙 (node-bluetooth) 等其他连接方式也可以正常工作。

也许这些信息对其他人有帮助。

【讨论】:

  • 嗨,我必须制作一个桌面应用程序,它需要通过 USB 与硬件板通信。我们可以为此目的使用 React + Electron 吗?如果您可以分享任何示例代码,那将非常有帮助
猜你喜欢
  • 2017-03-24
  • 2017-03-02
  • 1970-01-01
  • 2021-04-28
  • 2020-11-26
  • 2013-11-02
  • 2012-07-04
  • 1970-01-01
  • 2022-10-14
相关资源
最近更新 更多