2010-11-30 74 views
1

我正在使用Ruby 1.8和Linux(Ubuntu和SLAX),我需要写一个脚本在红宝石,它发现如果某些特定的USB设备连接到系统和USB端口(0,1 ,2等)。它是在HAL(hal-find-by-capability -capability serial)帮助下完成的,但现在我不能使用这种方法。我试图读取/ var/log/messages文件试图找到USB端口号,但似乎这个号码可能不会写入某些系统。我试过的其他事情是检查/ dev文件夹并搜索ttyUSB#文件,但当新设备连接到USB时,它不会出现在某些系统上。 我将不胜感激任何想法如何做到这一点。找出USB设备是否连接。在Linux的红宝石

回答

3

lsusb是一个Linux命令,用于显示您的USB集线器并列出连接到它们的设备。在红宝石,我相信你可以做这样的事情:

ls_results = `lsusb` 

你应该能够解析无论出于何种设备,你要寻找的。

+0

其实我需要找到这个设备以“tty#”形式连接的端口。 lsusb给我的东西类似于 总线007设备001:ID 1d6b:0001 Linux Foundation 1.1根集线器 总线006设备001:ID 1d6b:0001 Linux Foundation 1.1根集线器 总线005设备002:ID 045e:00cb Microsoft Corp.基本光学鼠标v2.0 等,但如何在/ dev中找到相应的tty文件? – lugger1 2010-11-30 19:32:18

0

你有libusb Ruby绑定,允许控制USB设备。