Usb設(shè)備通信方法、裝置及電子設(shè)備的制作方法
【專利摘要】本申請公開了一種USB設(shè)備通信方法、裝置及電子設(shè)備,該方法包括:獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識,并生成與USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點;將USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點;在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式;按照所查找到的數(shù)據(jù)格式讀取HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。與現(xiàn)有技術(shù)相比,該方法無需針對每個USB設(shè)備均安裝一個驅(qū)動程序,而將接入的USB設(shè)備映射為相對應(yīng)的標(biāo)準(zhǔn)HID輸入設(shè)備,通過映射的標(biāo)準(zhǔn)HID輸入設(shè)備與該USB設(shè)備進(jìn)行數(shù)據(jù)傳輸,即可將硬件采集到的數(shù)據(jù)通過標(biāo)準(zhǔn)HID接口讀取,從而無需大量的驅(qū)動開發(fā)以及調(diào)試工作,就可以使得系統(tǒng)可以兼容不同USB設(shè)備。
【專利說明】USB設(shè)備通信方法、裝置及電子設(shè)備
【技術(shù)領(lǐng)域】
[0001]本申請涉及移動通信【技術(shù)領(lǐng)域】,特別是涉及一種USB設(shè)備通信方法、裝置及電子設(shè)備。
【背景技術(shù)】
[0002]Android (中文翻譯為:安卓)系統(tǒng)是應(yīng)用于手機或平板電腦等終端的操作系統(tǒng),是目前最流行的移動終端智能平臺。
[0003]由于Android系統(tǒng)開放性較強,允許任何移動終端廠商加入到進(jìn)來,使得其有用更多的開放著,隨著用戶和應(yīng)用的日益豐富,現(xiàn)有的Android智能操作系統(tǒng)越來越強大,其所支持的外設(shè)也越來越多。例如:android智能操作系統(tǒng)通過USB接口可以與現(xiàn)有的3D傳感器、攝像頭、GPS定位儀、閃光燈以及NFC芯片等進(jìn)行數(shù)據(jù)交換。
[0004]但是由于廠商的不一致,這導(dǎo)致一個新的USB設(shè)備接入Android系統(tǒng)都需要進(jìn)行調(diào)試、集成等,工作量和開發(fā)周期都比較長。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本申請實施例提供一種USB設(shè)備通信方法、裝置及電子設(shè)備,以解決現(xiàn)有的Android系統(tǒng)存在不同USB設(shè)備之間的兼容性差的問題。
[0006]為了實現(xiàn)上述目的,本申請實施例提供的技術(shù)方案如下:
[0007]一種USB設(shè)備通信方法,包括:
[0008]獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識,并生成與所述USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點;
[0009]將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點,所述HID設(shè)備節(jié)點與USB設(shè)備節(jié)點一一對應(yīng);
[0010]在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與所述USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式;
[0011]按照所查找到的數(shù)據(jù)格式讀取所述HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
[0012]優(yōu)選地,將所述設(shè)備節(jié)點映射為HID設(shè)備節(jié)點,包括:
[0013]在預(yù)先安裝的驅(qū)動程序中查找是否存在與所述USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序;
[0014]如果否,將所述設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
[0015]優(yōu)選地,該方法還包括:
[0016]接收按照所述數(shù)據(jù)格式生成的寫操作指令;
[0017]將所述寫操作指令經(jīng)由給所述HID設(shè)備節(jié)點、USB設(shè)備節(jié)點向所述USB設(shè)備發(fā)送。
[0018]一種USB設(shè)備通信裝置,包括:獲取單元、設(shè)備節(jié)點生成單元、映射單元、查找單元和讀取單元,其中:
[0019]所述獲取單元用于獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識;
[0020]所述設(shè)備節(jié)點生成單元用于生成與所述USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點;
[0021]所述映射單元用于將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點;
[0022]所述查找單元用于在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與所述USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式;
[0023]所述讀取單元用于按照所述數(shù)據(jù)格式讀取所述HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
[0024]優(yōu)選地,還包括:判斷單元,
[0025]所述判斷單元用于判斷在預(yù)先安裝的驅(qū)動程序中是否存在與所述USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序,
[0026]如果否,所述映射單元將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
[0027]優(yōu)選地,還包括:指令接收單元和指令發(fā)送單元,其中,
[0028]所述指令接收單元用于接收按照所述數(shù)據(jù)格式生成的寫操作指令;
[0029]所述指令發(fā)送單元用于將所述寫操作指令經(jīng)由給所述HID設(shè)備節(jié)點、USB設(shè)備節(jié)點向所述USB設(shè)備發(fā)送。
[0030]一種電子設(shè)備,包括:設(shè)置有多個接口的USB總線和USB設(shè)備通信裝置,其中:
[0031]所述USB總線上的多個接口上至少接入一個USB設(shè)備;
[0032]所述USB通信裝置用于與接入的所述USB設(shè)備進(jìn)行通信。
[0033]優(yōu)選地,所述USB設(shè)備通信裝置包括:獲取單元、設(shè)備節(jié)點生成單元、映射單元、查找單元和讀取單元,其中:
[0034]所述獲取單元用于獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識;
[0035]所述設(shè)備節(jié)點生成單元用于生成與所述USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點;
[0036]所述映射單元用于將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點;
[0037]所述查找單元用于在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與所述USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式;
[0038]所述讀取單元用于按照所述數(shù)據(jù)格式讀取所述HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
[0039]優(yōu)選地,所述USB通信裝置還包括:判斷單元,
[0040]所述判斷單元用于判斷在預(yù)先安裝的驅(qū)動程序中是否存在與所述USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序,
[0041]如果否,所述映射單元將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
[0042]優(yōu)選地,所述USB通信裝置還包括:指令接收單元和指令發(fā)送單元,其中,
[0043]所述指令接收單元用于接收按照所述數(shù)據(jù)格式生成的寫操作指令;
[0044]所述指令發(fā)送單元用于將所述寫操作指令經(jīng)由給所述HID設(shè)備節(jié)點、USB設(shè)備節(jié)點向所述USB設(shè)備發(fā)送。
[0045]優(yōu)選地,所述讀取單元、指令接收單元和指令發(fā)送單元為設(shè)置在所述電子設(shè)備內(nèi)的應(yīng)用程序。
[0046]由以上技術(shù)方案可見,本申請實施例提供的該方法,首先獲取接入到USB總線接口上的USB設(shè)備的USB設(shè)備標(biāo)識,這個USB設(shè)備標(biāo)識是全球通用并且是唯一的,然后生成與該USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點,并將該USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點,最后利用在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找到的與該USB設(shè)備節(jié)點相對應(yīng)的數(shù)據(jù)格式讀取該HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。進(jìn)而可以獲取到接入的USB設(shè)備傳輸?shù)臄?shù)據(jù),若該USB設(shè)備為數(shù)據(jù)采集設(shè)備,即系統(tǒng)可以讀取到USB設(shè)備所采集到的數(shù)據(jù)信息。
[0047]與現(xiàn)有技術(shù)相比,該方法無需針對每個USB設(shè)備均安裝一個驅(qū)動程序,而是將接入的USB設(shè)備映射為相對應(yīng)的標(biāo)準(zhǔn)HID輸入設(shè)備,并且通過映射的標(biāo)準(zhǔn)HID輸入設(shè)備與該USB設(shè)備進(jìn)行數(shù)據(jù)傳輸,即可以將硬件采集到的數(shù)據(jù)通過標(biāo)準(zhǔn)HID接口讀取,從而無需大量的驅(qū)動開發(fā)以及調(diào)試工作,就可以使得系統(tǒng)可以兼容不同USB設(shè)備。
【專利附圖】
【附圖說明】
[0048]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0049]圖1為本申請實施例一提供的一種USB設(shè)備通信方法的流程示意圖;
[0050]圖2為本申請實施例一提供的另一種USB設(shè)備通信方法的流程示意圖;
[0051]圖3為本申請實施例二提供的一種USB設(shè)備通信方法的部分流程示意圖;
[0052]圖4為本申請實施例三提供的一種USB設(shè)備通信裝置的結(jié)構(gòu)示意圖;
[0053]圖5為本申請實施例三提供的另一種USB設(shè)備通信裝置的結(jié)構(gòu)示意圖;
[0054]圖6為本申請實施例三提供的一種USB設(shè)備通信裝置的部分結(jié)構(gòu)示意圖;
[0055]圖7為本申請實施例四提供的一種電子設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0056]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。
[0057]實施例一:
[0058]圖1為本申請實施例一提供的一種USB設(shè)備通信方法的流程示意圖。
[0059]如圖1所示,該方法包括以下步驟:
[0060]SlOl:獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識,并生成與USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點。
[0061]當(dāng)USB設(shè)備接入到USB總線接口上時,USB主控制器與該USB設(shè)備進(jìn)行通信,查詢該USB設(shè)備,獲取到該USB設(shè)備的設(shè)備標(biāo)識。在本申請實施例中,USB設(shè)備標(biāo)識是全球通用,并且每個USB設(shè)備的設(shè)備標(biāo)識從該USB設(shè)備生產(chǎn)后就會固定不變,即一個USB設(shè)備對應(yīng)一個唯一的設(shè)備標(biāo)識。
[0062]另外,當(dāng)獲取到USB設(shè)備標(biāo)識后,對應(yīng)在系統(tǒng)總線生成一個USB設(shè)備節(jié)點。
[0063]S102:將USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
[0064]對系統(tǒng)而言,如果在系統(tǒng)內(nèi)已經(jīng)設(shè)置有與獲取到的USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序,那么就可以通過該USB設(shè)備節(jié)點與USB設(shè)備進(jìn)行數(shù)據(jù)交互。
[0065]而對于那些無法識別的USB設(shè)備標(biāo)識,系統(tǒng)內(nèi)未設(shè)置有相對應(yīng)的驅(qū)動程序,那么此時就需要將USB設(shè)備節(jié)點映射為HID (Human Interface Device,人機接口設(shè)備)設(shè)備節(jié)點。
[0066]所以在進(jìn)行映射前,如圖2所示,該方法還可以包括:
[0067]S105:在預(yù)先安裝的驅(qū)動程序中查找是否存在與所述USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序。
[0068]如果是,則直接根據(jù)已經(jīng)存儲的驅(qū)動程序,與USB設(shè)備進(jìn)行數(shù)據(jù)交互;如果否,則將所述設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
[0069]在本申請實施例中,不同的USB設(shè)備節(jié)點映射得到的HID設(shè)備節(jié)點不同,并且HID設(shè)備節(jié)點與USB設(shè)備節(jié)點是一一對應(yīng)的。
[0070]S103:在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式。
[0071]對于系統(tǒng)而言,可以通過安裝軟件或數(shù)據(jù)庫的方式來存儲不同種類的USB設(shè)備標(biāo)識所對應(yīng)的數(shù)據(jù)格式,例如在手機安裝第三方應(yīng)用程序APP。
[0072]通過查詢與USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式,就可以使得系統(tǒng)在沒有安裝相應(yīng)驅(qū)動程序的情況下,也可以識別該USB設(shè)備的數(shù)據(jù)。
[0073]S104:按照所查找到的數(shù)據(jù)格式讀取HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
[0074]利用查找到的數(shù)據(jù)格式,就可以讀取由HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù),即相當(dāng)于系統(tǒng)將USB設(shè)備傳輸?shù)臄?shù)據(jù)進(jìn)行轉(zhuǎn)碼,進(jìn)而可以實現(xiàn)系統(tǒng)無需安裝驅(qū)動程序也能夠讀取并識別該USB設(shè)備采集的數(shù)據(jù)。
[0075]由以上技術(shù)方案可見,本申請實施例提供的該方法,首先獲取接入到USB總線接口上的USB設(shè)備的USB設(shè)備標(biāo)識,這個USB設(shè)備標(biāo)識是全球通用并且是唯一的,然后生成與該USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點,并將該USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點,最后利用在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找到的與該USB設(shè)備節(jié)點相對應(yīng)的數(shù)據(jù)格式讀取該HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。進(jìn)而可以獲取到接入的USB設(shè)備傳輸?shù)臄?shù)據(jù),若該USB設(shè)備為數(shù)據(jù)采集設(shè)備,即系統(tǒng)可以讀取到USB設(shè)備所采集到的數(shù)據(jù)信息。
[0076]與現(xiàn)有技術(shù)相比,該方法無需針對每個USB設(shè)備均安裝一個驅(qū)動程序,而是將接入的USB設(shè)備映射為相對應(yīng)的標(biāo)準(zhǔn)HID輸入設(shè)備,并且通過映射的標(biāo)準(zhǔn)HID輸入設(shè)備與該USB設(shè)備進(jìn)行數(shù)據(jù)傳輸,即可以將硬件采集到的數(shù)據(jù)通過標(biāo)準(zhǔn)HID接口讀取,從而無需大量的驅(qū)動開發(fā)以及調(diào)試工作,就可以使得系統(tǒng)可以兼容不同USB設(shè)備。
[0077]實施例二:
[0078]在本申請其它實施例中,系統(tǒng)除了讀取該USB設(shè)備的采集的數(shù)據(jù)外,還可能需要向USB設(shè)備發(fā)送一些指令,以便于對USB設(shè)備進(jìn)行控制,例如:當(dāng)USB設(shè)備為攝像頭時,當(dāng)系統(tǒng)根據(jù)攝像頭采集的圖像,需要調(diào)整拍攝角度時,就可以向攝像頭發(fā)送角度調(diào)節(jié)指令。
[0079]為此,如圖3所示,在本申請實施例中,該方法還可以包括以下步驟:
[0080]S106:接收按照查找到數(shù)據(jù)格式生成的寫操作指令。
[0081]這里寫操作指令的格式必須是查找到的數(shù)據(jù)格式,否則USB設(shè)備將無法識別寫操作指令。在具體實施時,系統(tǒng)可以先根據(jù)用戶輸入或自動生成初始指令,而當(dāng)需要發(fā)送給USB設(shè)備時,再經(jīng)過轉(zhuǎn)碼等步驟,將初始指令根據(jù)查找到數(shù)據(jù)格式轉(zhuǎn)換成相應(yīng)的寫操作指令。
[0082]S107:將所述寫操作指令經(jīng)由給所述HID設(shè)備節(jié)點、USB設(shè)備節(jié)點向所述USB設(shè)備發(fā)送。
[0083]通過上述步驟,可以使得該USB設(shè)備通信方法,不僅可以讀取USB設(shè)備的采集數(shù)據(jù),而且還可以將寫操作指令發(fā)送給USB設(shè)備,以實現(xiàn)對USB設(shè)備進(jìn)行相應(yīng)的控制。
[0084]實施例三:
[0085]圖4為本申請實施例三提供的一種USB設(shè)備通信裝置的結(jié)構(gòu)示意圖。
[0086]該通信裝置與USB總線相連接,USB總線上設(shè)置有多個用于連接USB設(shè)備的接口,并且在USB總線上連接有至少一個USB設(shè)備。
[0087]如圖4所示,該USB設(shè)備通信裝置包括:獲取單元1、設(shè)備節(jié)點生成單元2、映射單元3、查找單元4和讀取單元5。
[0088]獲取單元I用于獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識。
[0089]在申請實施例中,獲取單元I可以為USB主控制器,并且當(dāng)USB設(shè)備接入到USB總線接口上后,USB主控制器與該USB設(shè)備進(jìn)行通信,查詢該USB設(shè)備,獲取到該USB設(shè)備的設(shè)備標(biāo)識。在本申請實施例中,USB設(shè)備標(biāo)識是全球通用,并且每個USB設(shè)備的設(shè)備標(biāo)識從該USB設(shè)備生產(chǎn)后就會固定不變,即一個USB設(shè)備對應(yīng)一個唯一的設(shè)備標(biāo)識。
[0090]設(shè)備節(jié)點生成單元2用于將生成與所述USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點。
[0091]如果在已經(jīng)設(shè)置有與獲取到的USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序,那么就可以通過該USB設(shè)備節(jié)點與USB設(shè)備進(jìn)行數(shù)據(jù)交互。
[0092]映射單元3用于將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
[0093]對于無法識別的USB設(shè)備標(biāo)識,沒有設(shè)置與其相對應(yīng)的驅(qū)動程序,那么此時就需要將USB設(shè)備節(jié)點映射為HID (Human Interface Device,人機接口設(shè)備)設(shè)備節(jié)點,然后通過利用HID設(shè)備節(jié)點與USB設(shè)備進(jìn)行數(shù)據(jù)交互。
[0094]為了確定獲取的USB設(shè)備標(biāo)識是否能夠識別,如圖5所示,該通信裝置還可以包括:判斷單元6。
[0095]判斷單元6用于判斷在預(yù)先安裝的驅(qū)動程序中是否存在與所述USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序。
[0096]如果判斷單元6的判斷結(jié)果為否,那么映射單元3再將USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
[0097]查找單元4用于在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與所述USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式。
[0098]在本申請實施例中,數(shù)據(jù)格式可以位于已經(jīng)安裝的軟件或數(shù)據(jù)庫內(nèi),例如在手機安裝第三方應(yīng)用程序APP等,通過查詢與USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式,就可以使得系統(tǒng)在沒有安裝相應(yīng)驅(qū)動程序的情況下,也可以識別該USB設(shè)備的數(shù)據(jù)。
[0099]讀取單元5用于按照所述數(shù)據(jù)格式讀取所述HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
[0100]利用查找到的數(shù)據(jù)格式,就可以讀取由HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù),即相當(dāng)于系統(tǒng)將USB設(shè)備傳輸?shù)臄?shù)據(jù)進(jìn)行轉(zhuǎn)碼,進(jìn)而可以實現(xiàn)系統(tǒng)無需安裝驅(qū)動程序也能夠讀取并識別該USB設(shè)備采集的數(shù)據(jù)。
[0101]另外,在本申請其他實施例中,除了讀取該USB設(shè)備的采集的數(shù)據(jù)外,還可能需要向USB設(shè)備發(fā)送一些指令,以便于對USB設(shè)備進(jìn)行控制,例如:當(dāng)USB設(shè)備為攝像頭時,當(dāng)系統(tǒng)根據(jù)攝像頭采集的圖像,需要調(diào)整拍攝角度時,就可以向攝像頭發(fā)送角度調(diào)節(jié)指令。
[0102]為此,如圖6所示,在本申請實施例中,該通信裝置還可以包括:指令接收單元7和指令發(fā)送單元8。
[0103]指令接收單元7用于接收按照所述數(shù)據(jù)格式生成的寫操作指令。
[0104]這里寫操作指令的格式必須是查找到的數(shù)據(jù)格式,否則USB設(shè)備將無法識別寫操作指令。在具體實施時,系統(tǒng)可以先根據(jù)用戶輸入或自動生成初始指令,而當(dāng)需要發(fā)送給USB設(shè)備時,再經(jīng)過轉(zhuǎn)碼等步驟,將初始指令根據(jù)查找到數(shù)據(jù)格式轉(zhuǎn)換成相應(yīng)的寫操作指令。
[0105]指令發(fā)送單元8用于將所述寫操作指令經(jīng)由給所述HID設(shè)備節(jié)點、USB設(shè)備節(jié)點向所述USB設(shè)備發(fā)送。
[0106]經(jīng)過上述指令接收以及指令方式,可以使得該USB設(shè)備通信方法,不僅可以讀取USB設(shè)備的采集數(shù)據(jù),而且還可以將寫操作指令發(fā)送給USB設(shè)備,以實現(xiàn)對USB設(shè)備進(jìn)行相應(yīng)的控制。
[0107]由以上技術(shù)方案可見,本申請實施例提供的該裝置,獲取單元獲取接入到USB總線接口上的USB設(shè)備的USB設(shè)備標(biāo)識,這個USB設(shè)備標(biāo)識是全球通用并且是唯一的,然后設(shè)備節(jié)點數(shù)生成單元生成與該USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點,然后映射單元將該USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點,最后查找單元在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找到的與該USB設(shè)備節(jié)點相對應(yīng)的數(shù)據(jù)格式,并且讀取單元根據(jù)查找到的數(shù)據(jù)格式讀取該HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
[0108]進(jìn)而可以獲取到接入的USB設(shè)備傳輸?shù)臄?shù)據(jù),若該USB設(shè)備為數(shù)據(jù)采集設(shè)備,即系統(tǒng)可以讀取到USB設(shè)備所采集到的數(shù)據(jù)信息。
[0109]與現(xiàn)有技術(shù)相比,當(dāng)該USB通信裝置應(yīng)用與安卓系統(tǒng)后,由于該USB通信裝置無需針對每個USB設(shè)備均安裝一個驅(qū)動程序,而是將接入的USB設(shè)備映射為相對應(yīng)的標(biāo)準(zhǔn)HID輸入設(shè)備,并且通過映射的標(biāo)準(zhǔn)HID輸入設(shè)備與該USB設(shè)備進(jìn)行數(shù)據(jù)傳輸,所以可以將硬件采集到的數(shù)據(jù)通過標(biāo)準(zhǔn)HID接口讀取,從而無需大量的驅(qū)動開發(fā)以及調(diào)試工作,就可以使得系統(tǒng)可以兼容不同USB設(shè)備。
[0110]實施例四:
[0111]在上述實施例三的基礎(chǔ)上,本申請實施例還提供一種電子設(shè)備,如圖7所示,該電子設(shè)備包括=USB設(shè)備通信裝置10和USB總線20,其中:USB設(shè)備通信裝置10與USB總線20相連接,在USB總線上設(shè)置有多個接口 21,并且在USB總線的多個接口 21上至少接入一個USB設(shè)備,如圖7所示,圖中30為連接在接口 21上的USB設(shè)備。
[0112]如圖4所示,該USB設(shè)備通信裝置包括:獲取單元1、設(shè)備節(jié)點生成單元2、映射單元3、查找單元4和讀取單元5。
[0113]獲取單元I用于獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識。
[0114]在申請實施例中,獲取單元I可以為USB主控制器,并且當(dāng)USB設(shè)備接入到USB總線接口上后,USB主控制器與該USB設(shè)備進(jìn)行通信,查詢該USB設(shè)備,獲取到該USB設(shè)備的設(shè)備標(biāo)識。在本申請實施例中,USB設(shè)備標(biāo)識是全球通用,并且每個USB設(shè)備的設(shè)備標(biāo)識從該USB設(shè)備生產(chǎn)后就會固定不變,即一個USB設(shè)備對應(yīng)一個唯一的設(shè)備標(biāo)識。
[0115]設(shè)備節(jié)點生成單元2用于將生成與所述USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點。
[0116]如果在已經(jīng)設(shè)置有與獲取到的USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序,那么就可以通過該USB設(shè)備節(jié)點與USB設(shè)備進(jìn)行數(shù)據(jù)交互。
[0117]映射單元3用于將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
[0118]對于無法識別的USB設(shè)備標(biāo)識,沒有設(shè)置與其相對應(yīng)的驅(qū)動程序,那么此時就需要將USB設(shè)備節(jié)點映射為HID (Human Interface Device,人機接口設(shè)備)設(shè)備節(jié)點,然后通過利用HID設(shè)備節(jié)點與USB設(shè)備進(jìn)行數(shù)據(jù)交互。
[0119]為了確定獲取的USB設(shè)備標(biāo)識是否能夠識別,如圖5所示,該通信裝置還可以包括:判斷單元6。
[0120]判斷單元6用于判斷在預(yù)先安裝的驅(qū)動程序中是否存在與所述USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序。
[0121]如果判斷單元6的判斷結(jié)果為否,那么映射單元3再將USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
[0122]查找單元4用于在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與所述USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式。
[0123]在本申請實施例中,數(shù)據(jù)格式可以位于已經(jīng)安裝的軟件或數(shù)據(jù)庫內(nèi),例如在手機安裝第三方應(yīng)用程序APP等,通過查詢與USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式,就可以使得系統(tǒng)在沒有安裝相應(yīng)驅(qū)動程序的情況下,也可以識別該USB設(shè)備的數(shù)據(jù)。
[0124]讀取單元5用于按照所述數(shù)據(jù)格式讀取所述HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
[0125]利用查找到的數(shù)據(jù)格式,就可以讀取由HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù),即相當(dāng)于系統(tǒng)將USB設(shè)備傳輸?shù)臄?shù)據(jù)進(jìn)行轉(zhuǎn)碼,進(jìn)而可以實現(xiàn)系統(tǒng)無需安裝驅(qū)動程序也能夠讀取并識別該USB設(shè)備采集的數(shù)據(jù)。
[0126]另外,在本申請其他實施例中,除了讀取該USB設(shè)備的采集的數(shù)據(jù)外,還可能需要向USB設(shè)備發(fā)送一些指令,以便于對USB設(shè)備進(jìn)行控制,例如:當(dāng)USB設(shè)備為攝像頭時,當(dāng)系統(tǒng)根據(jù)攝像頭采集的圖像,需要調(diào)整拍攝角度時,就可以向攝像頭發(fā)送角度調(diào)節(jié)指令。
[0127]為此,如圖6所示,在本申請實施例中,該通信裝置還可以包括:指令接收單元7和指令發(fā)送單元8。
[0128]指令接收單元7用于接收按照所述數(shù)據(jù)格式生成的寫操作指令。
[0129]這里寫操作指令的格式必須是查找到的數(shù)據(jù)格式,否則USB設(shè)備將無法識別寫操作指令。在具體實施時,系統(tǒng)可以先根據(jù)用戶輸入或自動生成初始指令,而當(dāng)需要發(fā)送給USB設(shè)備時,再經(jīng)過轉(zhuǎn)碼等步驟,將初始指令根據(jù)查找到數(shù)據(jù)格式轉(zhuǎn)換成相應(yīng)的寫操作指令。
[0130]指令發(fā)送單元8用于將所述寫操作指令經(jīng)由給所述HID設(shè)備節(jié)點、USB設(shè)備節(jié)點向所述USB設(shè)備發(fā)送。
[0131]經(jīng)過上述指令接收以及指令方式,可以使得該USB設(shè)備通信方法,不僅可以讀取USB設(shè)備的采集數(shù)據(jù),而且還可以將寫操作指令發(fā)送給USB設(shè)備,以實現(xiàn)對USB設(shè)備進(jìn)行相應(yīng)的控制。
[0132]由以上技術(shù)方案可見,本申請實施例提供的該電子設(shè)備中,USB設(shè)備通信裝置中的獲取單元獲取接入到USB總線接口上的USB設(shè)備的USB設(shè)備標(biāo)識,這個USB設(shè)備標(biāo)識是全球通用并且是唯一的,然后設(shè)備節(jié)點數(shù)生成單元生成與該USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點,然后映射單元將該USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點,最后查找單元在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找到的與該USB設(shè)備節(jié)點相對應(yīng)的數(shù)據(jù)格式,并且讀取單元根據(jù)查找到的數(shù)據(jù)格式讀取該HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
[0133]進(jìn)而可以獲取到接入的USB設(shè)備傳輸?shù)臄?shù)據(jù),若該USB設(shè)備為數(shù)據(jù)采集設(shè)備,即系統(tǒng)可以讀取到USB設(shè)備所采集到的數(shù)據(jù)信息。
[0134]與現(xiàn)有技術(shù)相比,該電子設(shè)備無需針對每個USB設(shè)備均安裝一個驅(qū)動程序,而是將接入的USB設(shè)備映射為相對應(yīng)的標(biāo)準(zhǔn)HID輸入設(shè)備,并且通過映射的標(biāo)準(zhǔn)HID輸入設(shè)備與該USB設(shè)備進(jìn)行數(shù)據(jù)傳輸,即可以將硬件采集到的數(shù)據(jù)通過標(biāo)準(zhǔn)HID接口讀取,從而無需大量的驅(qū)動開發(fā)以及調(diào)試工作,就可以使得系統(tǒng)可以兼容不同USB設(shè)備。
[0135]以上對本申請所提供的USB設(shè)備通信方法、裝置及電子設(shè)備。進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本申請的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本申請的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本申請的限制。
[0136]本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
[0137]需要說明的是,在本文中,諸如“大于”或“超過”或“高于”或“小于”或“低于”等之類的關(guān)系描述,均可以理解為“大于且不等于”或“小于且不等于”,也可以理解為“大于等于”或“小于等于”,而不一定要求或者暗示必須為限定的或固有的一種情況。
[0138]另外,在本文中,諸如“第一”和“第二”等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程 、方法、物品或者設(shè)備中還存在另外的相同要素。
[0139]需要說明的是,以上所述僅僅是本申請技術(shù)方案的一部分優(yōu)選【具體實施方式】,使本領(lǐng)域技術(shù)人員能夠充分理解或?qū)崿F(xiàn)本申請,而不是全部的實施例,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,基于以上實施例,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本申請原理,不做出創(chuàng)造性勞動前提下,還可以做出多種顯而易見的修改和潤飾,通過這些修改和潤飾所獲得的所有其他實施例,都可以應(yīng)用于本申請技術(shù)方案,這些都不影響本申請的實現(xiàn),都應(yīng)當(dāng)屬于本申請的保護(hù)范圍。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權(quán)利要求】
1.一種USB設(shè)備通信方法,其特征在于,包括: 獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識,并生成與所述USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點; 將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點,所述HID設(shè)備節(jié)點與USB設(shè)備節(jié)點一一對應(yīng); 在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與所述USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式; 按照所查找到的數(shù)據(jù)格式讀取所述HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述設(shè)備節(jié)點映射為HID設(shè)備節(jié)點,包括: 在預(yù)先安裝的驅(qū)動程序中查找是否存在與所述USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序; 如果否,將所述設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法還包括: 接收按照所述數(shù)據(jù)格式生成的寫操作指令; 將所述寫操作指令經(jīng)由給所述HID設(shè)備節(jié)點、USB設(shè)備節(jié)點向所述USB設(shè)備發(fā)送。
4.一種USB設(shè)備通信裝置,其特征在于,包括:獲取單元、設(shè)備節(jié)點生成單元、映射單元、查找單元和讀取單元,其中: 所述獲取單元用于獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識; 所述設(shè)備節(jié)點生成單元用于生成與所述USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點; 所述映射單元用于將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點; 所述查找單元用于在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與所述USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式; 所述讀取單元用于按照所述數(shù)據(jù)格式讀取所述HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,還包括:判斷單元, 所述判斷單元用于判斷在預(yù)先安裝的驅(qū)動程序中是否存在與所述USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序, 如果否,所述映射單元將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,還包括:指令接收單元和指令發(fā)送單元,其中, 所述指令接收單元用于接收按照所述數(shù)據(jù)格式生成的寫操作指令; 所述指令發(fā)送單元用于將所述寫操作指令經(jīng)由給所述HID設(shè)備節(jié)點、USB設(shè)備節(jié)點向所述USB設(shè)備發(fā)送。
7.一種電子設(shè)備,其特征在于,包括:設(shè)置有多個接口的USB總線和USB設(shè)備通信裝置,其中: 所述USB總線上的多個接口上至少接入一個USB設(shè)備; 所述USB通信裝置用于與接入的所述USB設(shè)備進(jìn)行通信。
8.根據(jù)權(quán)利要求7所述的電子設(shè)備,其特征在于,所述USB設(shè)備通信裝置包括:獲取單元、設(shè)備節(jié)點生成單元、映射單元、查找單元和讀取單元,其中: 所述獲取單元用于獲取USB總線接口上接入的USB設(shè)備的USB設(shè)備標(biāo)識; 所述設(shè)備節(jié)點生成單元用于生成與所述USB設(shè)備相對應(yīng)的USB設(shè)備節(jié)點; 所述映射單元用于將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點;所述查找單元用于在預(yù)設(shè)數(shù)據(jù)庫內(nèi)查找與所述USB設(shè)備標(biāo)識相對應(yīng)的數(shù)據(jù)格式; 所述讀取單元用于按照所述數(shù)據(jù)格式讀取所述HID設(shè)備節(jié)點傳輸?shù)臄?shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的電子設(shè)備,其特征在于,所述USB通信裝置還包括:判斷單元, 所述判斷單元用于判斷在預(yù)先安裝的驅(qū)動程序中是否存在與所述USB設(shè)備標(biāo)識相對應(yīng)的驅(qū)動程序, 如果否,所述映射單元將所述USB設(shè)備節(jié)點映射為HID設(shè)備節(jié)點。
10.根據(jù)權(quán)利要求9所述的電子設(shè)備,其特征在于,所述USB通信裝置還包括:指令接收單元和指令發(fā)送單元,其中, 所述指令接收單元用于接收按照所述數(shù)據(jù)格式生成的寫操作指令; 所述指令發(fā)送單元用于將所述寫操作指令經(jīng)由給所述HID設(shè)備節(jié)點、USB設(shè)備節(jié)點向所述USB設(shè)備發(fā)送。
11.根據(jù)權(quán)利要求10所述的電子設(shè)備,其特征在于,所述讀取單元、指令接收單元和指令發(fā)送單元為設(shè)置 在所述電子設(shè)備內(nèi)的應(yīng)用程序。
【文檔編號】G06F13/38GK104077252SQ201310109876
【公開日】2014年10月1日 申請日期:2013年3月29日 優(yōu)先權(quán)日:2013年3月29日
【發(fā)明者】張一冰 申請人:聯(lián)想(北京)有限公司