本發(fā)明涉及互聯(lián)網(wǎng)應用技術(shù)領(lǐng)域,特別是一種實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的SDK和方法。
背景技術(shù):
隨著智能設備(如智能照明設備、智能攝像機等)的快速普及,各種智能設備的操控方式也不盡相同,有藍牙的,有WIFI(WIreless-Fidelity,無線保真)的,有ZigBee(紫蜂)的,等等。對這些智能設備的設置和控制操作基本都離不開智能控制終端或系統(tǒng)上的智能控制模塊,如APP(Application,應用程序)等,發(fā)明人發(fā)現(xiàn),目前智能控制模塊對于不同通信協(xié)議類型的無線通信模塊(即,藍牙、WIFI或ZigBee等)沒有統(tǒng)一的調(diào)用方式,基本上是各種通信協(xié)議類型對應一套實現(xiàn)方式,沒有統(tǒng)一的規(guī)范,這樣開發(fā)周期較長、成本較高,亟待解決這一問題。
技術(shù)實現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的SDK(Software Development Kit,軟件開發(fā)包)和相應的方法。
依據(jù)本發(fā)明的一方面,提供了一種實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的軟件開發(fā)包SDK,包括:
應用接口組件,用于將對不同協(xié)議類型的無線通信模塊的控制操作封裝成統(tǒng)一的接口,以供外部統(tǒng)一調(diào)用;
設備組件,用于將所述不同協(xié)議類型的無線通信模塊抽象成獨立的類,每個類預留對應的協(xié)議類型的適配器的接口;
至少兩類適配器,其中,各類適配器對相應的協(xié)議類型的無線通信模塊進行控制操作。
可選地,所述無線通信模塊位于智能設備中,所述應用接口組件針對不同類型的智能設備提供不同類型的控制操作的接口。
可選地,若封裝的統(tǒng)一的接口包括多個,則各接口對應所述不同協(xié)議類型的無線通信模塊的一個或多個控制操作。
可選地,所述應用接口組件還用于搜索不同協(xié)議類型的無線通信模塊以及創(chuàng)建不同協(xié)議類型的無線通信模塊的標識。
可選地,所述應用接口組件包括實現(xiàn)設備發(fā)現(xiàn)的功能的接口,該接口定義有第一方法和第二方法,所述第一方法用于搜索不同協(xié)議類型的無線通信模塊,所述第二方法用于通過無線通信模塊回復的消息來創(chuàng)建相應協(xié)議類型的無線通信模塊的標識。
可選地,所述設備組件中的各個類實現(xiàn)所述應用接口組件中封裝的統(tǒng)一的接口,當該接口被調(diào)用時,所述設備組件還用于根據(jù)所述應用接口組件創(chuàng)建的標識對應的協(xié)議類型,調(diào)用相應協(xié)議類型的適配器的接口,以利用相應協(xié)議類型的適配器對相應協(xié)議類型的無線通信模塊進行控制操作。
可選地,所述設備組件中定義有第一基類以及繼承自所述第一基類的至少兩個第二基類,各個第二基類對應不同的協(xié)議類型,通過繼承所述至少兩個第二基類將所述不同協(xié)議類型的無線通信模塊抽象成獨立的類。
可選地,所述第一基類中定義有抽象方法,所述至少兩個第二基類在繼承所述第一基類時實現(xiàn)定義的抽象方法。
可選地,所述至少兩類適配器對應有統(tǒng)一接口,所述統(tǒng)一接口中定義有對無線通信模塊進行控制操作的方法,各類適配器實現(xiàn)所述統(tǒng)一接口中定義的方法來實現(xiàn)對相應協(xié)議類型的無線通信模塊進行控制操作。
可選地,所述控制操作包括將從無線通信模塊讀取的消息提交給所述設備組件的操作,所述設備組件還用于解析所述消息,得到所述消息中包含的無線通信模塊的參數(shù)數(shù)據(jù),將所述參數(shù)數(shù)據(jù)更新到各個類中。
可選地,所述軟件開發(fā)包用于智能控制終端或系統(tǒng)上的智能控制模塊的調(diào)用,從而實現(xiàn)智能控制終端或系統(tǒng)通過智能控制模塊調(diào)用所述軟件開發(fā)包提供的統(tǒng)一的接口來遠程控制不同協(xié)議類型的無線通信模塊。
依據(jù)本發(fā)明的另一方面,還提供了一種實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的方法,包括:
將對不同協(xié)議類型的無線通信模塊的控制操作封裝成統(tǒng)一的接口,以供外部統(tǒng)一調(diào)用;
將所述不同協(xié)議類型的無線通信模塊抽象成獨立的類,每個類預留對應的協(xié)議類型的適配器的接口;
調(diào)用相應協(xié)議類型的適配器的接口,利用相應協(xié)議類型的適配器對相應協(xié)議類型的無線通信模塊進行控制操作。
可選地,所述無線通信模塊位于智能設備中,所述方法還包括:
針對不同類型的智能設備提供不同類型的控制操作的接口。
可選地,所述方法還包括:
搜索不同協(xié)議類型的無線通信模塊,并通過無線通信模塊回復的消息來創(chuàng)建相應協(xié)議類型的無線通信模塊的標識。
可選地,所述調(diào)用相應協(xié)議類型的適配器的接口,包括:
各個類實現(xiàn)封裝的統(tǒng)一的接口,當該接口被調(diào)用時,根據(jù)創(chuàng)建的標識對應的協(xié)議類型,調(diào)用相應協(xié)議類型的適配器的接口。
可選地,所述方法還包括:
從無線通信模塊讀取消息,并解析所述消息,得到所述消息中包含的無線通信模塊的參數(shù)數(shù)據(jù),進而將所述參數(shù)數(shù)據(jù)更新到各個類中。
本發(fā)明實施例提供了一種軟件開發(fā)包(SDK),其包括應用接口組件、設備組件以及至少兩類適配器,其中,由設備組件將不同協(xié)議類型的無線通信模塊抽象成獨立的類,每個類預留對應的協(xié)議類型的適配器的接口,通過預留的適配器的接口調(diào)用各類適配器對相應的協(xié)議類型的無線通信模塊進行控制操作,并由應用接口組件將對不同協(xié)議類型的無線通信模塊的控制操作封裝成統(tǒng)一的接口,提供給外部(即智能控制模塊,如APP等)統(tǒng)一調(diào)用,讓外部能夠無差別地調(diào)用不同協(xié)議類型的無線通信模塊,無需感知底層調(diào)用細節(jié),從而降低外部的復雜性和提高外部程序的可維護性。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
根據(jù)下文結(jié)合附圖對本發(fā)明具體實施例的詳細描述,本領(lǐng)域技術(shù)人員將會更加明了本發(fā)明的上述以及其他目的、優(yōu)點和特征。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明一實施例的實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的軟件開發(fā)包的結(jié)構(gòu)示意圖;
圖2示出了根據(jù)本發(fā)明一實施例的實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的軟件開發(fā)包的分層結(jié)構(gòu)示意圖;
圖3示出了根據(jù)本發(fā)明一實施例的適配層的UML結(jié)構(gòu)圖;
圖4示出了根據(jù)本發(fā)明一實施例的設備層的UML結(jié)構(gòu)圖;
圖5示出了根據(jù)本發(fā)明一實施例的接口層的UML結(jié)構(gòu)圖;以及
圖6示出了根據(jù)本發(fā)明一實施例的實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的方法的流程圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
為解決上述技術(shù)問題,本發(fā)明實施例提供了一種實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的軟件開發(fā)包(SDK)。圖1示出了根據(jù)本發(fā)明一實施例的實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的軟件開發(fā)包的結(jié)構(gòu)示意圖。如圖1所示,該軟件開發(fā)包100可以包括:應用接口組件110、設備組件120、至少兩類適配器130。
在本實施例的軟件開發(fā)包100的各部件中,應用接口組件110用于將對不同協(xié)議類型的無線通信模塊的控制操作封裝成統(tǒng)一的接口,以供外部統(tǒng)一調(diào)用;設備組件120用于將不同協(xié)議類型的無線通信模塊抽象成獨立的類,每個類預留對應的協(xié)議類型的適配器的接口;至少兩類適配器130中的各類適配器對相應的協(xié)議類型的無線通信模塊進行控制操作。
使用本實施例的軟件開發(fā)包100,也即軟件開發(fā)工具包,其將對不同協(xié)議類型的無線通信模塊的控制操作封裝成統(tǒng)一的接口,提供給外部(即智能控制模塊,如APP等)統(tǒng)一調(diào)用,讓外部能夠無差別地調(diào)用不同協(xié)議類型的無線通信模塊,無需感知底層調(diào)用細節(jié),從而降低外部的復雜性和提高外部程序的可維護性。
在本發(fā)明的可選實施例中,無線通信模塊可以位于智能設備(如智能照明設備、智能攝像機、智能空氣凈化器等)中,軟件開發(fā)包100可以通過遠程控制無線通信模塊來控制智能設備。在實際應用中,開發(fā)者可以基于軟件開發(fā)包100來開發(fā)智能控制終端或系統(tǒng)上的智能控制模塊(例如,將軟件開發(fā)包100安裝在智能控制模塊中),這樣可以利用智能控制模塊來遠程控制無線通信模塊,進而來控制智能設備。這里的智能控制終端可以是電腦、智能手機、智能手表等終端,例如,智能控制終端為智能手機,則智能控制模塊可以是智能手機上的APP,這樣,用戶可以操控APP來遠程控制無線通信模塊,進而來控制智能設備。具體地,當用戶操控APP時,APP調(diào)用軟件開發(fā)包100提供的統(tǒng)一的接口來遠程控制不同協(xié)議類型的無線通信模塊,從而實現(xiàn)對智能設備的控制。
為了滿足對不同類型的智能設備的控制需求,軟件開發(fā)包100中的應用接口組件110還可以針對不同類型的智能設備提供不同類型的控制操作的接口。舉例來說,當智能設備為智能照明設備時,應用接口組件110提供的控制操作的接口可以如連接、斷開接口,回調(diào)接口,狀態(tài)查詢接口,設置、控制(如定時器設置、參數(shù)設置、開關(guān)、調(diào)光、調(diào)色、調(diào)亮度等)接口,OTA(Over-the-Air,空中下載)升級接口,等等,本發(fā)明不限于此。當智能設備為智能攝像機時,應用接口組件110提供的控制操作的接口可以如連接、斷開接口,回調(diào)接口,狀態(tài)查詢接口,設置、控制(如攝像機名稱、相關(guān)參數(shù)設置、開關(guān)、調(diào)節(jié)聲音、調(diào)節(jié)攝像畫面等)接口、OTA升級接口,等等,本發(fā)明不限于此。需要說明的是,此處舉例僅是示意性的,并不對本發(fā)明進行限制。
在本發(fā)明的可選實施例中,若封裝的統(tǒng)一的接口包括多個,則各接口可以對應不同協(xié)議類型的無線通信模塊的一個或多個控制操作。例如,在上文的舉例中,連接、斷開接口對應有連接操作和斷開操作,狀態(tài)查詢接口對應狀態(tài)查詢操作,等等。
在本發(fā)明的可選實施例中,軟件開發(fā)包100中的應用接口組件110還用于搜索不同協(xié)議類型的無線通信模塊以及創(chuàng)建不同協(xié)議類型的無線通信模塊的標識。具體地,應用接口組件110可以包括實現(xiàn)設備發(fā)現(xiàn)的功能的接口,不妨定義為IFindDevice接口,該接口定義有第一方法和第二方法,第一方法用于搜索不同協(xié)議類型的無線通信模塊,第二方法用于通過無線通信模塊回復的消息來創(chuàng)建相應協(xié)議類型的無線通信模塊的標識。這里,無線通信模塊回復的消息中攜帶有無線通信模塊的相關(guān)信息(如型號或編號、通信協(xié)議類型、IP地址等),從而可以根據(jù)消息中攜帶的無線通信模塊的相關(guān)信息來創(chuàng)建相應協(xié)議類型的無線通信模塊的標識。
在本發(fā)明的可選實施例中,設備組件120中的各個類實現(xiàn)應用接口組件110中封裝的統(tǒng)一的接口,當統(tǒng)一的接口被調(diào)用時,設備組件120還用于根據(jù)應用接口組件110創(chuàng)建的標識對應的協(xié)議類型,調(diào)用相應協(xié)議類型的適配器的接口,以利用相應協(xié)議類型的適配器對相應協(xié)議類型的無線通信模塊進行控制操作。由此可見,設備組件120可以根據(jù)無線通信模塊的協(xié)議類型匹配相應的適配器,實現(xiàn)自由切換適配器,靈活度高。
為了更加清楚地說明軟件開發(fā)包100中各部件與不同協(xié)議類型的無線通信模塊的結(jié)構(gòu)關(guān)系,圖2中將軟件開發(fā)包100劃分為三層結(jié)構(gòu),即應用接口層、設備層以及適配層,分別對應應用接口組件110、設備組件120以及至少兩類適配器130。圖2中還例舉了各層的功能,下面將分別進行詳細介紹。
首先,應用接口層中的應用接口組件110將對不同協(xié)議類型的無線通信模塊的控制操作封裝成統(tǒng)一的接口(如設備發(fā)現(xiàn)接口,連接、斷開接口,回調(diào)接口,狀態(tài)查詢接口,設置、控制接口,OTA升級接口,等等),以供外部統(tǒng)一調(diào)用,從而屏蔽底部實現(xiàn)細節(jié)。這里的外部可以如APP,一般是APP的UI(User Interface,用戶界面)層。
其次,設備層中的設備組件120將不同協(xié)議類型的無線通信模塊抽象成獨立的類,每個類預留對應的協(xié)議類型的適配器的接口,圖2中示意的不同協(xié)議類型的無線通信模塊包括有WIFI和藍牙無線通信模塊,當然并不限于此,還可以有ZigBee等無線通信模塊。
再者,適配層中的至少兩類適配器130,包括WIFI連接適配器和藍牙連接適配器,各類適配器對相應的協(xié)議類型的無線通信模塊進行控制操作。另外,圖2中還示意了WIFI無線通信模塊和藍牙無線通信模塊,它們位于智能終端中,從而通過遠程控制無線通信模塊來控制智能設備。
對于外部來說,可以調(diào)用應用接口組件110提供的實現(xiàn)設備發(fā)現(xiàn)的功能的IFindDevice接口,由該接口的第一方法來搜索不同協(xié)議類型的無線通信模塊,以及由該接口的第二方法通過無線通信模塊回復的消息來創(chuàng)建相應協(xié)議類型的無線通信模塊的標識。進一步地,外部還可以調(diào)用應用接口組件110封裝的統(tǒng)一的接口,從而設備組件120根據(jù)應用接口組件110創(chuàng)建的標識對應的協(xié)議類型,調(diào)用相應協(xié)議類型的適配器130的接口,進而利用相應協(xié)議類型的適配器130對相應協(xié)議類型的無線通信模塊進行控制操作。
在本發(fā)明的可選實施例中,在適配器130對相應協(xié)議類型的無線通信模塊進行控制操作時,能夠?qū)碜詰媒涌诮M件110的控制指令轉(zhuǎn)換成相應協(xié)議類型的目標指令,進而將目標指令發(fā)送給相應協(xié)議類型的無線通信模塊,從而相應協(xié)議類型的無線通信模塊在接收到目標指令后能夠識別該目標指令,進而根據(jù)識別結(jié)果對智能終端進行控制。
下面將結(jié)合UML(Unified Modeling Language,統(tǒng)一建模語言)結(jié)構(gòu)圖來對上述三層結(jié)構(gòu)中的各部件進行介紹,在UML結(jié)構(gòu)圖中,以無線通信模塊為WIFI無線通信模塊和藍牙無線通信模塊為例。
(一)適配層
適配層中的至少兩類適配器130對應有統(tǒng)一接口,該統(tǒng)一接口中定義有對無線通信模塊進行控制操作的方法,各類適配器130實現(xiàn)該統(tǒng)一接口中定義的方法來實現(xiàn)對相應協(xié)議類型的無線通信模塊進行控制操作。
圖3示意了適配層的UML結(jié)構(gòu)圖,圖3中適配層主要有三個類,分別為BaseConnectionAdapter、BleConnectionAdapter、WiFiConnectionAdapter,其中,BaseConnectionAdapter是統(tǒng)一接口,該統(tǒng)一接口中定義有對無線通信模塊進行控制操作的方法,如connect()是連接無線通信模塊、disconnect()是斷開無線通信模塊、release()是釋放資源、write(byte[]data)是往無線通信模塊寫數(shù)據(jù)(即,操作無線通信模塊,進而操作智能設備)、callback(byte[]data)將從無線通信模塊讀取的消息拋給上層,isconnect()判斷無線通信模塊是否連接,等等,本發(fā)明不限于此。
BleConnectionAdapter和WiFiConnectionAdapter分別實現(xiàn)了上述統(tǒng)一接口,即實現(xiàn)了該統(tǒng)一接口定義的對無線通信模塊進行控制操作的方法。
(二)設備層
設備層中的設備組件120定義有第一基類以及繼承自第一基類的至少兩個第二基類,各個第二基類對應不同的協(xié)議類型,通過繼承至少兩個第二基類將不同協(xié)議類型的無線通信模塊抽象成獨立的類。此外,若第一基類中定義有抽象方法,則至少兩個第二基類在繼承第一基類時實現(xiàn)定義的抽象方法。
圖4示意了設備層的UML結(jié)構(gòu)圖,在圖4中,類BaseSmartDevice為第一基類,它是抽象類,是無線通信模塊的最頂層的基類,此類包括了無線通信模塊的基本信息和BaseConnectionAdapter接口,即,適配層中適配器的統(tǒng)一接口。
在圖4中,類BaseBleSmartDevice是繼承自BaseSmartDevice的藍牙無線通信模塊的基類,它實現(xiàn)了父類(即類BaseSmartDevice)中定義的抽象方法。類BaseWifiSmartDevice是繼承自BaseSmartDevice的WIFI無線通信模塊的基類,它實現(xiàn)了父類(即類BaseSmartDevice)中定義的抽象方法。
進一步地,所有不同協(xié)議類型的無線通信模塊直接繼承類BaseBleSmartDevice和類BaseWiFiSmartDevice,從而將不同協(xié)議類型的無線通信模塊抽象成獨立的類。如圖4所示,類BleMusicWakeUpBedLamp和類BlePM25Light繼承自類BaseBleSmartDevice;類WifiMusicWakeUpBedLamp和類WifiPM25Light繼承自類BaseWiFiSmartDevice。另外,設備組件120中的各個類實現(xiàn)應用接口組件110中封裝的統(tǒng)一的接口。
設備層中的設備組件120提供一個重要的方法analyze(),它是用來解析BaseConnectionAdapter中callback(byte[]data)中的數(shù)據(jù),即,從無線通信模塊讀取的消息,設備組件120解析該消息,得到該消息中包含的無線通信模塊的參數(shù)數(shù)據(jù),將參數(shù)數(shù)據(jù)更新到各個類中。
(三)接口層
接口層的UML結(jié)構(gòu)圖如圖5所示,圖5中示意了封裝的兩個統(tǒng)一接口,分別是IPM25Light和IMusicWakeUpBedLamp,以及實現(xiàn)設備發(fā)現(xiàn)的功能的IFindDevice接口。
上文提到,應用接口組件110封裝的統(tǒng)一的接口可以包括多個,各個接口可以對應不同協(xié)議類型的無線通信模塊的一個或多個控制操作。在圖5示意的接口IPM25Light和IMusicWakeUpBedLamp中,它們各自定義了若干方法,這些方法可以用來實現(xiàn)相應的控制操作。例如,在接口IPM25Light中,其定義了open()、close()方法來分別實現(xiàn)開啟、關(guān)閉操作。需要說明的是,圖5示意的接口和各接口中定義的方法僅是示意性的,并不對本發(fā)明進行限制。
進一步地,為了滿足對不同類型的智能設備的控制需求,應用接口組件110還可以針對不同類型的智能設備提供不同類型的控制操作的接口,各接口可以定義不同類型的控制操作的方法。例如,對于智能照明設備,一般接口包含的方法有連接、斷開、開關(guān)、調(diào)光、調(diào)色、調(diào)亮度、狀態(tài)查詢、定時器設置、參數(shù)設置、OTA升級、資源釋放等,本發(fā)明不限于此。
接口層的一個非常重要的功能是實現(xiàn)設備發(fā)現(xiàn),應用接口組件110提供了實現(xiàn)設備發(fā)現(xiàn)的功能的IFindDevice接口,如圖5所示,該接口定義有第一方法scandevice()方法和第二方法createdevice(byte[]data)方法,第一方法用于搜索不同協(xié)議類型的無線通信模塊,第二方法用于通過無線通信模塊回復的消息來創(chuàng)建相應協(xié)議類型的無線通信模塊的標識。這里,無線通信模塊回復的消息中攜帶有無線通信模塊的相關(guān)信息(如型號或編號、通信協(xié)議類型、IP地址等),從而可以根據(jù)消息中攜帶的無線通信模塊的相關(guān)信息來創(chuàng)建相應協(xié)議類型的無線通信模塊的標識。在圖5中,具體通過FindDeviceManager類來實現(xiàn)IFindDevice接口中定義的方法。
進一步地,設備組件120中的各個類實現(xiàn)應用接口組件110中封裝的統(tǒng)一的接口,在圖5中,類WifiPM25Light和類BlePM25Light實現(xiàn)了接口IPM25Light;類WifiMusicWakeUpBedLamp和類BleMusicWakeUpBedLamp實現(xiàn)了接口IMusicWakeUpBedLamp。
本發(fā)明實施例提供的軟件開發(fā)包(SDK)可以是基于不同的操作系統(tǒng)來編寫,例如基于Linux/Unix、Android(安卓)、IOS或塞班等操作系統(tǒng),本發(fā)明不限于此。這樣,基于不同的操作系統(tǒng)編寫的SDK,可以利用SDK在相應的操作系統(tǒng)上開發(fā)智能控制模塊,從而利用智能控制模塊來遠程控制無線通信模塊,進而來控制智能設備。
以智能控制模塊為APP為例,基于不同的操作系統(tǒng)編寫的SDK,可以利用SDK在相應的操作系統(tǒng)上開發(fā)APP,從而用戶可以通過操控APP來遠程控制無線通信模塊,進而來控制智能設備。具體地,當用戶操控APP時,APP調(diào)用軟件開發(fā)包100提供的統(tǒng)一的接口來遠程控制不同協(xié)議類型的無線通信模塊,從而實現(xiàn)對智能設備的控制。
基于上文各個實施例提供的實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的軟件開發(fā)包,基于同一發(fā)明構(gòu)思,本發(fā)明實施例還提供了一種實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的方法。
圖6示出了根據(jù)本發(fā)明一實施例的實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的方法的流程圖。如圖6所示,該方法至少可以包括以下步驟S602至步驟S606。
步驟S602,將對不同協(xié)議類型的無線通信模塊的控制操作封裝成統(tǒng)一的接口,以供外部統(tǒng)一調(diào)用。
步驟S604,將不同協(xié)議類型的無線通信模塊抽象成獨立的類,每個類預留對應的協(xié)議類型的適配器的接口。
步驟S606,調(diào)用相應協(xié)議類型的適配器的接口,利用相應協(xié)議類型的適配器對相應協(xié)議類型的無線通信模塊進行控制操作。
在本發(fā)明實施例中,將不同協(xié)議類型的無線通信模塊抽象成獨立的類,每個類預留對應的協(xié)議類型的適配器的接口,通過預留的適配器的接口調(diào)用各類適配器對相應的協(xié)議類型的無線通信模塊進行控制操作,并將對不同協(xié)議類型的無線通信模塊的控制操作封裝成統(tǒng)一的接口,提供給外部(如APP)統(tǒng)一調(diào)用,讓外部能夠無差別地調(diào)用不同協(xié)議類型的無線通信模塊,無需感知底層調(diào)用細節(jié),從而降低外部的復雜性和提高外部程序的可維護性。
本發(fā)明實施例提供的實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的方法可以應用在智能控制終端或系統(tǒng)上的智能控制模塊中,以智能控制終端為智能手機為例,則該方法可以應用在智能手機上的APP。
無線通信模塊可以位于不同類型的智能設備中,如智能照明設備、智能攝像機、智能空氣凈化器等,為了滿足對不同類型的智能設備的控制需求,在本發(fā)明的可選實施例中,可以針對不同類型的智能設備提供不同類型的控制操作的接口。舉例來說,當智能設備為智能照明設備時,提供的控制操作的接口可以如連接、斷開接口,回調(diào)接口,狀態(tài)查詢接口,設置、控制(如定時器設置、參數(shù)設置、開關(guān)、調(diào)光、調(diào)色、調(diào)亮度等)接口,OTA(Over-the-Air,空中下載)升級接口,等等,本發(fā)明不限于此。當智能設備為智能攝像機時,提供的控制操作的接口可以如連接、斷開接口,回調(diào)接口,狀態(tài)查詢接口,設置、控制(如攝像機名稱、相關(guān)參數(shù)設置、開關(guān)、調(diào)節(jié)聲音、調(diào)節(jié)攝像畫面等)接口、OTA升級接口,等等,本發(fā)明不限于此。需要說明的是,此處舉例僅是示意性的,并不對本發(fā)明進行限制。
在對無線通信模塊進行遠程控制之前,首先需要與無線通信模塊建立連接,即需要發(fā)現(xiàn)設備,在本發(fā)明實施例中,可以搜索不同協(xié)議類型的無線通信模塊,并通過無線通信模塊回復的消息來創(chuàng)建相應協(xié)議類型的無線通信模塊的標識。具體地,在搜索不同協(xié)議類型的無線通信模塊時,可以生成搜索不同協(xié)議類型的無線通信模塊的搜索請求,并將搜索請求對外廣播,在廣播之后,若接收到無線通信模塊回復的消息,則根據(jù)回復的消息來創(chuàng)建相應協(xié)議類型的無線通信模塊的標識。接下來,可以向創(chuàng)建的標識對應的無線通信模塊發(fā)起建立連接的請求,當接收到響應消息時完成兩者之間的連接。
上文步驟S606中調(diào)用相應協(xié)議類型的適配器的接口,本發(fā)明實施例提供了一種可選的方案,在該方案中,可以由各個類實現(xiàn)封裝的統(tǒng)一的接口,當該接口被調(diào)用時,根據(jù)創(chuàng)建的標識對應的協(xié)議類型,調(diào)用相應協(xié)議類型的適配器的接口。
在本發(fā)明的可選實施例中,還可以從無線通信模塊讀取消息,并解析該消息,得到該消息中包含的無線通信模塊的參數(shù)數(shù)據(jù),進而將參數(shù)數(shù)據(jù)更新到各個類中。這里,無線通信模塊的參數(shù)數(shù)據(jù)包含有無線通信模塊所在智能設備的相關(guān)數(shù)據(jù),這樣,智能控制終端或系統(tǒng)上的智能控制模塊可以從各個類中獲取參數(shù)數(shù)據(jù),顯示給智能控制終端或系統(tǒng)的用戶,以便用戶便捷地獲取到智能設備的狀態(tài)信息。
在本發(fā)明的可選實施例中,在適配器對相應協(xié)議類型的無線通信模塊進行控制操作時,能夠?qū)⒎庋b的統(tǒng)一的接口對應的控制指令轉(zhuǎn)換成相應協(xié)議類型的目標指令,進而將目標指令發(fā)送給相應協(xié)議類型的無線通信模塊,從而相應協(xié)議類型的無線通信模塊在接收到目標指令后能夠識別該目標指令,進而根據(jù)識別結(jié)果對智能終端進行控制。
根據(jù)上述任意一個可選實施例或多個可選實施例的組合,本發(fā)明實施例能夠達到如下有益效果:
本發(fā)明實施例提供了一種軟件開發(fā)包(SDK),其包括應用接口組件、設備組件以及至少兩類適配器,其中,由設備組件將不同協(xié)議類型的無線通信模塊抽象成獨立的類,每個類預留對應的協(xié)議類型的適配器的接口,通過預留的適配器的接口調(diào)用各類適配器對相應的協(xié)議類型的無線通信模塊進行控制操作,并由應用接口組件將對不同協(xié)議類型的無線通信模塊的控制操作封裝成統(tǒng)一的接口,提供給外部(即智能控制模塊,如APP等)統(tǒng)一調(diào)用,讓外部能夠無差別地調(diào)用不同協(xié)議類型的無線通信模塊,無需感知底層調(diào)用細節(jié),從而降低外部的復雜性和提高外部程序的可維護性。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的實現(xiàn)遠程控制不同協(xié)議類型的無線通信模塊的軟件開發(fā)包(SDK)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設計出替換實施例。在權(quán)利要求中,不應將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
至此,本領(lǐng)域技術(shù)人員應認識到,雖然本文已詳盡示出和描述了本發(fā)明的多個示例性實施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開的內(nèi)容直接確定或推導出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應被理解和認定為覆蓋了所有這些其他變型或修改。