一種異構(gòu)協(xié)議互通方法及控制器的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種異構(gòu)協(xié)議互通方法及控制器。
【背景技術(shù)】
[0002]物聯(lián)網(wǎng)(Internet Of Things)是將無處不在的終端通過無線和/或有線的通訊網(wǎng)絡(luò)實(shí)現(xiàn)互聯(lián)互通所形成的網(wǎng)絡(luò)。ALLJoyn是一種通用的開源軟件框架,兩個運(yùn)行了該ALLJoyn框架的終端不需要依賴于特定的操作系統(tǒng)和特定的網(wǎng)絡(luò)協(xié)議即可交互ALLJoyn框架中定義的控制指令實(shí)現(xiàn)互操作。受限的應(yīng)用協(xié)議(Constrained Applicat1n Protocol,CoAP)是一種非常小巧的應(yīng)用層協(xié)議,最小的CoAP數(shù)據(jù)包僅為4字節(jié),交互開銷非低,因此很多廠商開發(fā)了基于CoAP協(xié)議的物聯(lián)網(wǎng)操作系統(tǒng),兩個運(yùn)行該物聯(lián)網(wǎng)操作系統(tǒng)的終端基于CoAP協(xié)議來交互該物聯(lián)網(wǎng)操作系統(tǒng)自定義的控制指令也可以實(shí)現(xiàn)互操作。
[0003]圖1為現(xiàn)有技術(shù)中的一種物聯(lián)網(wǎng)的應(yīng)用場景示意圖,該場景中包括用來執(zhí)行控制的第一終端111(如手機(jī)、智能手表等設(shè)備)、用來被控制的第二終端112(如空調(diào)、電視機(jī)等家電)以及用來對至少一個第二終端112進(jìn)行管理的控制器113;第一終端111和第二終端112均通過有線或者無線的方式與控制器113建立通信連接,第一終端111對第二終端112進(jìn)行控制的流程如下:第一終端111向控制器113發(fā)送控制指令,該控制器113再向第二終端112轉(zhuǎn)發(fā)該控制指令,第二終端112接收到該控制指令后根據(jù)該控制指令執(zhí)行相關(guān)操作;執(zhí)行該流程的前提是,第一終端111、第二終端112和控制器113均運(yùn)行了 ALLJoyn框架,或者均運(yùn)行了相同的物聯(lián)網(wǎng)操作系統(tǒng)(均可基于CoAP協(xié)議來接收或者發(fā)送該物聯(lián)網(wǎng)操作系統(tǒng)中的控制指令)。
[0004]現(xiàn)有技術(shù)缺陷在于,用于執(zhí)行控制的第一終端和用于被控制的第二終端這兩種終端中,如果一種終端運(yùn)行Al I Joyn框架,另一種終端運(yùn)行基于CoAP協(xié)議的物聯(lián)網(wǎng)操作系統(tǒng),則該第一終端無法對該第二終端執(zhí)行控制。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例公開了一種異構(gòu)協(xié)議互通方法及控制器,能夠?qū)崿F(xiàn)運(yùn)行基于CoAP協(xié)議的物聯(lián)網(wǎng)操作系統(tǒng)的終端與運(yùn)行ALLJoyn框架的終端之間的控制。
[0006]第一方面,本發(fā)明實(shí)施例提供了一種異構(gòu)協(xié)議互通方法,該方法包括:
[0007]控制器通過CoAP協(xié)議接收運(yùn)行物聯(lián)網(wǎng)操作系統(tǒng)的第一終端發(fā)送的第一CoAP消息,并解析所述第一CoAP消息以獲得所述第一CoAP消息包含的目的地址和第一控制指令,所述第一控制指令在所述物聯(lián)網(wǎng)操作系統(tǒng)中用于指示執(zhí)行預(yù)設(shè)操作;所述控制器向所述目的地址指示的第二終端發(fā)送ALLJoyn框架中的第二控制指令,以使運(yùn)行所述ALLJoyn框架的所述第二終端根據(jù)所述第二控制指令執(zhí)行所述預(yù)設(shè)操作;所述第二控制指令在所述ALLJoyn框架中用于指示執(zhí)行所述預(yù)設(shè)操作,所述控制器運(yùn)行了所述ALLJoyn框架和所述物聯(lián)網(wǎng)操作系統(tǒng)。
[0008]本發(fā)明實(shí)施例中的物聯(lián)網(wǎng)操作系統(tǒng)為基于CoAP協(xié)議的物聯(lián)網(wǎng)操作系統(tǒng),該操作系統(tǒng)定義了控制指令(包括該第一控制指令),并且需要基于CoAP協(xié)議來發(fā)送(或接收)該控制指令;本發(fā)明中的ALLJoyn框架定義了控制指令(包括該第二控制指令)和通信協(xié)議,能夠基于該通信協(xié)議發(fā)送(或接收)該控制指令。
[0009]進(jìn)一步地,控制器解析出第一控制指令后,根據(jù)該第一控制指令得到第二控制指令的方式可以為:根據(jù)上述物聯(lián)網(wǎng)操作系統(tǒng)中定義的控制指令與操作的對應(yīng)關(guān)系,查找出該第一控制指令對應(yīng)的預(yù)設(shè)操作,然后根據(jù)預(yù)先定義的指令生成規(guī)則,生成應(yīng)用于該ALLJoyn框架,且與該預(yù)設(shè)操作對應(yīng)的第二控制指令。
[0010]通過執(zhí)行上述步驟,控制器根據(jù)運(yùn)行物聯(lián)網(wǎng)操作系統(tǒng)的第一終端發(fā)送的該物聯(lián)網(wǎng)操作系統(tǒng)中的第一控制指令,向運(yùn)行ALLJoyn框架的第二終端發(fā)送該ALLJoyn框架中的第二控制指令,該第二控制指令與該第一控制指令用于指示執(zhí)行相同的操作,實(shí)現(xiàn)了第一終端對第二終端的控制。
[0011]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述控制器通過CoAP協(xié)議接收運(yùn)行物聯(lián)網(wǎng)操作系統(tǒng)的第一終端發(fā)送的第一CoAP消息,分析出所述第一CoAP消息包含的目的地址和第一控制指令之后,所述控制器向所述目的地址指示的第二終端發(fā)送ALLJoyn框架中的第二控制指令之前,所述方法還包括:
[0012]所述控制器從所述ALLJoyn框架中查找出用于指示執(zhí)行所述預(yù)設(shè)操作的所述第二控制指令。也即是說,控制器解析出第一控制指令后,根據(jù)該第一控制指令得到第二控制指令的方式還可以為:根據(jù)上述物聯(lián)網(wǎng)操作系統(tǒng)中定義的控制指令與操作的對應(yīng)關(guān)系,查找出該第一控制指令對應(yīng)的預(yù)設(shè)操作,然后根據(jù)上述ALLJoyn框架中定義的控制指令與操作的對應(yīng)關(guān)系,查找出該預(yù)設(shè)操作在該ALLJoyn框架中定義的控制指令中對應(yīng)的第二控制指令。
[0013]通過執(zhí)行上述步驟,使得該第二控制指令指示執(zhí)行的操作與該第一控制指令指示執(zhí)行的操作相同,保證了第一終端對第二終端執(zhí)行準(zhǔn)確的控制。
[0014]結(jié)合第一方面,或者第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述第一CoAP消息包含指向所述第一終端的源地址;所述方法還包括:
[0015]所述控制器從所述第一CoAP消息中解析出所述第一終端的源地址并向所述第二終端發(fā)送所述源地址;
[0016]所述控制器接收所述第二終端在執(zhí)行完所述預(yù)設(shè)操作之后發(fā)送的包含所述源地址的ALLJoyn消息,解析出所述ALLJoyn消息中的第三控制指令,所述第三控制指令在所述ALLJoyn框架中用于指示輸出預(yù)設(shè)信息;
[0017]所述控制器通過所述CoAP協(xié)議向所述源地址指向的所述第一終端發(fā)送所述物聯(lián)網(wǎng)操作系統(tǒng)中的第四控制指令,以使所述第一終端輸出所述預(yù)設(shè)信息,所述第四控制指令在所述物聯(lián)網(wǎng)操作系統(tǒng)中用于指示輸出所述預(yù)設(shè)信息。
[0018]通過執(zhí)行上述步驟,該控制器根據(jù)該第二終端發(fā)送的ALLJoyn框架中的第三控制指令,向該第一終端發(fā)送該物聯(lián)網(wǎng)操作系統(tǒng)中的第四控制指令,該第三控制指令與該第四控制指令用于指示輸出相同的信息,使得該第二終端能夠向該第一終端反饋預(yù)設(shè)信息。
[0019]結(jié)合第一方面,或者第一方面的第一種可能的實(shí)現(xiàn)方式,或者第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述控制器通過CoAP協(xié)議接收運(yùn)行物聯(lián)網(wǎng)操作系統(tǒng)的第一終端發(fā)送的第一CoAP消息,并解析所述第一CoAP消息以獲得所述第一CoAP消息包含的目的地址和第一控制指令之前,所述方法還包括:
[0020]所述控制器通過所述CoAP協(xié)議向所述第一終端發(fā)送第二CoAP消息,所述第二CoAP消息包含所述第二終端的所述目的地址。
[0021]通過執(zhí)行上述步驟,該控制器將預(yù)先將綁定的該第二終端的目的地址發(fā)送給該第一終端,使得該第一終端發(fā)送的第一控制指令能夠準(zhǔn)確地轉(zhuǎn)發(fā)到該第二終端。
[0022]第二方面,本發(fā)明實(shí)施提供一種異構(gòu)協(xié)議互通方法,該方法包括:
[0023]控制器接收運(yùn)行ALLJoyn框架的第一終端發(fā)送的第一ALLJoyn消息,并解析所述第一ALLJoyn消息以獲得所述第一ALLJoyn消息包含的目的地址和第一控制指令,所述第一控制指令在所述ALLJoyn框架中用于指示執(zhí)行預(yù)設(shè)操作;所述控制器通過CoAP協(xié)議向所述目的地址指示的第二終端發(fā)送物聯(lián)網(wǎng)操作系統(tǒng)中定義的第二控制指令,以使運(yùn)行所述物聯(lián)網(wǎng)操作系統(tǒng)的所述第二終端通過基于所述CoAP協(xié)議接收到的所述第二控制指令執(zhí)行所述預(yù)設(shè)操作;所述第二控制指令在所述物聯(lián)網(wǎng)操作系統(tǒng)中用于指示執(zhí)行所述預(yù)設(shè)操作,所述控制器運(yùn)行了所述ALLJoyn框架和所述物聯(lián)網(wǎng)操作系統(tǒng)。
[0024]進(jìn)一步地,控制器解析出第一控制指令后,根據(jù)該第一控制指令得到第二控制指令的方式可以為:根據(jù)上述ALLJoyn框架中定義的控制指令與操作的對應(yīng)關(guān)系,查找出該第一控制指令對應(yīng)的預(yù)設(shè)操作,然后根據(jù)預(yù)先定義的指令生成規(guī)則,生成應(yīng)用于該物聯(lián)網(wǎng)操作系統(tǒng),且與該預(yù)設(shè)操作對應(yīng)的第二控制指令。
[0025]通過執(zhí)行上述步驟,控制器根據(jù)運(yùn)行ALLJoyn框架的第一終端發(fā)送的該ALLJoyn框架中的第一控制指令,向運(yùn)行物聯(lián)網(wǎng)操作系統(tǒng)的第二終端發(fā)送該物聯(lián)網(wǎng)操作系統(tǒng)中的第二控制指令,該第二控制指令與該第一控制指令用于指示執(zhí)行相同的操作,實(shí)現(xiàn)了第一終端對第二終端的控制。
[0026]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述控制器接收運(yùn)行ALLJoyn框架的第一終端發(fā)送的第一ALLJoyn消息,并解析所述第一ALLJoyn消息以獲得所述第一ALLJoyn消息包含的目的地址和第一控制指令之后,所述控制器通過CoAP協(xié)議向所述目的地址指示的第二終端發(fā)送物聯(lián)網(wǎng)操作系統(tǒng)中定義的第二控制指令之前,所述方法還包括:
[0027]所述控制從所述物聯(lián)網(wǎng)操作系統(tǒng)中查找出用于指示執(zhí)行所述預(yù)設(shè)操作的所述第二控制指令。也即是說,控制器解析出第一控制指令后,根據(jù)該第一控制指令得到第二控制指令的方式還可以為:根據(jù)上述ALLJoyn框架中定義的控制指令與操作的對應(yīng)關(guān)系,查找出該第一控制指令對應(yīng)的預(yù)設(shè)操作,然后根據(jù)上述物聯(lián)網(wǎng)操作系統(tǒng)中定義的控制指令與操作的對應(yīng)關(guān)系,查找出該預(yù)設(shè)操作在該物聯(lián)網(wǎng)操作系統(tǒng)中定義的控制指令中對應(yīng)的第二控制指令。
[0028]通過執(zhí)行上述步驟,使得該第二控制指令指示執(zhí)行的操作與該第一控制指令指示執(zhí)行的操作相同,保證了第一終端對第二終端執(zhí)行準(zhǔn)確的控制。
[0029]結(jié)合第二方面,或者第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述第一ALLJoyn消息包含指向所述第一終端的源地址;所述方法還包括:
[0030]所述控制器從所述第一ALLJoyn消息中解析出所述第一終端的源地址并向所述第二終端發(fā)送所述源地址;
[0031]所述控制器通過所述CoAP協(xié)議接收所述第二終端在執(zhí)行完所述預(yù)設(shè)操作之后發(fā)送的包含所述源地址的CoAP消息,解析出所述CoAP消息中的第三控制指令,所述第三控制指令在所述物聯(lián)網(wǎng)操作系統(tǒng)中用于指示輸出預(yù)設(shè)信息;
[0032]所述控制器向所述源地址指向的所述第一終端發(fā)送所述ALLJoyn框架中的第四控制指令,以使所述第一終端輸出所述預(yù)設(shè)信息,所述第四控制指令在所述ALLJoyn框架中用于指示輸出所述預(yù)設(shè)信息。
[0033]通過執(zhí)行上述步驟,該控制器根據(jù)該第二終端發(fā)送的物聯(lián)網(wǎng)操作系統(tǒng)中的第三控制指令,向該第一終端發(fā)送該ALLJoyn框架中的第四控制指令,該第三控制指令與該第四控制指令用于指示輸出相同的信息,使得該第二終端能夠向該第一終端反饋預(yù)設(shè)信息。
[0034]結(jié)合第二方面,或者第二方面的第一種可能的實(shí)現(xiàn)方式,或者第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述控制器接收運(yùn)行ALLJoyn框架的第一終端發(fā)送的第一ALLJoyn消息,從所述第一ALLJoyn消息中解析出所述第一終端的源地址并所述第一ALLJoyn消息包含的目的地址和第一控制指令之前,所述方法還包括:
[0035]所述控制器向所述第一終端發(fā)送第二ALLJoyn消息,所述第二ALLJoyn消息包含所述第二終端的所述目的地址。
[0036]通過執(zhí)行上述步驟,該控制器將預(yù)先將綁定的該第二終端的目的地址發(fā)送給該第一終端,使得該第一終端發(fā)送的第一控制指令能夠準(zhǔn)確地轉(zhuǎn)發(fā)到該第二終端。
[0037]第三方面,本發(fā)明實(shí)施例提供了一種控制器,所述控制器包括接收器、發(fā)送器、存儲器和處理器,所述處理器調(diào)用所述存儲器中的軟件程序,用于執(zhí)行如下操作:
[0038]通過所述接收器通過CoAP協(xié)議接收運(yùn)行物聯(lián)網(wǎng)操作系統(tǒng)的第一終端發(fā)送的第一CoAP消息,并解析所述第一CoAP消息以獲得所述第一CoAP消息包含的目的地址和第一控制指令,所述第一控制指令在所述物聯(lián)網(wǎng)操作系統(tǒng)中用于指示執(zhí)行預(yù)設(shè)操作;
[0039]通過所述發(fā)送器向所述目的地址指示的第二終端發(fā)送ALLJoyn框架中的第二控制指令,以使運(yùn)行所述ALLJoyn框架的所述第二終端根據(jù)所述第二控制指令執(zhí)行所述預(yù)設(shè)操作;所述第二控制指令在