我正在使用 Ruby 1.8 和 linux(Ubuntu 和 SLAX),我需要在 ruby 中编写一个脚本,以确定某些特定的 USB 设备是否连接到系统以及哪个 USB 端口(0、1、2 等) . 之前是在 HAL 的帮助下完成的(按能力查找能力 -- 能力序列),但现在我不能使用这种方法。我试图读取 /var/log/messages 文件试图找到 USB 端口的编号,但在某些系统中似乎没有写入该编号。我尝试的另一件事是检查 /dev 文件夹并搜索 ttyUSB# 文件,但是当新设备连接到 USB 时,它不会出现在某些系统上。我将不胜感激任何想法如何做到这一点。
问问题
2916 次
3 回答
3
lsusb 是一个 linux 命令,用于显示您的 USB 集线器并列出连接到它们的设备。在 ruby 中,我相信您可以执行以下操作:
ls_results = `lsusb`
您应该能够为您正在寻找的任何设备解析它。
于 2010-11-30T19:16:59.443 回答
0
你有允许控制 USB 设备的libusb ruby 绑定。
于 2012-05-10T13:07:24.907 回答
0
很抱歉,我无法为您提供红宝石样品。我在 C / C++ (QT) 中遇到了同样的问题。你可以在这里找到我的片段:
http://www.known-issues.net/cpp/how-to-detect-if-dev-is-a-usb-device.html
于 2011-02-19T09:29:21.720 回答