阿里云 IoT 企業(yè)物聯(lián)網(wǎng)平臺 MQTT 通訊模式
[導(dǎo)讀]阿里云IoT企業(yè)物聯(lián)網(wǎng)平臺為不同場景的硬件提供了多種通信模式,例如設(shè)備到云,云到設(shè)備,設(shè)備到設(shè)備之間的通信。盡管不同業(yè)務(wù)場景設(shè)備和交互行為差異很大,但是大多數(shù)底層數(shù)據(jù)流通信模型都可以歸類為三種MQTT模式:點對點模式,廣播模式和同步調(diào)用模式。當我們基于阿里云IoT企業(yè)物聯(lián)網(wǎng)平臺搭...
阿里云 IoT企業(yè)物聯(lián)網(wǎng)平臺為不同場景的硬件提供了多種通信模式,例如設(shè)備到云,云到設(shè)備,設(shè)備到設(shè)備之間的通信。盡管不同業(yè)務(wù)場景設(shè)備和交互行為差異很大,但是大多數(shù)底層數(shù)據(jù)流通信模型都可以歸類為三種MQTT模式:點對點模式,廣播模式和同步調(diào)用模式。
當我們基于阿里云IoT企業(yè)物聯(lián)網(wǎng)平臺搭建硬件端到App端物聯(lián)網(wǎng)業(yè)務(wù)時,完整業(yè)務(wù)數(shù)據(jù)鏈路的架構(gòu)示意圖如下:設(shè)備與IoT物聯(lián)網(wǎng)平臺之間的通信:
業(yè)務(wù)服務(wù)器和IoT物聯(lián)網(wǎng)平臺之間的通信:
點對點模式點對點通信模式是設(shè)備在MQTT中基本的消息發(fā)送和消息接收模式。
設(shè)備上報消息給云端設(shè)備端可通過MQTT的Publish指令,傳入設(shè)備的DeviceName 后,可以上報消息到物聯(lián)網(wǎng)平臺。如下圖所示同一產(chǎn)品下海量設(shè)備上報的消息可以通過云產(chǎn)品流轉(zhuǎn)匯總接收。如下圖所示
云端下發(fā)消息到設(shè)備端云端下發(fā)消息給設(shè)備的能力,可通過調(diào)用物聯(lián)網(wǎng)平臺提供的Pub 接口,傳入目標設(shè)備的DeviceName來實現(xiàn)。如下圖所示
設(shè)備與設(shè)備間通信M2M接入同一個企業(yè)物聯(lián)網(wǎng)實例的設(shè)備A和設(shè)備B之間可以通過云平臺規(guī)則引擎的Topic流轉(zhuǎn)規(guī)則來實現(xiàn)設(shè)備間通信(M2M),如下圖所示
消息廣播模式
在線設(shè)備全量廣播消息?
針對同一產(chǎn)品下全量在線設(shè)備廣播消息的場景,物聯(lián)網(wǎng)平臺 提供了廣播接口,可最大每分鐘調(diào)用1次。?指定Topic的全量設(shè)備廣播消息?相同產(chǎn)品下的設(shè)端可以訂閱相同的廣播Topic? (/broadcast/${productKey}/xxx),業(yè)務(wù)服務(wù)器調(diào)用物聯(lián)網(wǎng)平臺提供的PubBroadcast接口,向已訂閱廣播Topic 的在線設(shè)備推送廣播消息。
同步消息RRPC模式MQTT協(xié)議是基于Pub/Sub的異步通信模式,不適用于服務(wù)端同步 控制設(shè)備端返回結(jié)果的場景。物聯(lián)網(wǎng)平臺基于MQTT協(xié)議制定了一套請求和響應(yīng)的同步機制,無 需改動MQTT協(xié)議即可實現(xiàn)同步通信。物聯(lián)網(wǎng)平臺提供API給服務(wù)端, 設(shè)備端只需要按照固定的格式回復(fù)PUB消息,服務(wù)端使用API,即 可同步獲取設(shè)備端的響應(yīng)結(jié)果。?同步RRPC具體流程如下:?
在阿里云 IoT企業(yè)物聯(lián)網(wǎng)平臺上,組合使用以上三種模式,即可輕松搞定物聯(lián)網(wǎng)場景消息通信需求。—END—往期精彩推薦,點擊即可閱讀
▲萬變不離其宗之單片機串口問題?▲萬變不離其宗之I2C總線要點總結(jié)▲萬變不離其宗之SPI總線要點總結(jié)▲長文圖解工業(yè)HART總線協(xié)議?▲RS-485總線,這篇很詳細?▲圖文詳解Modbus-RTU
當我們基于阿里云IoT企業(yè)物聯(lián)網(wǎng)平臺搭建硬件端到App端物聯(lián)網(wǎng)業(yè)務(wù)時,完整業(yè)務(wù)數(shù)據(jù)鏈路的架構(gòu)示意圖如下:設(shè)備與IoT物聯(lián)網(wǎng)平臺之間的通信:
- 設(shè)備通過MQTT協(xié)議的Publish,發(fā)送數(shù)據(jù)到物聯(lián)網(wǎng)平臺,如圖①。
- 設(shè)備通過MQTT協(xié)議的Subscribe,實時監(jiān)聽物聯(lián)網(wǎng)平臺下發(fā)的指令,如圖⑤ 。
業(yè)務(wù)服務(wù)器和IoT物聯(lián)網(wǎng)平臺之間的通信:
- 數(shù)據(jù)流轉(zhuǎn)到業(yè)務(wù)服務(wù)器
- 通過配置物聯(lián)網(wǎng)平臺的規(guī)則引擎,可以將數(shù)據(jù)實時寫入到 數(shù)據(jù)庫,業(yè)務(wù)服務(wù)器直接從數(shù)據(jù)庫獲取數(shù)據(jù),如圖②。
- 通過配置物聯(lián)網(wǎng)平臺的規(guī)則引擎,可以使用AMQP協(xié)議, 將數(shù)據(jù)實時推送到業(yè)務(wù)服務(wù)器,如圖③。
- 業(yè)務(wù)系統(tǒng)下發(fā)控制指令到設(shè)備
- 業(yè)務(wù)服務(wù)器通過調(diào)用物聯(lián)網(wǎng)平臺API,下發(fā)控制指令,如圖④。?
點對點模式點對點通信模式是設(shè)備在MQTT中基本的消息發(fā)送和消息接收模式。
設(shè)備上報消息給云端設(shè)備端可通過MQTT的Publish指令,傳入設(shè)備的DeviceName 后,可以上報消息到物聯(lián)網(wǎng)平臺。如下圖所示同一產(chǎn)品下海量設(shè)備上報的消息可以通過云產(chǎn)品流轉(zhuǎn)匯總接收。如下圖所示
云端下發(fā)消息到設(shè)備端云端下發(fā)消息給設(shè)備的能力,可通過調(diào)用物聯(lián)網(wǎng)平臺提供的Pub 接口,傳入目標設(shè)備的DeviceName來實現(xiàn)。如下圖所示
設(shè)備與設(shè)備間通信M2M接入同一個企業(yè)物聯(lián)網(wǎng)實例的設(shè)備A和設(shè)備B之間可以通過云平臺規(guī)則引擎的Topic流轉(zhuǎn)規(guī)則來實現(xiàn)設(shè)備間通信(M2M),如下圖所示
消息廣播模式
在線設(shè)備全量廣播消息?
針對同一產(chǎn)品下全量在線設(shè)備廣播消息的場景,物聯(lián)網(wǎng)平臺 提供了廣播接口,可最大每分鐘調(diào)用1次。?指定Topic的全量設(shè)備廣播消息?相同產(chǎn)品下的設(shè)端可以訂閱相同的廣播Topic? (/broadcast/${productKey}/xxx),業(yè)務(wù)服務(wù)器調(diào)用物聯(lián)網(wǎng)平臺提供的PubBroadcast接口,向已訂閱廣播Topic 的在線設(shè)備推送廣播消息。
一個廣播Topic最多支持被1000個?設(shè)備訂閱。?當設(shè)備數(shù)量超過1千臺,您可以對設(shè)備進行分組。例如,如果您有5,000個設(shè)備,您可以將設(shè)備按每組1,000個,而分成5組(例如?/broadcast/${productKey}/group1)。您需要分5次調(diào)用PubBroadcast接口,以便實現(xiàn)全量設(shè)備(即使設(shè)備當前離線)廣播的目的。
同步消息RRPC模式MQTT協(xié)議是基于Pub/Sub的異步通信模式,不適用于服務(wù)端同步 控制設(shè)備端返回結(jié)果的場景。物聯(lián)網(wǎng)平臺基于MQTT協(xié)議制定了一套請求和響應(yīng)的同步機制,無 需改動MQTT協(xié)議即可實現(xiàn)同步通信。物聯(lián)網(wǎng)平臺提供API給服務(wù)端, 設(shè)備端只需要按照固定的格式回復(fù)PUB消息,服務(wù)端使用API,即 可同步獲取設(shè)備端的響應(yīng)結(jié)果。?同步RRPC具體流程如下:?
- 設(shè)備端訂閱RRPC相關(guān)Topic。
- 業(yè)務(wù)服務(wù)器調(diào)用物聯(lián)網(wǎng)平臺的RRPC接口。
- 物聯(lián)網(wǎng)平臺收到服務(wù)器端RRPC調(diào)用請求,向設(shè)備下發(fā)一條 RRPC請求消息。
- 設(shè)備端接收到RRPC消息,執(zhí)行業(yè)務(wù)指令,向IoT平臺回復(fù)一條 RRPC響應(yīng)消息。
- 物聯(lián)網(wǎng)平臺提取設(shè)備上報RRPC響應(yīng)的消息ID,和業(yè)務(wù)系統(tǒng)的RRPC請求消息匹配。
- 物聯(lián)網(wǎng)平臺將響應(yīng)結(jié)果作為RRPC的響應(yīng)返回給指定服務(wù)器。?
在阿里云 IoT企業(yè)物聯(lián)網(wǎng)平臺上,組合使用以上三種模式,即可輕松搞定物聯(lián)網(wǎng)場景消息通信需求。—END—往期精彩推薦,點擊即可閱讀
▲萬變不離其宗之單片機串口問題?▲萬變不離其宗之I2C總線要點總結(jié)▲萬變不離其宗之SPI總線要點總結(jié)▲長文圖解工業(yè)HART總線協(xié)議?▲RS-485總線,這篇很詳細?▲圖文詳解Modbus-RTU





