Узнайте, подключено ли USB-устройство. Ruby в Linux - PullRequest
1 голос
/ 30 ноября 2010

Я использую Ruby 1.8 и linux (Ubuntu и SLAX), и мне нужно написать скрипт на ruby, который узнает, подключено ли какое-либо конкретное USB-устройство к системе и на каком USB-порту (0,1,2, так далее).Раньше это делалось с помощью HAL (hal-find-by -ability --capability serial), но сейчас я не могу использовать этот подход.Я пытался прочитать файл / var / log / messages, пытаясь найти номер порта USB, но похоже, что это число может не записываться в некоторых системах.Еще я попробовал проверить папку / dev и найти файл ttyUSB #, но он не появляется в некоторых системах при подключении нового устройства к USB.Буду признателен за любые идеи, как это сделать.

Ответы [ 3 ]

3 голосов
/ 30 ноября 2010

lsusb - это команда linux для отображения ваших usb-концентраторов и перечисления устройств, которые к ним подключены.В ruby ​​я думаю, что вы сможете сделать что-то вроде этого:

ls_results = `lsusb`

Вы сможете проанализировать это для любого устройства, которое вы ищете.

0 голосов
/ 10 мая 2012

У вас есть libusb привязок ruby, которые позволяют управлять USB-устройствами.

0 голосов
/ 19 февраля 2011

Извините, что не смог предоставить вам рубиновый образец. У меня была такая же проблема в C / C ++ (QT). Вы можете найти мой фрагмент здесь:

http://www.known -issues.net / cpp / как определить-если-разработчик-usb-device.html

...