本發(fā)明涉及通信
技術(shù)領(lǐng)域:
,具體地,涉及一種物聯(lián)網(wǎng)中的設(shè)備、客戶端及服務(wù)器及其通信方法。
背景技術(shù):
:物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,也是“信息化”時代的重要發(fā)展階段。物聯(lián)網(wǎng)是利用通信技術(shù)把傳感器、控制器、機(jī)器、人員和物等通過新的方式聯(lián)在一起,形成人與物、物與物(例如機(jī)器對機(jī)器,Machine-to-Machine(M2M))相聯(lián),實現(xiàn)信息化、遠(yuǎn)程管理控制和智能化的網(wǎng)絡(luò)。在局域網(wǎng)內(nèi),主機(jī)和其他主機(jī)進(jìn)行通信時,需要知曉對方的地址(IP地址)。但是在局域網(wǎng)中,一般使用DHCP動態(tài)分配IP地址,即,各個主機(jī)的IP地址是由DHCP服務(wù)器進(jìn)行分配的。因此,在大部分情況下,在局域網(wǎng)通信過程中知曉對方的IP地址是比較麻煩的。因此,由于局域網(wǎng)的限制,在現(xiàn)有技術(shù)中,在局域網(wǎng)中很難基于服務(wù)器來實現(xiàn)物聯(lián)網(wǎng)的通信。技術(shù)實現(xiàn)要素:本發(fā)明的目的是提供一種物聯(lián)網(wǎng)中的設(shè)備、客戶端及服務(wù)器及其通信方法,該物聯(lián)網(wǎng)中的設(shè)備、客戶端及服務(wù)器及其通信方法能夠在局域網(wǎng)中基于服務(wù)器實現(xiàn)物聯(lián)網(wǎng)的通信。為了實現(xiàn)上述目的,本發(fā)明提供一種物聯(lián)網(wǎng)中設(shè)備使用的通信方法,所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中,所述通信方法包括:基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器;以及基于所發(fā)現(xiàn)的服務(wù)器,執(zhí)行以下至少一者:向所述服務(wù)器推送狀態(tài)信息;接收所述服務(wù)器推送的控制指令??蛇x地,基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器包括:向所述服務(wù)器發(fā)送發(fā)現(xiàn)請求;以及接收響應(yīng)于發(fā)現(xiàn)請求的服務(wù)器的服務(wù)信息??蛇x地,基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器包括:接收所述服務(wù)器響應(yīng)于所述服務(wù)器的服務(wù)信息發(fā)生變化發(fā)送的服務(wù)信息。根據(jù)本發(fā)明的另一方面,還提供一種物聯(lián)網(wǎng)中客戶端使用的通信方法,所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中,所述通信方法包括:基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器;以及基于所發(fā)現(xiàn)的服務(wù)器,執(zhí)行以下至少一者:向所述服務(wù)器推送控制信息以控制相應(yīng)設(shè)備;接收所述服務(wù)器推送的所述相應(yīng)設(shè)備的狀態(tài)信息??蛇x地,基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器包括:向所述服務(wù)器發(fā)送發(fā)現(xiàn)請求;以及接收響應(yīng)于發(fā)現(xiàn)請求的服務(wù)器的服務(wù)信息。可選地,基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器包括:接收所述服務(wù)器響應(yīng)于所述服務(wù)器的服務(wù)信息發(fā)生變化發(fā)送的服務(wù)信息。根據(jù)本發(fā)明的又一方面,還提供一種物聯(lián)網(wǎng)中服務(wù)器使用的通信方法,所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中,所述通信方法包括:基于組播DNS發(fā)送所述服務(wù)器的服務(wù)信息;在客戶端基于所述服務(wù)信息監(jiān)控設(shè)備的情況下,執(zhí)行以下至少一者:接收所述設(shè)備推送的狀態(tài)信息并將該狀態(tài)信息推送至所述客戶端;及接收所述客戶端推送的控制指令并將所述控制指令推送至所述設(shè)備;以及在基于所述服務(wù)信息實現(xiàn)第一設(shè)備對第二設(shè)備的情況下,執(zhí)行以下過程:接收第一設(shè)備推送的狀態(tài)信息;判斷所述狀態(tài)信息是否滿足所述第二設(shè)備聯(lián)動條件;及在所述狀態(tài)信息滿足所述第二設(shè)備聯(lián)動條件的情況下,向所述第二設(shè)備推送相應(yīng)于聯(lián)動條件的控制指令??蛇x地,向所述物聯(lián)網(wǎng)中的設(shè)備發(fā)送服務(wù)信息包括:接收發(fā)現(xiàn)請求;以及響應(yīng)于所述發(fā)現(xiàn)請求向發(fā)送該發(fā)送請求的裝置單播應(yīng)答所述服務(wù)信息。可選地,向所述物聯(lián)網(wǎng)中的設(shè)備發(fā)送服務(wù)信息包括:在所述服務(wù)信息發(fā)生變化的情況下,向所述物聯(lián)網(wǎng)中所有裝置組播變化后的服務(wù)信息。相應(yīng)地,本發(fā)明還提供一種物聯(lián)網(wǎng)中使用的設(shè)備,所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中,所述設(shè)備包括:發(fā)現(xiàn)模塊,用于基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器;發(fā)送模塊,用于基于所發(fā)現(xiàn)的服務(wù)器向所述服務(wù)器推送狀態(tài)信息;以及接收模塊,用于基于所發(fā)現(xiàn)的服務(wù)器接收所述服務(wù)器推送的控制指令??蛇x地,所述發(fā)送模塊還用于向所述服務(wù)器發(fā)送發(fā)現(xiàn)請求;以及所述接收模塊還用于接收響應(yīng)于發(fā)現(xiàn)請求的所述服務(wù)器的服務(wù)信息??蛇x地,所述接收模塊還用于接收所述服務(wù)器響應(yīng)于所述服務(wù)器的服務(wù)信息發(fā)生變化發(fā)送的服務(wù)信息。相應(yīng)地,本發(fā)明還提供一種物聯(lián)網(wǎng)中使用的客戶端,所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中,所述客戶端包括:發(fā)現(xiàn)模塊,用于基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器;發(fā)送模塊,用于基于所發(fā)現(xiàn)的服務(wù)器向所述服務(wù)器推送控制信息以控制相應(yīng)設(shè)備;以及接收模塊,用于接收所述服務(wù)器推送的所述相應(yīng)設(shè)備的狀態(tài)信息??蛇x地,所述發(fā)送模塊還用于向所述服務(wù)器發(fā)送發(fā)現(xiàn)請求;以及所述接收模塊還用于接收響應(yīng)于發(fā)現(xiàn)請求的服務(wù)器的服務(wù)信息??蛇x地,所述接收模塊還用于接收所述服務(wù)器響應(yīng)于所述服務(wù)器的服務(wù)信息發(fā)生變化發(fā)送的服務(wù)信息。相應(yīng)地,本發(fā)明還提供一種物聯(lián)網(wǎng)中使用的服務(wù)器,所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中,所述服務(wù)器包括:發(fā)送模塊、接收模塊及處理模塊,所述發(fā)送模塊用于基于組播DNS發(fā)送服務(wù)器的服務(wù)信息;在客戶端基于所述服務(wù)信息監(jiān)控設(shè)備的情況下:所述接收模塊用于接收所述設(shè)備推送的狀態(tài)信息并所述發(fā)送模塊還用于將該狀態(tài)信息推送至所述客戶端;及所述接收模塊還用于接收所述客戶端推送的控制指令并所述發(fā)送模塊還用于將所述控制指令推送至所述設(shè)備;以及在基于所述服務(wù)信息實現(xiàn)第一設(shè)備對第二設(shè)備的情況下:所述接收模塊用于接收第一設(shè)備推送的狀態(tài)信息;處理模塊用于判斷所述狀態(tài)信息是否滿足所述第二設(shè)備聯(lián)動條件;及在所述狀態(tài)信息滿足所述第二設(shè)備聯(lián)動條件的情況下,所述發(fā)送模塊還用于向所述第二設(shè)備推送相應(yīng)于聯(lián)動條件的控制指令??蛇x地,所述接收模塊還用于接收發(fā)現(xiàn)請求;以及所述發(fā)送模塊還用于響應(yīng)于所述發(fā)現(xiàn)請求向發(fā)送該發(fā)送請求的裝置單播應(yīng)答所述服務(wù)信息??蛇x地,在所述服務(wù)信息發(fā)生變化的情況下,所述發(fā)送模塊還用于向所述物聯(lián)網(wǎng)中所有裝置組播變化后的服務(wù)信息。通過上述技術(shù)方案,基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器;以及基于所發(fā)現(xiàn)的服務(wù)器,進(jìn)行對設(shè)備的控制以及設(shè)備對設(shè)備(M2M)的通信。如此在局域網(wǎng)中基于服務(wù)器實現(xiàn)物聯(lián)網(wǎng)的通信。本發(fā)明的其它特征和優(yōu)點將在隨后的具體實施方式部分予以詳細(xì)說明。附圖說明附圖是用來提供對本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與下面的具體實施方式一起用于解釋本發(fā)明,但并不構(gòu)成對本發(fā)明的限制。在附圖中:圖1是根據(jù)本發(fā)明一種實施方式提供的基于局域網(wǎng)的物聯(lián)網(wǎng)中設(shè)備使用的通信方法的流程圖;圖2是根據(jù)本發(fā)明一種實施方式提供的基于局域網(wǎng)的物聯(lián)網(wǎng)中客戶端使用的通信方法的流程圖;圖3a和圖3b是根據(jù)本發(fā)明一種實施方式提供的基于局域網(wǎng)的物聯(lián)網(wǎng)中服務(wù)器使用的通信方法的流程圖;圖4是根據(jù)本發(fā)明一種實施方式提供的基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器的流程圖;圖5是根據(jù)本發(fā)明另一種實施方式提供的基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器的流程圖;圖6是根據(jù)本發(fā)明一種實施方式提供的用戶客戶端對家電的控制的流程圖;圖7是根據(jù)本發(fā)明一種實施方式提供的實現(xiàn)M2M的流程圖;圖8是根據(jù)本發(fā)明一種實施方式提供的物聯(lián)網(wǎng)中使用的設(shè)備的結(jié)構(gòu)框圖;圖9是根據(jù)本發(fā)明一種實施方式提供的物聯(lián)網(wǎng)中使用的客戶端的結(jié)構(gòu)框圖;以及圖10是根據(jù)本發(fā)明一種實施方式提供的物聯(lián)網(wǎng)中使用的服務(wù)器的結(jié)構(gòu)框圖。具體實施方式以下結(jié)合附圖對本發(fā)明的具體實施方式進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解的是,此處所描述的具體實施方式僅用于說明和解釋本發(fā)明,并不用于限制本發(fā)明。圖1是根據(jù)本發(fā)明一種實施方式提供的基于局域網(wǎng)的物聯(lián)網(wǎng)中設(shè)備使用的通信方法的流程圖。如圖1所示,本發(fā)明提供的物聯(lián)網(wǎng)中設(shè)備使用的通信方法可以包括:在步驟11處,基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器;以及在步驟12處,基于所發(fā)現(xiàn)的服務(wù)器,執(zhí)行以下至少一者:向所述服務(wù)器推送狀態(tài)信息;接收所述服務(wù)器推送的控制指令。其中所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中。如此能夠在局域網(wǎng)中基于服務(wù)器實現(xiàn)物聯(lián)網(wǎng)的通信。組播DNS(MulticastDNS,mDNS)是IETF零配置網(wǎng)絡(luò)(Zeroconf)的參與者和DNS擴(kuò)展(DNSEXT)工作組共同努力的結(jié)果。Zeroconf工作組提出了需求,DNSEXT組受到特許進(jìn)行細(xì)節(jié)實現(xiàn)。大部分為組播DNS工作的人目前都同時參與兩個工作組。組播DNS主要實現(xiàn)了在沒有傳統(tǒng)DNS服務(wù)器的情況下使局域網(wǎng)內(nèi)的主機(jī)實現(xiàn)相互發(fā)現(xiàn)和通信。在一個沒有常規(guī)DNS服務(wù)器的小型網(wǎng)絡(luò)內(nèi),可以使用組播DNS來實現(xiàn)類似DNS的編程接口、包格式和操作語義。因此,本發(fā)明的發(fā)明人利用組播DNS解決利用服務(wù)器實現(xiàn)基于局域網(wǎng)的物聯(lián)網(wǎng)中的通信。例如通過一個約定預(yù)定的端口號例如但不限于5353(這個端口號應(yīng)該是由IETF組織約定的)。每個進(jìn)入局域網(wǎng)的主機(jī),如果開啟了組播DNS服務(wù),均會向局域網(wǎng)內(nèi)的所有主機(jī)組播消息,以呈現(xiàn)自身的名稱、IP地址、端口等等服務(wù)信息。然后,局域網(wǎng)中開啟組播DNSA服務(wù)的其他主機(jī)可以進(jìn)行響應(yīng),告知其各自的名稱、IP地址等等特征。比如,A主機(jī)進(jìn)入局域網(wǎng)并開啟了組播DNS服務(wù),其可以向組播DNS服務(wù)注冊以下信息:提供文件傳輸協(xié)議(FileTransferProtocol,F(xiàn)TP)服務(wù),IP是192.168.1.101,端口是21。當(dāng)然,應(yīng)該理解的是上述具體信息僅僅為示例性的。當(dāng)B主機(jī)進(jìn)入局域網(wǎng)并開啟了組播DNS服務(wù),當(dāng)B主機(jī)希望尋找局域網(wǎng)內(nèi)FTP服務(wù)器時,B主機(jī)可以基于組播DNS在局域網(wǎng)內(nèi)進(jìn)行詢問,最終其會發(fā)現(xiàn)IP地址為192.168.1.101、端口號是21的主機(jī),即A主機(jī),可以提供FTP服務(wù),所以B主機(jī)就可以知曉A主機(jī)的IP地址和端口號。因而,可以在局域網(wǎng)部署組播DNS協(xié)議和服務(wù),使得局域網(wǎng)中的設(shè)備可以發(fā)現(xiàn)服務(wù)器對應(yīng)的地址信息,從而能夠與服務(wù)器建立通信連接。舉例而言,組播DNS組播地址可以為224.0.0.251,對應(yīng)IPv6地址可以為FF02::FB,UDP端口5353,可以支持A,AAAA,PTR。其中A記錄為地址記錄,指向IP地址;AAAA記錄指向IPv6地址;PTR記錄,是反向解析,從地址解析到域名。例如,家庭局域網(wǎng)的用戶客戶端(例如,手機(jī)APP)或者家電終端通過組播DNS組播PTR查詢,以搜索局域網(wǎng)中的服務(wù)器。本發(fā)明可以定義服務(wù)器對應(yīng)的組播DNS的服務(wù)類型是_msamrt._mqtt,可以使用這個服務(wù)類型進(jìn)行查詢,局域網(wǎng)中的服務(wù)器收到對應(yīng)服務(wù)器類型的PTR查詢則會發(fā)送響應(yīng),以通告其服務(wù)器地址。對于配置了組播DNSA機(jī)制的物聯(lián)網(wǎng),服務(wù)器可以基于請求來推送自身的服務(wù)信息,也可以在服務(wù)信息(例如服務(wù)器地址)發(fā)生變化的情況下主動推送自身的服務(wù)信息(例如服務(wù)器地址)。因此,基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器可以包括:向所述服務(wù)器發(fā)送發(fā)現(xiàn)請求;以及接收響應(yīng)于發(fā)現(xiàn)請求的服務(wù)器的服務(wù)信息?;诮M播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器可以包括:接收所述服務(wù)器響應(yīng)于所述服務(wù)器的服務(wù)信息發(fā)生變化發(fā)送的服務(wù)信息。圖2是根據(jù)本發(fā)明一種實施方式提供的物聯(lián)網(wǎng)中客戶端使用的通信方法的流程圖。如圖2所示,本發(fā)明提供的物聯(lián)網(wǎng)中客戶端使用的通信方法可以包括,在步驟21處,基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器;以及在步驟22處,基于所發(fā)現(xiàn)的服務(wù)器,執(zhí)行以下至少一者:向所述服務(wù)器推送控制信息以控制相應(yīng)設(shè)備;接收所述服務(wù)器推送的所述相應(yīng)設(shè)備的狀態(tài)信息。對于配置了組播DNSA機(jī)制的物聯(lián)網(wǎng),服務(wù)器可以基于請求來推送自身的服務(wù)信息,也可以在服務(wù)信息(例如,服務(wù)器地址)發(fā)生變化的情況下主動推送自身的服務(wù)信息(例如,服務(wù)器地址)。因此,基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器可以包括:向所述服務(wù)器發(fā)送發(fā)現(xiàn)請求;以及接收響應(yīng)于發(fā)現(xiàn)請求的服務(wù)器的服務(wù)信息?;诮M播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器可以包括:接收響應(yīng)于所述服務(wù)信息發(fā)生變化的來自所述服務(wù)器的服務(wù)信息。其中所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中。如此能夠在局域網(wǎng)中基于服務(wù)器實現(xiàn)物聯(lián)網(wǎng)的通信。圖3a和圖3b是根據(jù)本發(fā)明一種實施方式提供的基于局域網(wǎng)的物聯(lián)網(wǎng)中服務(wù)器使用的通信方法的流程圖。如圖3a所示,在客戶端基于所述服務(wù)信息監(jiān)控設(shè)備的情況下,本發(fā)明提供的物聯(lián)網(wǎng)中服務(wù)器使用的通信方法可以包括:在步驟31處,基于組播DNS發(fā)送服務(wù)器的服務(wù)信息;在步驟32處,執(zhí)行以下至少一者:接收所述設(shè)備推送的狀態(tài)信息并將該狀態(tài)信息推送至所述客戶端;及接收所述客戶端推送的控制指令并將所述控制指令推送至所述設(shè)備。如圖3b所示,在基于所述服務(wù)信息實現(xiàn)第一設(shè)備對第二設(shè)備的情況下,本發(fā)明提供的物聯(lián)網(wǎng)中服務(wù)器使用的通信方法可以包括:在步驟31處,基于組播DNS發(fā)送服務(wù)器的服務(wù)信息;在步驟33處,接收第一設(shè)備推送的狀態(tài)信息;在步驟34處,判斷所述狀態(tài)信息是否滿足所述第二設(shè)備聯(lián)動條件;及在步驟35處,在所述狀態(tài)信息滿足所述第二設(shè)備聯(lián)動條件的情況下,向所述第二設(shè)備推送相應(yīng)于聯(lián)動條件的控制指令。其中所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中。如此能夠在局域網(wǎng)中基于服務(wù)器實現(xiàn)物聯(lián)網(wǎng)的通信。其中,服務(wù)器可以基于觸發(fā)來發(fā)送其服務(wù)信息,也可以主動發(fā)送其服務(wù)信息。因此向所述物聯(lián)網(wǎng)中的設(shè)備發(fā)送服務(wù)信息可以包括:接收發(fā)現(xiàn)請求;以及響應(yīng)于所述發(fā)現(xiàn)請求向發(fā)送該發(fā)送請求的裝置單播應(yīng)答所述服務(wù)信息。向所述物聯(lián)網(wǎng)中的設(shè)備發(fā)送服務(wù)信息可以包括:在所述服務(wù)信息發(fā)生變化的情況下,向所述物聯(lián)網(wǎng)中所有裝置組播變化后的服務(wù)信息。圖4是根據(jù)本發(fā)明一種實施方式提供的基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器的流程圖。在該實施方式中,部署了家電、服務(wù)器以及用戶客戶端,其中用戶客戶端可以通過服務(wù)器獲取家電的狀態(tài)信息并實現(xiàn)對家電的控制。但是本發(fā)明并不限制于此,例如可以部署第一家電、服務(wù)器以及第二家電以實現(xiàn)M2M。如圖4所示,在步驟S41處,家電可以利用組播DNSA組播進(jìn)行PTR查詢,以發(fā)出對服務(wù)器的發(fā)現(xiàn)請求;服務(wù)器在接收到家電的發(fā)現(xiàn)請求后,可以在步驟42處,進(jìn)行單播應(yīng)答以告知家電其地址;同樣的,在步驟43處,用戶客戶端可以利用組播DNSA組播進(jìn)行PTR查詢,以發(fā)出對服務(wù)器的發(fā)現(xiàn)請求;服務(wù)器在接收到用戶客戶端的發(fā)現(xiàn)請求后,可以在步驟44處,進(jìn)行單播應(yīng)答以告知用戶客戶端其地址。圖5是根據(jù)本發(fā)明另一種實施方式提供的基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器的流程圖。在如上所述,在局域網(wǎng)中,服務(wù)器的IP地址是通過DHCP動態(tài)分配的,因此,其IP地址可能是變化的。如圖5所示,在步驟51處,確定服務(wù)器的服務(wù)信息(例如IP地址)發(fā)生變化;在步驟52處,通過組播向家電及用戶客戶端更新服務(wù)器的服務(wù)信息(例如IP地址)。在一種具體實施方式中,服務(wù)器可以是MQTTBroker服務(wù)器,當(dāng)然本發(fā)明并不限制于此,可以選擇具有任何合適的服務(wù)器,例如具有推送功能的服務(wù)器。在家庭局域網(wǎng)中可以定義服務(wù)器的服務(wù)類型為_msmart._mqtt.local,家庭局域網(wǎng)中的家電和用戶客戶端可以通過發(fā)送PTR組播查詢對應(yīng)的服務(wù)信息。MQTTBroker服務(wù)器通過單播應(yīng)答,返回對應(yīng)的服務(wù)信息,例如mqtt\032broker._msmart._mqtt._local;同樣地,在服務(wù)信息發(fā)生變化時,服務(wù)器可以組播變化后的服務(wù)信息,例如mqtt\032broker._msmart._mqtt._local。當(dāng)然,服務(wù)信息除了包括IP地址信息之外,服務(wù)信息還可以包括其他額外的服務(wù)信息。MQTT(MessageQueuingTelemetryTransport,消息隊列遙測傳輸)是IBM開發(fā)的一個即時通訊協(xié)議,其可能成為物聯(lián)網(wǎng)的重要組成部分。該協(xié)議可以支持現(xiàn)有的所有平臺,幾乎可以把所有聯(lián)網(wǎng)物品和外部連接起來,MQTT是輕量級的、基于代理的發(fā)布/訂閱消息傳輸協(xié)議,此協(xié)議的設(shè)計開放、簡單、輕量、易于實現(xiàn),MQTT可以部署在家電這種嵌入式設(shè)備中,也可以部署在家庭網(wǎng)關(guān)這種資源比較豐富的設(shè)備中。Broker是MQTT的服務(wù)器,每個客戶端(例如,包括家電客戶端及用戶客戶端)都可以向?qū)?yīng)的Topic(MOTT訂閱消息標(biāo)識)發(fā)布消息,只要有客戶端訂閱了對應(yīng)的Topic就可以收到其他客戶端發(fā)布的消息。采用MQTT的情況下,一個設(shè)備M1就可以訂閱另外一個設(shè)備M2的狀態(tài)信息,設(shè)備M2的狀態(tài)發(fā)生變化也可以通過MQTTBroker推送給設(shè)備M1,從而實現(xiàn)M2M通信。MQTT采用Broker服務(wù)器來完成客戶端的訂閱和推送功能,物聯(lián)網(wǎng)設(shè)備可以向服務(wù)器推送自身的資源,其他客戶端只要訂閱了對應(yīng)的Topic就可以接受對應(yīng)的資源信息,兩個客戶端互相訂閱對方的Topic(或者使用同樣的Topic),就可以收到彼此推送的資源信息,互相發(fā)現(xiàn)彼此,從而進(jìn)行物與物的直接通信。每個MQTT命令消息的消息頭可以包含一個固定的報頭。而有些消息還需要一個可變的報頭和一個有效負(fù)載(payload)。其消息頭如表1所示。表1固定報文頭可變報文頭Payload其中,固定報文頭格式如表2所示:表2如表2所示,字節(jié)1包含消息類型(MessageType)和標(biāo)識(DUP,QoS級別,RETAIN)字段。字節(jié)2(至少一個字節(jié))包含剩余長度(RemainingLength)字段。如果Payload太長,一個字節(jié)無法標(biāo)識,剩余長度字段可以進(jìn)行可變的擴(kuò)展。圖6是根據(jù)本發(fā)明一種實施方式提供的用戶客戶端對家電的控制的流程圖。在步驟601處,家電進(jìn)入局域網(wǎng)后,可以基于組播DNS組播進(jìn)行PTR查詢以獲得MQTTBroker的服務(wù)信息,例如請求MQTTBroker的IP地址,組播_msmart._mqtt.local;在步驟603處,基于家電的請求,MQTTBroker向家電單播應(yīng)答,例如mqtt\032broker._msmart._mqtt._local,以告知其其服務(wù)信息,例如IP地址;在步驟602處,用戶客戶端進(jìn)入局域網(wǎng)后,可以基于組播DNS組播進(jìn)行PTR查詢以獲得MQTTBroker的服務(wù)信息,例如請求MQTTBroker的IP地址,組播_msmart._mqtt.local;在步驟604處,基于用戶客戶端的請求,MQTTBroker向用戶客戶端單播應(yīng)答,例如mqtt\032broker._msmart._mqtt._local,以告知其服務(wù)信息,例如IP地址;在步驟605處,用戶客戶端需要監(jiān)控家電的狀態(tài),因此可以向MQTTBroker訂閱家電狀態(tài)的Topic;在步驟606處,家電可以推送自己的狀態(tài)信息到對應(yīng)的Topic,例如周期性地或在受到觸發(fā)時(如狀態(tài)信息發(fā)生變化時)進(jìn)行狀態(tài)信息推送;在步驟607處,MQTTBroker可以將家電的狀態(tài)信息推送給用戶客戶端,如此用戶可以通過用戶客戶端可以實時查看家電的狀態(tài);在步驟608處,家電可以訂閱用戶客戶端的控制的Topic;在步驟609處,用戶客戶端可以向MQTTBroker推送對家電的控制指令;在步驟610處,家電可以接收MQTTBroker推送的控制指令,以便執(zhí)行相應(yīng)的動作,改變自己的運(yùn)行狀態(tài)。圖7是根據(jù)本發(fā)明一種實施方式提供的實現(xiàn)M2M的流程圖。家電A和家電B在進(jìn)入局域網(wǎng)后,可以根據(jù)上述內(nèi)容獲得MQTTBroker的服務(wù)信息,例如IP地址,然后基于所獲得的服務(wù)信息來實現(xiàn)M2M。如圖7所示,在步驟71處,MQTTBroker可以集成M2M業(yè)務(wù)處理中心功能,可以通過相關(guān)應(yīng)用程序在M2M業(yè)務(wù)中心預(yù)設(shè)聯(lián)動場景的相關(guān)條件和動作;在步驟72處,家電A推送至對應(yīng)的Topic,例如,在自身的狀態(tài)發(fā)生變化時可以向MQTTBroker推送自身最新的狀態(tài)信息;在步驟73處,MQTTBroker接收到家電A的狀態(tài)信息,其M2M業(yè)務(wù)中心可以判斷家電A的狀態(tài)是否滿足預(yù)設(shè)聯(lián)動條件,如果滿足則觸發(fā)相應(yīng)的動作,例如改變家電B的狀態(tài);在步驟74處,MQTTBroker可以向家電B推送相應(yīng)于所滿足的預(yù)設(shè)聯(lián)動條件的控制指令,以嘗試改變家電B的狀態(tài);在步驟75處,家電B接收控制指令,以改變狀態(tài)。上述各實施方式給出了相應(yīng)的執(zhí)行步驟,但是應(yīng)該注意的是上述步驟并不用于限制器執(zhí)行順序,本領(lǐng)域技術(shù)人員可以根據(jù)實際情況通過適當(dāng)?shù)膱?zhí)行順序來實現(xiàn)本發(fā)明。圖8是根據(jù)本發(fā)明一種實施方式提供的物聯(lián)網(wǎng)中使用的設(shè)備的結(jié)構(gòu)框圖。本發(fā)明提供的所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中,如圖8所示,所述設(shè)備可以包括:發(fā)現(xiàn)模塊81,用于基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器;發(fā)送模塊82,用于基于所發(fā)現(xiàn)的服務(wù)器向所述服務(wù)器推送狀態(tài)信息;以及接收模塊83,用于基于所發(fā)現(xiàn)的服務(wù)器接收所述服務(wù)器推送的控制指令。如此能夠在局域網(wǎng)中基于服務(wù)器實現(xiàn)物聯(lián)網(wǎng)的通信。在一實施方式中,所述發(fā)送模塊82還可以用于向所述服務(wù)器發(fā)送發(fā)現(xiàn)請求;以及所述接收模塊83還可以用于接收響應(yīng)于發(fā)現(xiàn)請求的所述服務(wù)器的服務(wù)信息。在一實施方式中,所述接收模塊83還可以用于接收所述服務(wù)器響應(yīng)于所述服務(wù)器的服務(wù)信息發(fā)生變化發(fā)送的服務(wù)信息。其中,所述設(shè)備可以是家電,例如但不限于空調(diào)器、冰箱、電飯煲等等。上述設(shè)備與前述物聯(lián)網(wǎng)中設(shè)備使用的通信方法相對應(yīng),具體說明可參見方法中詳細(xì)描述,在此不再贅述。圖9是根據(jù)本發(fā)明一種實施方式提供的物聯(lián)網(wǎng)中使用的客戶端的結(jié)構(gòu)框圖。本發(fā)明提供的所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中,如圖9所示,所述客戶端可以包括:發(fā)現(xiàn)模塊91,用于基于組播DNS發(fā)現(xiàn)所述物聯(lián)網(wǎng)中的服務(wù)器;發(fā)送模塊92,用于基于所發(fā)現(xiàn)的服務(wù)器向所述服務(wù)器推送控制信息以控制相應(yīng)設(shè)備;以及接收模塊93,用于接收所述服務(wù)器推送的所述相應(yīng)設(shè)備的狀態(tài)信息。如此能夠在局域網(wǎng)中基于服務(wù)器實現(xiàn)物聯(lián)網(wǎng)的通信。在一實施方式中,所述發(fā)送模塊92還可以用于向所述服務(wù)器發(fā)送發(fā)現(xiàn)請求;以及所述接收模塊還用于接收響應(yīng)于發(fā)現(xiàn)請求的服務(wù)器的服務(wù)信息。在一實施方式中,所述接收模塊93還可以用于接收所述服務(wù)器響應(yīng)于所述服務(wù)器的服務(wù)信息發(fā)生變化發(fā)送的服務(wù)信息。上述客戶端與前述物聯(lián)網(wǎng)中客戶端使用的通信方法相對應(yīng),具體說明可參見方法中詳細(xì)描述,在此不再贅述。圖10是根據(jù)本發(fā)明一種實施方式提供的物聯(lián)網(wǎng)中使用的服務(wù)器的結(jié)構(gòu)框圖。本發(fā)明提供的所述物聯(lián)網(wǎng)設(shè)置在局域網(wǎng)中,如圖10所示,所述服務(wù)器可以包括:發(fā)送模塊101、接收模塊102及處理模塊103,所述發(fā)送模塊101用于基于組播DNS發(fā)送服務(wù)器的服務(wù)信息;在客戶端基于所述服務(wù)信息監(jiān)控設(shè)備的情況下:所述接收模塊102用于接收所述設(shè)備推送的狀態(tài)信息并所述發(fā)送模塊101還用于將該狀態(tài)信息推送至所述客戶端;及所述接收模塊102還用于接收所述客戶端推送的控制指令并所述發(fā)送模塊101還用于將所述控制指令推送至所述設(shè)備;以及在基于所述服務(wù)信息實現(xiàn)第一設(shè)備對第二設(shè)備的情況下:所述接收模塊102用于接收第一設(shè)備推送的狀態(tài)信息;處理模塊103用于判斷所述狀態(tài)信息是否滿足所述第二設(shè)備聯(lián)動條件;及在所述狀態(tài)信息滿足所述第二設(shè)備聯(lián)動條件的情況下,所述發(fā)送模塊101還用于向所述第二設(shè)備推送相應(yīng)于聯(lián)動條件的控制指令。如此能夠在局域網(wǎng)中基于服務(wù)器實現(xiàn)物聯(lián)網(wǎng)的通信。在一實施方式中,所述接收模塊102還用于接收發(fā)現(xiàn)請求;以及所述發(fā)送模塊101還用于響應(yīng)于所述發(fā)現(xiàn)請求向發(fā)送該發(fā)送請求的裝置單播應(yīng)答所述服務(wù)信息。在一實施方式中,在所述服務(wù)信息發(fā)生變化的情況下,所述發(fā)送模塊101還用于向所述物聯(lián)網(wǎng)中所有裝置組播變化后的服務(wù)信息。上述服務(wù)器與前述物聯(lián)網(wǎng)中服務(wù)器使用的通信方法相對應(yīng),具體說明可參見方法中詳細(xì)描述,在此不再贅述。本發(fā)明利用了組播DNS可以在局域網(wǎng)發(fā)現(xiàn)相關(guān)服務(wù)(比如物聯(lián)網(wǎng)相關(guān)的服務(wù))的特點,以及MQTTBroker服務(wù)器訂閱和推送功能的特點,實現(xiàn)了在局域網(wǎng)部署一個服務(wù)器來完成相關(guān)物聯(lián)網(wǎng)消息的訂閱和推送功能。解決了DHCP分配IP地址而無法滿足獲得服務(wù)器地址動態(tài)變化情況的問題。通過組成一個局域網(wǎng)物聯(lián)網(wǎng)系統(tǒng),從而實現(xiàn)了在局域網(wǎng)中完備的物聯(lián)網(wǎng)系統(tǒng),包括設(shè)備控制、設(shè)備狀態(tài)推送和設(shè)備之間的M2M聯(lián)動。本發(fā)明提供的技術(shù)方案使得IP地址動態(tài)變化的局域網(wǎng)裝置可以動態(tài)發(fā)現(xiàn)變化的MQTTBroker服務(wù)信息,從而動態(tài)維護(hù)客戶端(包括用戶客戶端和設(shè)備客戶端)和服務(wù)器直接的連接,保證了局域網(wǎng)物聯(lián)網(wǎng)系統(tǒng)的可用性和穩(wěn)定性。以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實施方式,但是,本發(fā)明并不限于上述實施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對本發(fā)明的技術(shù)方案進(jìn)行多種簡單變型,這些簡單變型均屬于本發(fā)明的保護(hù)范圍。另外需要說明的是,在上述具體實施方式中所描述的各個具體技術(shù)特征,在不矛盾的情況下,可以通過任何合適的方式進(jìn)行組合,為了避免不必要的重復(fù),本發(fā)明對各種可能的組合方式不再另行說明。此外,本發(fā)明的各種不同的實施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開的內(nèi)容。當(dāng)前第1頁1 2 3