一種藍(lán)牙驅(qū)動(dòng)程序的配置方法及裝置的制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例公開(kāi)了一種藍(lán)牙驅(qū)動(dòng)程序的配置方法及裝置,涉及通信領(lǐng)域用以提高藍(lán)牙芯片檢測(cè)及配置的成功率和效率。在本發(fā)明中,智能電視的用戶(hù)層接收所述智能電視的內(nèi)核層上報(bào)的Netlink套接字組播消息;所述Netlink組播消息用于通知所述用戶(hù)層,當(dāng)前接入所述內(nèi)核層的設(shè)備所觸發(fā)的輸入事件;所述用戶(hù)層檢測(cè)到所述Netlink組播消息是由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào),根據(jù)所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí)和由所述藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型,配置對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序;從而解決了上述問(wèn)題。
【專(zhuān)利說(shuō)明】
一種藍(lán)牙驅(qū)動(dòng)程序的配置方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種藍(lán)牙驅(qū)動(dòng)程序的配置方法及裝置。
【背景技術(shù)】
[0002]隨著智能終端的功能的日益豐富,大部分智能終端具有藍(lán)牙功能。目前,所有支持藍(lán)牙功能的智能終端,其藍(lán)牙功能均是通過(guò)單獨(dú)的藍(lán)牙芯片實(shí)現(xiàn)。對(duì)于智能電視來(lái)說(shuō),藍(lán)牙芯片被集成在一個(gè)單獨(dú)的藍(lán)牙小板上,與電視主板通過(guò)USB總線(xiàn)連接。在USB總線(xiàn)上傳輸?shù)臄?shù)據(jù)格式和類(lèi)型由藍(lán)牙協(xié)議規(guī)定,主要包括HCI cmd、ACL Data或SCO Data。
[0003]為了使藍(lán)牙芯片能夠與電視主板通信,在藍(lán)牙芯片接入到電視主板時(shí),需要加載與該藍(lán)牙芯片的型號(hào)所匹配的驅(qū)動(dòng)程序,用于完成藍(lán)牙芯片的初始化操作。在該過(guò)程中,智能電視首先需要檢測(cè)出藍(lán)牙芯片的廠(chǎng)家、型號(hào)等設(shè)備信息,能夠查找到匹配的驅(qū)動(dòng)程序加載。在已有技術(shù)中,智能電視檢測(cè)藍(lán)牙芯片的型號(hào)的方式主要包括如下兩種:
[0004]第一種為硬件檢測(cè)方式。在已有技術(shù)中,預(yù)先為每一款藍(lán)牙芯片設(shè)定一固定電壓,利用ADC(Analog-to-Digital Converter,模數(shù)變換器)電路檢測(cè)插入的藍(lán)牙芯片的電壓,來(lái)判斷藍(lán)牙芯片型號(hào)。然而,當(dāng)支持的芯片型號(hào)過(guò)多時(shí),ADC電路的測(cè)量精度無(wú)法保證,容易出現(xiàn)檢測(cè)錯(cuò)誤情況。
[0005]第二種為軟件檢測(cè)方式。在已有技術(shù)中,通過(guò)監(jiān)控/sys/bus/usb/devices目錄是否有新的設(shè)備節(jié)點(diǎn)創(chuàng)建來(lái)判斷新設(shè)備插入,然后讀取新設(shè)備的信息來(lái)判斷是否是藍(lán)牙芯片。此種方式有兩個(gè)弊端,一個(gè)是目前Android系統(tǒng)對(duì)文件權(quán)限管理越來(lái)越嚴(yán)格,對(duì)/sys/bus/usb/devices目錄的訪(fǎng)問(wèn)需要root(超級(jí)用戶(hù))權(quán)限,因此就存在用戶(hù)程序無(wú)權(quán)訪(fǎng)問(wèn)該目錄的情況。另外一個(gè)弊端是此種方案存在時(shí)間延時(shí),會(huì)導(dǎo)致藍(lán)牙芯片檢測(cè)不及時(shí),導(dǎo)致藍(lán)牙功能打開(kāi)慢的問(wèn)題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供一種藍(lán)牙驅(qū)動(dòng)程序的配置方法及裝置,用以提高藍(lán)牙芯片檢測(cè)及配置的成功率和效率。
[0007]本發(fā)明提供了一種藍(lán)牙驅(qū)動(dòng)程序的配置方法,該方法包括:
[0008]智能電視的用戶(hù)層接收所述智能電視的內(nèi)核層上報(bào)的Netlink套接字組播消息;所述Netlink組播消息用于通知所述用戶(hù)層,當(dāng)前接入所述內(nèi)核層的設(shè)備所觸發(fā)的輸入事件;
[0009]所述用戶(hù)層檢測(cè)到所述Netlink組播消息是由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào),根據(jù)所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí)和由所述藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型,配置對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。
[0010]本發(fā)明還提供了一種藍(lán)牙驅(qū)動(dòng)程序的配置裝置,該裝置包括:
[0011]接收單元,位于智能電視的用戶(hù)層,用于接收所述智能電視的內(nèi)核層上報(bào)的Netl ink套接字組播消息;所述Ne11 ink組播消息用于通知所述用戶(hù)層,當(dāng)前接入所述內(nèi)核層的設(shè)備所觸發(fā)的輸入事件;
[0012]配置單元,位于所述智能電視的用戶(hù)層,用于檢測(cè)由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Netlink組播消息,根據(jù)所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí)和由所述藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型,配置對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。
[0013]從上述技術(shù)方案可以看出,本發(fā)明針對(duì)藍(lán)牙芯片提供了一種藍(lán)牙驅(qū)動(dòng)程序的配置的方案。在本發(fā)明中,可以通過(guò)軟件的方式準(zhǔn)確的檢測(cè)到藍(lán)牙芯片所觸發(fā)的輸入事件(如,插入或拔出事件),并確定出藍(lán)牙芯片的型號(hào)等設(shè)備信息;然后,本發(fā)明還可以根據(jù)不同型號(hào)的藍(lán)牙芯片,配置不同的藍(lán)牙驅(qū)動(dòng)程序,完成相應(yīng)初始化操作,可見(jiàn),本發(fā)明可以在不修改硬件電路的前提下,實(shí)現(xiàn)藍(lán)牙驅(qū)動(dòng)程序的準(zhǔn)確配置,并提高了藍(lán)牙芯片的檢測(cè)及配置的速率和成功率。
【附圖說(shuō)明】
[0014]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)要介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0015]圖1為本發(fā)明實(shí)施例中的一種藍(lán)牙驅(qū)動(dòng)程序的配置方法的流程示意圖;
[0016]圖2為本發(fā)明實(shí)施例中的一種檢測(cè)藍(lán)牙芯片插入或拔出事件的流程示意圖;
[0017]圖3為本發(fā)明實(shí)施例中的一種藍(lán)牙驅(qū)動(dòng)程序的配置裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0018]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0019]本發(fā)明可以應(yīng)用于各類(lèi)智能終端(如智能電視、智能手機(jī)、平板電腦等設(shè)備)上,本發(fā)明尤其可以適用于可以通過(guò)USB接口接入藍(lán)牙芯片的智能電視中。在本發(fā)明中,通過(guò)軟件的方式檢測(cè)藍(lán)牙芯片的插入和拔出事件,不需要依靠用戶(hù)層所創(chuàng)建的設(shè)備節(jié)點(diǎn),即可快速且準(zhǔn)確的加載對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。
[0020]圖1示出了本發(fā)明實(shí)施例中的一種藍(lán)牙驅(qū)動(dòng)程序的配置方法的流程示意圖,如圖1所示,該流程可以包括:
[0021]步驟11:智能電視的用戶(hù)層接收智能電視的內(nèi)核層上報(bào)的Netlink套接字組播消息;其中,Netlink組播消息用于通知用戶(hù)層,當(dāng)前接入內(nèi)核層的設(shè)備所觸發(fā)的輸入事件;
[0022]步驟12:用戶(hù)層檢測(cè)到Netlink組播消息是由接入內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào),根據(jù)Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí)和由藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型,配置對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。
[0023]可選的,在上述步驟11?步驟12中,加載預(yù)先創(chuàng)建的用于監(jiān)控藍(lán)牙芯片的輸入事件的BIuetoothMonitor進(jìn)程;其中,BluetoothMonitor進(jìn)程處于智能電視的用戶(hù)層且與EventHub進(jìn)程共享由內(nèi)核層上報(bào)的Net I ink組播消息,EventHub進(jìn)程用于處理由智能電視的內(nèi)核層上報(bào)的輸入事件;BluetoothMoni tor進(jìn)程接收內(nèi)核層上報(bào)的Net I ink組播消息;BluetoothMoni tor進(jìn)程判斷Net I ink組播消息是否由USB設(shè)備所觸發(fā)上報(bào)的,如果是,貝Ij進(jìn)一步獲取Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí),在預(yù)先設(shè)置的藍(lán)牙芯片列表中,查找是否存在與獲取到的設(shè)備標(biāo)識(shí)匹配的藍(lán)牙芯片,如果存在,則將Netlink組播消息確定為由接入內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Netl ink組播消息;否則,忽略Netl ink組播消息。
[0024]可選的,在上述步驟12中,BluetoothMonitor進(jìn)程獲取Netlink組播消息中指示出的由藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型;如果輸入事件類(lèi)型為加載驅(qū)動(dòng)程序時(shí),則加載相應(yīng)的藍(lán)牙驅(qū)動(dòng)程序;如果輸入事件類(lèi)型為移除驅(qū)動(dòng)程序時(shí),則移除相應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。
[0025]可選的,在上述步驟中,EventHub進(jìn)程同步接收由接入智能電視的內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Netlink組播消息,根據(jù)Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí),創(chuàng)建對(duì)應(yīng)的設(shè)備節(jié)點(diǎn)。
[0026]可選的,在上述步驟11之前,通過(guò)如下步驟創(chuàng)建BluetoothMoni tor進(jìn)程:創(chuàng)建用于同步接收由智能電視的內(nèi)核層上報(bào)至用戶(hù)層的Net I ink組播消息的Socket通道;定義至少能夠用于檢測(cè)Netlink組播消息中所攜帶的設(shè)備信息、輸入事件類(lèi)型的數(shù)據(jù)結(jié)構(gòu);其中,設(shè)備信息中至少包括設(shè)備ID、設(shè)備名稱(chēng)或設(shè)備識(shí)別碼。
[0027]整體來(lái)說(shuō),本發(fā)明具有如下優(yōu)點(diǎn):
[0028]第一,本發(fā)明提供一種純軟件的方式,根據(jù)藍(lán)牙芯片的插入或拔出事件,加載或移除對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序,不需要更改硬件電路。
[0029]第二,本發(fā)明可以適配各種類(lèi)型、各種型號(hào)的藍(lán)牙芯片,由于本發(fā)明預(yù)先設(shè)置有用于檢測(cè)藍(lán)牙芯片的各設(shè)備信息的藍(lán)牙芯片列表,當(dāng)存在新增的藍(lán)牙芯片設(shè)備時(shí),只需要更新或維護(hù)藍(lán)牙芯片列表即可,這樣就使同一智能平臺(tái)上自適應(yīng)多款藍(lán)牙芯片成為可能。
[0030]第三,本發(fā)明創(chuàng)建有用于檢測(cè)和監(jiān)控藍(lán)牙芯片的BluetoothMonitor進(jìn)程,提供一種藍(lán)牙驅(qū)動(dòng)程序配置機(jī)制。在本發(fā)明中,BluetoothMonitor進(jìn)程可以與Eventhub平級(jí),用于同步接收內(nèi)核層發(fā)送過(guò)來(lái)的netlink socket,即創(chuàng)建socket管道,進(jìn)而通過(guò)socket管道獲取并處理由藍(lán)牙芯片插入或拔出所觸發(fā)的輸入事件。
[0031 ]首先,在本發(fā)明中,創(chuàng)建socket管道的偽代碼可以如下:
[0032]Socket(PF_NETLINK,SOCK_DGRAM,NETLINK_KOBJECT_UEVENT)
[0033]其中,NETLINK_KOBJECT_UEVENT類(lèi)型表示設(shè)備狀態(tài)變化的消息類(lèi)型。
[0034]其次,在本發(fā)明中,獲取由藍(lán)牙芯片插入或拔出所觸發(fā)的輸入事件的偽代碼可以如下:
[0035]Struct uevent
[0036]{
[0037]String act1n;/*設(shè)備狀態(tài)變化,如adcUremove*/
[0038]String path;/*設(shè)備節(jié)點(diǎn)的目錄*/
[0039]String subsystem;/*新設(shè)備的歸屬的子系統(tǒng)*/
[0040]String firmware ;/*新設(shè)備的固件版本,可選*/
[0041 ] Int major;/*新設(shè)備的主設(shè)備號(hào)*/
[0042]Int minor;/*新設(shè)備的次設(shè)備號(hào)*/
[0043]Int pid;/*器件ID*/
[0044]Int vid;/*廠(chǎng)商ID*/
[0045]String name ;/*設(shè)備名稱(chēng)*/
[0046]}
[0047]當(dāng)然,上述創(chuàng)建socket管道的偽代碼以及獲取由藍(lán)牙芯片插入或拔出所觸發(fā)的輸入事件的偽代碼均為舉例描述,在實(shí)際應(yīng)用中,可以通過(guò)其他數(shù)據(jù)格式創(chuàng)建socket管道或獲取輸入事件,這里僅以其中一種較優(yōu)選的實(shí)現(xiàn)方式為例進(jìn)行記載。
[0048]下面對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
[0049]圖2示出了本發(fā)明實(shí)施例中的一種檢測(cè)藍(lán)牙芯片插入或拔出事件的流程示意圖,如圖2所示,該流程可以包括:
[0050]步驟21: BluetoothMonitor 進(jìn)程開(kāi)始運(yùn)行。
[0051 ] 步驟22:創(chuàng)建socket管道。
[0052]步驟23:BluetoothMonitor進(jìn)程同步接收由位于Linux內(nèi)核層的USB subsystem上報(bào)給Eventhub的Netlink socket組播消息。
[0053]步驟24:訪(fǎng)問(wèn)接收到的Netlink socket組播消息中的subsystem成員,判斷獲取到的Netlink socket組播消息是否是由USB設(shè)備觸發(fā)上報(bào)的輸入事件,如果是,則繼續(xù)執(zhí)行步驟25,否則,跳回執(zhí)行步驟23。
[0054]步驟25:訪(fǎng)問(wèn)接收到的Net I ink socket組播消息中的pid成員、vid成員和name成員,判斷獲取到的Net I ink socket組播消息中攜帶的USB設(shè)備的設(shè)備標(biāo)識(shí)是否與已知藍(lán)牙芯片信息匹配,如果匹配,則繼續(xù)執(zhí)行步驟26,如果不匹配,則結(jié)束本次流程。
[0055]具體實(shí)現(xiàn)時(shí),在本發(fā)明實(shí)施例中,可以通過(guò)預(yù)先生成的藍(lán)牙芯片或設(shè)備列表記錄所有已知的藍(lán)牙芯片的信息,如Pid(器件ID或稱(chēng)為設(shè)備ID)、vid;(廠(chǎng)商ID)、name(設(shè)備名稱(chēng))等等設(shè)備信息;當(dāng)然,本發(fā)明實(shí)施例不僅可以記錄各種藍(lán)牙設(shè)備信息,還可以周期的對(duì)藍(lán)牙芯片或設(shè)備列表記錄中所記錄的藍(lán)牙芯片信息進(jìn)行更新和維護(hù),從而保證本發(fā)明實(shí)施例檢測(cè)到的藍(lán)牙芯片的信息的準(zhǔn)確性。
[°°56] 步驟26:訪(fǎng)問(wèn)接收到的Netl ink socket組播消息中的act 1n成員,判斷獲取到的Netlink socket組播消息所指示出的輸入事件類(lèi)型,如果輸入事件類(lèi)型為加載藍(lán)牙驅(qū)動(dòng)程序,則繼續(xù)執(zhí)行步驟27;如果輸入事件類(lèi)型為移除藍(lán)牙驅(qū)動(dòng)程序,則直接執(zhí)行步驟28。
[0057]步驟27:加載與藍(lán)牙芯片匹配的藍(lán)牙驅(qū)動(dòng)程序,加載firmware(固件),并進(jìn)行初始化操作。
[0058]步驟28:注銷(xiāo)藍(lán)牙芯片的工作,移除或卸載對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。
[0059]從上述技術(shù)方案可以看出,本發(fā)明針對(duì)藍(lán)牙芯片提供了一種藍(lán)牙驅(qū)動(dòng)程序的配置的方案。在本發(fā)明中,可以通過(guò)軟件的方式準(zhǔn)確的檢測(cè)到藍(lán)牙芯片所觸發(fā)的輸入事件(如,插入或拔出事件),并確定出藍(lán)牙芯片的型號(hào)等設(shè)備信息;然后,本發(fā)明還可以根據(jù)不同型號(hào)的藍(lán)牙芯片,配置不同的藍(lán)牙驅(qū)動(dòng)程序,完成相應(yīng)初始化操作,可見(jiàn),本發(fā)明可以在不修改硬件電路的前提下,實(shí)現(xiàn)藍(lán)牙驅(qū)動(dòng)程序的準(zhǔn)確配置,并提高了藍(lán)牙芯片的檢測(cè)及配置的速率和成功率。
[0060]基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供一種一種藍(lán)牙驅(qū)動(dòng)程序的配置裝置,圖3示出了本發(fā)明實(shí)施例中的一種藍(lán)牙驅(qū)動(dòng)程序的配置裝置的結(jié)構(gòu)示意圖,如圖3所示,該裝置可以包括:
[0061]接收單元31,位于智能電視的用戶(hù)層,用于接收所述智能電視的內(nèi)核層上報(bào)的Netl ink套接字組播消息;所述Ne11 ink組播消息用于通知所述用戶(hù)層,當(dāng)前接入所述內(nèi)核層的設(shè)備所觸發(fā)的輸入事件;
[0062]配置單元32,位于所述智能電視的用戶(hù)層,用于檢測(cè)由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Netlink組播消息,根據(jù)所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí)和由所述藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型,配置對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。
[0063]可選的,所述接收單元31具體用于:加載預(yù)先創(chuàng)建的用于監(jiān)控藍(lán)牙芯片的輸入事件的BluetoothMonitor進(jìn)程;其中,所述BluetoothMonitor進(jìn)程處于所述智能電視的用戶(hù)層且與EventHub進(jìn)程共享由所述內(nèi)核層上報(bào)的Netl ink組播消息,所述EventHub進(jìn)程用于處理由所述智能電視的內(nèi)核層上報(bào)的輸入事件;由所述BluetoothMonitor進(jìn)程接收所述內(nèi)核層上報(bào)的Netlink組播消息;所述配置單元32具體用于:由所述BluetoothMonitor進(jìn)程判斷所述Netlink組播消息是否由USB設(shè)備所觸發(fā)上報(bào)的,如果是,則進(jìn)一步獲取所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí),在預(yù)先設(shè)置的藍(lán)牙芯片列表中,查找是否存在與獲取到的設(shè)備標(biāo)識(shí)匹配的藍(lán)牙芯片,如果存在,則將所述Netlink組播消息確定為由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Netl ink組播消息;否則,忽略所述Netl ink組播消息。
[0064]可選的,所述配置單元32具體用于:
[0065]由所述BluetoothMonitor進(jìn)程獲取所述Netl ink組播消息中指示出的由所述藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型;如果所述輸入事件類(lèi)型為加載驅(qū)動(dòng)程序時(shí),則加載相應(yīng)的藍(lán)牙驅(qū)動(dòng)程序;如果所述輸入事件類(lèi)型為移除驅(qū)動(dòng)程序時(shí),則移除相應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。
[0066]可選的,該裝置還包括:
[0067 ]創(chuàng)建單元,用于由所述EventHub進(jìn)程同步接收由接入所述智能電視的內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Netlink組播消息,根據(jù)所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí),創(chuàng)建對(duì)應(yīng)的設(shè)備節(jié)點(diǎn)。
[0068]可選的,所述接收單元31還用于:
[0069]創(chuàng)建用于同步接收由所述智能電視的內(nèi)核層上報(bào)至用戶(hù)層的Netlink組播消息的Socket通道;定義至少能夠用于檢測(cè)所述Netl ink組播消息所攜帶的設(shè)備信息、輸入事件類(lèi)型的數(shù)據(jù)結(jié)構(gòu);其中,所述設(shè)備信息中至少包括設(shè)備ID、設(shè)備名稱(chēng)或設(shè)備識(shí)別碼。
[0070]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器,使得通過(guò)該計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令可實(shí)現(xiàn)流程圖中的一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0071]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0072]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖的一個(gè)流程或多個(gè)流程和/或方框圖的一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0073]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0074]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【主權(quán)項(xiàng)】
1.一種藍(lán)牙驅(qū)動(dòng)程序的配置方法,其特征在于,該方法包括: 智能電視的用戶(hù)層接收所述智能電視的內(nèi)核層上報(bào)的Netlink套接字組播消息;所述Netlink組播消息用于通知所述用戶(hù)層,當(dāng)前接入所述內(nèi)核層的設(shè)備所觸發(fā)的輸入事件; 所述用戶(hù)層檢測(cè)到所述Netlink組播消息是由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào),根據(jù)所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí)和由所述藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型,配置對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。2.如權(quán)利要求1所述的方法,其特征在于,所述接收所述Netlink組播消息并檢測(cè)到所述Netlink組播消息是由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào),包括: 加載預(yù)先創(chuàng)建的用于監(jiān)控藍(lán)牙芯片的輸入事件的BluetoothMonitor進(jìn)程;其中,所述BluetoothMoni tor進(jìn)程處于所述智能電視的用戶(hù)層且與EventHub進(jìn)程共享由所述內(nèi)核層上報(bào)的Net I ink組播消息,所述EventHub進(jìn)程用于處理由所述智能電視的內(nèi)核層上報(bào)的輸入事件; 所述BluetoothMonitor進(jìn)程接收所述內(nèi)核層上報(bào)的Netl ink組播消息; 所述BluetoothMoni tor進(jìn)程判斷所述Net I ink組播消息是否由USB設(shè)備所觸發(fā)上報(bào)的,如果是,則進(jìn)一步獲取所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí),在預(yù)先設(shè)置的藍(lán)牙芯片列表中,查找是否存在與獲取到的設(shè)備標(biāo)識(shí)匹配的藍(lán)牙芯片,如果存在,則將所述Netlink組播消息確定為由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Netlink組播消息;否則,忽略所述Net I ink組播消息。3.如權(quán)利要求2所述的方法,其特征在于,所述配置對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序,包括: 所述BluetoothMoni tor進(jìn)程獲取所述Netl ink組播消息中指示出的由所述藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型; 如果所述輸入事件類(lèi)型為加載驅(qū)動(dòng)程序時(shí),則加載相應(yīng)的藍(lán)牙驅(qū)動(dòng)程序; 如果所述輸入事件類(lèi)型為移除驅(qū)動(dòng)程序時(shí),則移除相應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。4.如權(quán)利要求3所述的方法,其特征在于,該方法還包括: 所述EventHub進(jìn)程同步接收由接入所述智能電視的內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Net I ink組播消息,根據(jù)所述Net I ink組播消息中攜帶的設(shè)備標(biāo)識(shí),創(chuàng)建對(duì)應(yīng)的設(shè)備節(jié)點(diǎn)。5.如權(quán)利要求2-4中任一項(xiàng)所述的方法,其特征在于,通過(guò)如下步驟創(chuàng)建所述BluetoothMonitor 進(jìn)程: 創(chuàng)建用于同步接收由所述智能電視的內(nèi)核層上報(bào)至用戶(hù)層的Netlink組播消息的Socket 通道; 定義至少能夠用于檢測(cè)所述Netlink組播消息中所攜帶的設(shè)備信息、輸入事件類(lèi)型的數(shù)據(jù)結(jié)構(gòu); 其中,所述設(shè)備信息中至少包括設(shè)備ID、設(shè)備名稱(chēng)或設(shè)備識(shí)別碼。6.一種藍(lán)牙驅(qū)動(dòng)程序的配置裝置,其特征在于,該裝置包括: 接收單元,位于智能電視的用戶(hù)層,用于接收所述智能電視的內(nèi)核層上報(bào)的Netlink套接字組播消息;所述Netlink組播消息用于通知所述用戶(hù)層,當(dāng)前接入所述內(nèi)核層的設(shè)備所觸發(fā)的輸入事件; 配置單元,位于所述智能電視的用戶(hù)層,用于檢測(cè)由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Netlink組播消息,根據(jù)所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí)和由所述藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型,配置對(duì)應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。7.如權(quán)利要求6所述的裝置,其特征在于,所述接收單元具體用于: 加載預(yù)先創(chuàng)建的用于監(jiān)控藍(lán)牙芯片的輸入事件的BluetoothMonitor進(jìn)程;其中,所述BluetoothMoni tor進(jìn)程處于所述智能電視的用戶(hù)層且與EventHub進(jìn)程共享由所述內(nèi)核層上報(bào)的Net I ink組播消息,所述EventHub進(jìn)程用于處理由所述智能電視的內(nèi)核層上報(bào)的輸入事件;由所述BluetoothMoni tor進(jìn)程接收所述內(nèi)核層上報(bào)的Net I ink組播消息; 所述配置單元具體用于:由所述BluetoothMoni tor進(jìn)程判斷所述Net I ink組播消息是否由USB設(shè)備所觸發(fā)上報(bào)的,如果是,則進(jìn)一步獲取所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí),在預(yù)先設(shè)置的藍(lán)牙芯片列表中,查找是否存在與獲取到的設(shè)備標(biāo)識(shí)匹配的藍(lán)牙芯片,如果存在,則將所述Netlink組播消息確定為由接入所述內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Net I ink組播消息;否則,忽略所述Net I ink組播消息。8.如權(quán)利要求7所述的裝置,其特征在于,所述配置單元具體用于: 由所述BluetoothMoni tor進(jìn)程獲取所述Net I ink組播消息中指示出的由所述藍(lán)牙芯片觸發(fā)的輸入事件的類(lèi)型;如果所述輸入事件類(lèi)型為加載驅(qū)動(dòng)程序時(shí),則加載相應(yīng)的藍(lán)牙驅(qū)動(dòng)程序;如果所述輸入事件類(lèi)型為移除驅(qū)動(dòng)程序時(shí),則移除相應(yīng)的藍(lán)牙驅(qū)動(dòng)程序。9.如權(quán)利要求8所述的裝置,其特征在于,該裝置還包括: 創(chuàng)建單元,用于由所述EventHub進(jìn)程同步接收由接入所述智能電視的內(nèi)核層的藍(lán)牙芯片所觸發(fā)上報(bào)的Netlink組播消息,根據(jù)所述Netlink組播消息中攜帶的設(shè)備標(biāo)識(shí),創(chuàng)建對(duì)應(yīng)的設(shè)備節(jié)點(diǎn)。10.如權(quán)利要求7-9中任一項(xiàng)所述的裝置,其特征在于,所述接收單元還用于: 創(chuàng)建用于同步接收由所述智能電視的內(nèi)核層上報(bào)至用戶(hù)層的Netlink組播消息的Socket通道;定義至少能夠用于檢測(cè)所述Netl ink組播消息所攜帶的設(shè)備信息、輸入事件類(lèi)型的數(shù)據(jù)結(jié)構(gòu);其中,所述設(shè)備信息中至少包括設(shè)備ID、設(shè)備名稱(chēng)或設(shè)備識(shí)別碼。
【文檔編號(hào)】G06F9/44GK106095413SQ201610379869
【公開(kāi)日】2016年11月9日
【申請(qǐng)日】2016年5月31日
【發(fā)明人】初德進(jìn)
【申請(qǐng)人】青島海信電器股份有限公司