2014-01-18 34 views
2

我正在寫一個紅寶石的寶石,將爲設備通過串行通過USB接口進行通信。我需要處理幾種不同的通信格式,格式是使用PID/VID值的組合來確定的。紅寶石 - 從串口獲取USB VID/PID在一個跨平臺的方式

我想對於創業板是跨平臺(Linux的/ MAC/Windows)中,但我會滿足於僅僅Linux和Mac。

什麼是Ruby中最便攜的方式,使用盡可能少的寶石,以可靠地檢測USB PID /串行端口的VID信息?

+0

你需要處理那裏有插在同一臺計算機上用不同的VID/PID的多個USB轉串口適配器的情況下,你需要知道的VID /特定的COM端口的PID(例如/ dev/ttyACM3 )?這可能很困難。另外,如果您的軟件用戶必須在'/ etc/udev.d/rules'中安裝一個文件,它會是一個可接受的解決方案嗎? –

回答

2

我最終解析了Linux的Mac &下的命令行程序的輸出結果,在windows下編寫自定義C擴展名似乎沒有解決方案。

+0

我有Linux,所以請給出更多的細節,例如你是如何得到適配器的VID和USB藍牙的USB? – user390525

1

只是爲了澄清,你需要獲得與特定的COM端口相關聯的連接的USB轉串口適配器的VID和PID?假設是這種情況,你應該可以用libusb做到這一點。看起來像已經有一些Ruby代碼爲:https://github.com/larskanis/libusb

免責聲明 - 我沒有必要寫任何跨平臺的USB,因爲我主要是Windows開發者我已經使用WinUSB。我只是簡單地看一下libusb API,它似乎有你所需要的。