Ruby - 以跨平台的方式从串行端口获取USB VID / PID



我正在编写一个Ruby gem,它将通过USB通过串行与设备通信。我需要处理几种不同的通信格式,格式是使用 PID/VID 值的组合来确定的。

我希望宝石是跨平台的(Linux/Mac/Windows),但我只满足于Linux和Mac。

Ruby 中最便携的方式是什么,使用最少的宝石,可靠地检测串行端口的 USB PID/VID 信息?

我最终在Mac和Linux下解析了命令行程序的输出,如果不编写自定义C扩展,Windows下似乎没有解决方案。

为了澄清,您需要获取与特定COM端口关联的连接的USB到串行适配器的VID和PID?假设是这种情况,你应该能够使用 libusb 做到这一点。看起来已经有一些 Ruby 代码:https://github.com/larskanis/libusb

免责声明 - 我不必为USB编写任何跨平台的东西,因为我主要是Windows开发人员,所以我使用过WinUSB。我只是基于对libusb API的快速浏览,它似乎有你需要的东西。

最新更新