2009-11-12 167 views
4

我們設計了一種專用的通訊工具,用於輪椅上控制燈光等。我們使用Z-wave。我們有通過PC控制這些設備的應用程序。尋找虛擬USB HID驅動程序

不幸的是,該應用程序需要一個USB棒。我們的設計不允許使用USB連接棒。相反,我們使用串行接口模塊,通過藍牙和虛擬comport鏈接到電腦。我們知道該應用程序使用HID標準windriver。 (沒有涉及第三方驅動程序)

我們想知道是否可以使用HID「包裝」驅動程序來模擬USB標識符和PnP,以應用程序認爲連接棒的方式,然後將藍牙虛擬將數據計算到應用程序。

+0

對不起。不能幫助自己:http://en.wikipedia.org/wiki/Minnie_Driver – Artelius 2009-11-12 11:18:43

回答

5

是的,我相信這是可能的,可能會非常有趣,從來沒有想過用PC模擬HID設備。你的團隊中有沒有人有任何驅動程序開發經驗?如果沒有,準備一個陡峭的學習曲線。

問題:通過「USB棒」你的意思是包含指令的文件,或某些類型的HID設備,如鼠標或操縱桿,如標題所暗示的USB閃存驅動器?

雖然這並不重要,但在任何情況下都可以編寫驅動程序來模擬PC。無論您的商店/項目是否經濟實惠,都能讓您達到可以做到這一點的主要問題。這絕對不是您可以在週末剪下的代碼。

+0

親愛的戴爾, 我們小組沒有經驗,這就是爲什麼我們打電話。 USB棒實際上是一個無線電收發器,它只需要在9600bd與應用程序進行串行連接。由於它被封裝成USB棒,該應用程序通過USB(HID)驅動程序查找串行鏈路。 – jacob 2009-11-18 16:11:29

+0

好的,如果你用一個通用的USB HID設備(如鼠標)來代替transciever,它是否工作?你也可以使用PC上的transciever來控制鼠標/ kbd嗎? – 2009-11-19 02:23:45

+0

收發器充當PC應用和Z波家庭網絡之間的接口。它有一個串行鏈接,而應用程序期待USB。我們無法修改該應用,所以我們尋找一箇中間解決方案。感謝, 雅各布 – jacob 2009-11-23 14:23:50

0

它非常有趣...我想更多地瞭解您的現有設備,即「USB棒實際上是無線電收發器」。

它如何連接到PC?它是否通過USB電纜(如虛擬COM端口)?或者您是否使用了收發器和PC之間的以下鏈接(http://www.ftdichip.com/Products/Cables/USBRS232.htm)中提到的任何USB-UART(USB-RS232)適配器。即USB串行適配器放置在您的設備和PC之間。

  1. 如果您的設備直接連接到PC的USB端口(作爲虛擬COM端口),那麼我爲您提供了一種解決方案。我們需要開發一個內核模式的WDM或WDF USB HID mini驅動程序,以便在安裝驅動程序後,您的虛擬COM端口設備將被PC主機和PC應用程序視爲USB HID設備。在這個HID mini驅動程序中,我們可以在HID報告描述符中定義一個自定義的頂級HID集合,以便您所預見的將該設備作爲USB HID設備的應用程序將通過Windows HID API調用(如HidD_GetFeature ,HidD_SetFeature,HidD_GetInputReport,HidD_SetOutputReport,甚至ReadFile和WriteFile函數都可以工作。

  2. 但是如果你的收發器具有RS232 D9端口,那麼你可能就像我之前說要插入一個USB轉串口適配器b/W的PC和收發器。在這種情況下,我們需要在HID報告描述符中開發具有自定義頂級HID集合的UMDF USB Hid minidriver。該驅動程序將完全是一個虛擬驅動程序,並將其自身與實際的虛擬COM端口一起附加到設備管理器。符合HID的應用程序將與此虛擬驅動程序進行通信,並將收發器視爲USB HID設備,但它實際上是一個COM端口。 UMDF驅動程序將負責虛擬COM端口和HID應用程序之間的通信。

請讓我知道如果您有任何疑問或尋求任何進一步的澄清。