2014-03-27 119 views
0

是否可以使用包含視頻和音頻的多種傳感器的自定義設備作爲網絡攝像頭(使用標準的Windows視頻和音頻驅動程序)出於所有目的和用途,同時允許訪問其他簡單傳感器通過COM或其他方法?是否需要編寫驅動程序

或者我必須建立一個新的USB驅動程序來訪問所有這些信息?我想避免這種選擇,因爲該設備只是一個原型,他們希望建立一個示範應用程序以儘快獲得資金。最後,我可以在哪裏瞭解更多關於這方面的知識?我已經看到在其他答案中提到的USB完成(不幸的是沒有太多時間可用)。

背景:

我已經被賦予了爲新設備創建應用程序的任務。該設備由一組電氣工程師構建,並提供了一個通過COM(串行)進行通信的演示應用程序。問題是該設備的視頻和音頻流無法通過串行速度足夠快(20fps所需),但其他輸入(按鈕和兩個其他流傳感器)正在工作。

工程師們希望我爲他們提供一個'協議'來構建下一個版本的設備。我是一名沒有太多硬件經驗的軟件工程師,並且不熟悉USB驅動程序的低級細節。

+0

您可以將視頻和音頻送入其他I/O通道(如聲卡和視頻卡)嗎? –

回答

1

我建議通過使用多接口連接USB上的所有流來完成此操作。您需要確保選擇具有足夠端點的設備來支持所有這些接口和處理能力,以便爲音頻/視頻和控制流提供服務。

您可以爲USB音頻類音頻流接口,爲USB視頻類視頻流的接口,那麼你可以定義一個供應商特定的散裝或人機接口設備(HID)的類設備連接到您的傳感器。如果你這樣做,那麼你應該得到所有上述接口的收件箱驅動程序(支持Windows,OSX和Linux)。

您需要在主機上開發某種軟件或協議以連接到傳感器,通過libusb/WinUSB批量傳輸或通過hidapi傳輸HID。

我想說這裏最難的部分是選擇一個設備,獲取所有描述符併爲您的實現進行更正,並遵守所有接口的類規範。

絕對讀USB完成。它是USB開發的一個很好的入門書,它涵蓋了基本知識以及HID。一旦您瞭解了基本知識,請閱讀USB VideoUSB Audio類別的規格 - 一旦您瞭解了接口,端點和通用USB協議,它將變得更有意義。

1

This answer may be useful to you。在那篇文章中,我討論了現代HID描述符如何驅動程序不再相關。我還詳細介紹了您應該使用的通用庫的狀態,以便於開發。你可能會選擇libusbx。它體面記錄。如果你想看到它的用法的例子,我鏈接到的答案在帖子最底部有一個例子。祝你好運!

相關問題