Nodejs:Windows下有哪些好用的库可以实现USB通信功能?目前尝试了node-usb,在Windows上不太友好,求其他方案

Nodejs:Windows下有哪些好用的库可以实现USB通信功能?目前尝试了node-usb,在Windows上不太友好,求其他方案
1.需要实现的功能,计算机与 usb 设备的通信,usb 根据收到的指令做出不同的响应
2.当前项目是 electron 开发,使用 node-usb 的时候 zadig 安装 winusb 驱动后依然报错 LIBUSB_ERROR_NOT_SUPPORTED,github 上这个 issue 依然是 open,尚未解决,所以想看看有没有其他方案

10 回复

如果是我,放弃 node


我是前端开发,不用 node 的话,不知道该怎么做了,o(╥﹏╥)o,假如放弃 node 的话,请问有什么其他技术选型建议吗?

1.反正是 windows 平台.换 cefsharp.c#做 usb 通信的东西还是不少的.
2.直接换 cef,c++写 usb 通信更没有问题.
3.直接 c++写 node 插件,electron 调用.
4.跟老板说,这事压根就不应该前端去做,让他找别人.
5.让提供 usb 设备的厂家去实现各种交互 sdk

这个方案可靠

Thanks♪(・ω・)ノ

https://github.com/UltimateHackingKeyboard/agent
我在用他家的键盘,他们是用 Elactron 调用 USB 刷固件到键盘里的,你可以看看他们怎么实现的。

好的,多谢

你好,请问你解决了吗?

不知道算不算解决,因为我做这个功能其实是要和电路板连接做通信的,一开始板子还没到连接的一个电子琴做测试,就一直报错,后来换了电路板就好了,我的猜测是可能是设备的原因,有些设备本身就不支持通信功能,sorry,可能没帮到你,希望你可以尽快解决

针对您提到的在Windows下使用Node.js实现USB通信功能的需求,除了node-usb外,确实存在一些其他库和方案可以考虑。以下是一些建议:

  1. libusb0-x86

    • 这是一个为Windows系统中的x86架构提供的USB设备低级控制库。
    • 允许开发者绕过操作系统驱动直接与USB设备通信。
    • 支持多线程、异步传输,并提供丰富的API接口与错误处理机制。

    不过,libusb0-x86的使用可能需要一定的C/C++编程基础,因为它主要通过C语言API进行交互。但您可以通过Node.js的ffi-napinode-ffi等库来调用C语言动态链接库,从而实现与libusb0-x86的交互。

  2. 使用其他Node.js USB库

    • 虽然您提到node-usb在Windows上不太友好,但可以尝试查看该库的最新文档和社区反馈,看是否有针对Windows的改进或解决方案。
    • 此外,还可以搜索npm仓库中是否有其他更适合Windows环境的Node.js USB库。
  3. 考虑使用其他编程语言和框架

    • 如果Node.js及其USB库在Windows上的表现不尽如人意,您可以考虑使用其他编程语言(如C#、Python等)和相应的USB通信库来实现您的需求。

由于篇幅限制,这里无法提供完整的代码示例。但您可以根据上述建议进一步搜索和尝试,找到最适合您项目的解决方案。

回到顶部