System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及物聯網通信,物聯網網關設備領域,特別是一種基于mqtt的物聯網網關設備通信方法及系統。
技術介紹
1、mqtt(message?queuing?telemetry?transport)是一種輕量級的發布/訂閱消息傳輸協議,專為低帶寬、不可靠或延遲較高的通信環境設計,如物聯網(iot)場景。mqtt協議因其簡單易實現、支持qos(服務質量)、報文小等特點,在物聯網通信中占據重要地位。
2、依托物聯網概念的迅速拓展,物聯網網關設備也被廣泛用于各個領域,比如部署在電力高架上的電力監控網關,部署在野外的環境監測網關,部署在高速龍門架上的高速監測網關等等。在為不同行業的網關開發垂直行業的平臺時,迫切需要一種通用的物聯網網關通信方法及系統,為這些行業領域應用平臺提供基礎支撐,比如屏蔽底層通信細節,提供統一的設備通信接口,加快應用層開發速度。
3、現有的物聯網行業垂直領域平臺與設備之間的交互方式,因行業領域不同各自有各自的語義概念和通信方法,呈現出通信方法碎片化和開發工作重復化兩個特點。比如,當我們將物聯網網關應用于電力行業時,需要開發電力平臺時,需要制定一套獨特于電力行業的通信方法及系統,當我們將網關應用另一個垂直行業領域時,同樣的工作又要再做一遍。這種現狀造成了重復工作,顯然是低效的。同時因為通信語義概念不統一,也為應用層開發、設備層開發造成了障礙。
技術實現思路
1、本專利技術提出了一種基于mqtt的物聯網網關設備通信方法及系統,建立了屬性、遙測、指令
2、為了實現上述目的,提出了以下技術方案:
3、一種基于mqtt的物聯網網關設備通信方法,包括以下步驟:
4、基于mqtt協議,構建設備層、統一設備管理平臺和應用層的通信通道,所述統一設備管理平臺使用基于屬性、遙測和指令的語義一致的預設api與設備層的設備、應用層的應用通信;
5、所述設備層或應用層通過預設api向應用層或設備層發送消息,設備層或應用層先向所述統一設備管理平臺發送mqtt?publish,統一設備管理平臺收到mqtt?publish后,統一設備管理平臺根據消息的主題將消息轉發給應用層或設備層。
6、優選地,所述預設api包括mqttapi、kafkaapi和restfulapi;
7、所述遙測包括帶有時間戳的鍵值對;
8、所述指令包括服務端指令和客戶端指令,服務端指令允許應用發送請求到設備,客戶端指令允許設備發送請求到應用。
9、優選地,所述屬性包括服務端屬性、共享屬性和客戶端屬性,
10、所述服務端屬性只能被服務端程序或者用戶讀寫,設備不可見;
11、所述共享屬性能被服務端程序或者用戶讀寫,設備只讀;
12、所述客戶端屬性能被設備上報或者查詢,服務端程序或者用戶只能讀取。
13、優選地,設備上報所述客戶端屬性的通信流程具體包括以下步驟:
14、設備端程序收到所述統一設備管理平臺mqtt?connack后向mqtt主題發布json格式的屬性數據;
15、所述統一設備管理平臺通過kafkaapi轉發客戶端屬性到應用,所述應用收到設備上報的客戶端屬性。
16、優選地,設備查詢所述共享屬性或者客戶端屬性的通信流程具體包括以下步驟:
17、s41:設備端程序收到mqtt?connack后發送mqtt?subscribe,通過訂閱mqtt主題接收查詢響應;
18、s42:設備端程序向mqtt主題發送查詢請求;
19、s43:設備端程序收到mqtt主題的mqtt?publish和統一設備管理平臺推送的查詢響應。
20、優選地,設備上報所述遙測數據的通信流程具體包括以下步驟:
21、s51:設備端程序收到mqtt?connack;
22、s52:設備端程序發送mqtt?publish,向mqtt主題發送遙測數據;統一設備管理平臺通過kafkaapi轉發遙測數據到應用,所述應用收到設備上報的遙測數據。
23、優選地,應用發送所述服務端指令的通信流程具體包括以下步驟:
24、s61:設備端程序收到mqtt?connack;
25、s62:設備端程序發送mqtt?subscribe,通過訂閱mqtt主題接收服務端指令;
26、s63:應用通過統一設備管理平臺restful接口發起指令調用;
27、s64:設備端程序收到統一設備管理平臺推送的指令請求;
28、s65:設備端程序發送mqtt?publish,向mqtt主題發送指令響應;
29、s66:統一設備管理平臺通過kafkaapi轉發指令響應到應用,所述應用收到指令響應。
30、優選地,設備發送所述客戶端指令的通信流程具體包括以下步驟:
31、s71:設備端程序收到mqtt?connack后發送mqtt?subscribe,訂閱mqtt主題;
32、s72:設備端程序向主題發送客戶端指令;
33、s73:統一設備管理平臺通過kafkaapi轉發客戶端指令請求到應用;
34、s74:應用處理客戶端指令,并通過kafkaapi回復客戶端指令響應;
35、s75:統一設備管理平臺轉發客戶端指令響應,設備端程序收到統一設備管理平臺推送的客戶端指令響應。
36、優選地,所述流程開始均由應用啟動并訂閱kafkaapi,設備端程序啟動并發送mqtt?connect連接統一設備管理平臺;統一設備管理平臺調用應用認證信息認證設備身份,拒絕非法連接,接受合法連接。
37、基于相同的構思,還提出了一種基于mqtt的物聯網設備通信系統,包括應用層、統一設備管理平臺和設備層,所述應用層包括電力應用、環境應用和高速應用,用于處理各項應用任務;
38、所述統一設備管理平臺包括api?gateway、設備服務、數據服務、mongodb、kafka和mqtt?broker,用于對所述應用層提供基于屬性、遙測、指令的語義一致的restfulapi和kafkaapi,對設備層提供基于屬性、遙測、指令的語義一致的mqttapi;
39、所述設備層包括電力監測網關、環境監測網關和高速監測網關,用于對環境狀態實時監測;
40、所述設備層或應用層通過預設api向應用層或設備層發送消息,設備層或應用層先向所述統一設備管理平臺發送mqtt?publish,統一設備管理平臺收到mqtt?publish后,統一設備管理平臺根據消息的主題將消息轉發給應用層或設備層。
41、與現有技術相比,本專利技術的有益效本文檔來自技高網...
【技術保護點】
1.一種基于MQTT的物聯網網關設備通信方法,其特征在于,包括以下步驟:
2.如權利要求1所述的一種基于MQTT的物聯網網關設備通信方法,其特征在于,所述預設API包括MQTT?API、Kafka?API和RESTful?API;
3.如權利要求1所述的一種基于MQTT的物聯網網關設備通信方法,其特征在于,所述屬性包括服務端屬性、共享屬性和客戶端屬性,
4.如權利要求3所述的一種基于MQTT的物聯網網關設備通信方法,其特征在于,設備上報所述客戶端屬性的通信流程具體包括以下步驟:
5.如權利要求3所述的一種基于MQTT的物聯網網關設備通信方法,其特征在于,設備查詢所述共享屬性或者客戶端屬性的通信流程具體包括以下步驟:
6.如權利要求3所述的一種基于MQTT的物聯網網關設備通信方法,其特征在于,設備上報所述遙測數據的通信流程具體包括以下步驟:
7.如權利要求2所述的一種基于MQTT的物聯網網關設備通信方法,其特征在于,應用發送所述服務端指令的通信流程具體包括以下步驟:
8.如權利要求2所述的一種基于M
9.如權利要求4-8任一項所述的一種基于MQTT的物聯網網關設備通信方法,其特征在于,所述流程開始均由應用啟動并訂閱Kafka?API,設備端程序啟動并發送MQTT?CONNECT連接統一設備管理平臺;統一設備管理平臺調用應用認證信息認證設備身份,拒絕非法連接,接受合法連接。
10.一種基于MQTT的物聯網設備通信系統,其特征在于,包括應用層、統一設備管理平臺和設備層,所述應用層包括電力應用、環境應用和高速應用,用于處理各項應用任務;
...【技術特征摘要】
1.一種基于mqtt的物聯網網關設備通信方法,其特征在于,包括以下步驟:
2.如權利要求1所述的一種基于mqtt的物聯網網關設備通信方法,其特征在于,所述預設api包括mqtt?api、kafka?api和restful?api;
3.如權利要求1所述的一種基于mqtt的物聯網網關設備通信方法,其特征在于,所述屬性包括服務端屬性、共享屬性和客戶端屬性,
4.如權利要求3所述的一種基于mqtt的物聯網網關設備通信方法,其特征在于,設備上報所述客戶端屬性的通信流程具體包括以下步驟:
5.如權利要求3所述的一種基于mqtt的物聯網網關設備通信方法,其特征在于,設備查詢所述共享屬性或者客戶端屬性的通信流程具體包括以下步驟:
6.如權利要求3所述的一種基于mqtt的物聯網網關設備通信方法,其特征在于,設備上報所述遙測...
【專利技術屬性】
技術研發人員:王用軍,魏波,
申請(專利權)人:成都萬創科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。