2008-10-04 119 views
4

我想在Mac上編寫一個驅動程序來與我的Suunto t3手錶進行Python交談。我的日常工作是使用C#進行基本的Web工作,所以我熟悉Python並在Mac上開發是有限的。使用Python在Mac上開發USB驅動程序

你能建議一個人如何開始在一般的驅動程序開發,然後更具體地在Mac上。即如何輕鬆查看將數據傳輸到設備?我有Python 2.5(MacPorts)啓動並運行。

回答

3

如果手錶支持standard USB device class specification(如HID或串行通訊),則可能已經有內置於OS中的Macintosh驅動程序。否則,你將不得不從三個來源中的一個獲得有關用於與其通信的供應商命令的信息:製造商;反向設計Windows驅動程序使用的協議;或來自其他已經反向設計協議的用戶,以便在Linux或BSD上支持該設備。

USB是基於數據包的總線,瞭解各種事務類型非常重要。閱讀USB specification是一個很好的開始。

你可以看到正在發送使用USB總線分析儀,這是一個業餘愛好者一個昂貴的主張,但還有大部分商家做USB開發的範圍內的設備的數據。例如,Catalyst Conquest是1199美元。另一家成熟的製造商是LeCroy (formerly CATC)。還有一些軟件USB分析儀可以掛接到操作系統的USB堆棧中,但它們並不顯示總線上的所有流量,並且可能不如可靠。

我不是Mac專家,所以拿一段鹽來說這段話:蘋果有一個驅動程序開發工具包,名爲I/O Kit,這顯然要求你用C++編寫你的驅動程序,除非它們也有某種用戶模式驅動程序框架。如果你用Python編寫它,它可能更像是一個與其他人(Apple's)通用USB驅動程序接口的Python庫。

4

Mac電腦已經擁有了基本的基礎設施來支持USB,所以你需要一個Python庫,可以利用它。對於需要連續的支持,無論是USB任何Python項目,RS-232或GPIB,我建議在SourceForge上的PyVisa庫。見http://pyvisa.sourceforge.net/

如果您的設備不具有VISA驅動程序,你必須直接處理的USB系統。您可以使用另一個庫在SourceForge爲:http://pyusb.berlios.de/