查看: 1867|回復: 0
打印 上一主題 下一主題

物聯(lián)網(wǎng)(IoT)連接協(xié)議-MQTT

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2020-3-4 10:07:04 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

物聯(lián)網(wǎng) (IoT) 設備必須連接互聯(lián)網(wǎng)。通過(guò)連接到互聯(lián)網(wǎng),設備就能相互協(xié)作,以及與后端服務(wù)協(xié)同工作;ヂ(lián)網(wǎng)的基礎網(wǎng)絡(luò )協(xié)議是 TCP/IP。MQTT(消息隊列遙測傳輸) 是基于 TCP/IP 協(xié)議棧而構建的,已成為 IoT 通信的標準。
MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開(kāi)發(fā)的一個(gè)即時(shí)通訊協(xié)議,它是一種輕量級的、基于代理的“發(fā)布/訂閱”模式的消息傳輸協(xié)議。其具有協(xié)議簡(jiǎn)潔、小巧、可擴展性強、省流量、省電等優(yōu)點(diǎn),而且已經(jīng)有PHP,JAVA,Python,C,C#,Go等多個(gè)語(yǔ)言版本,基本可以使用在任何平臺上,幾乎可以把所有聯(lián)網(wǎng)物品和外部連接起來(lái),所以特別適合用來(lái)當做物聯(lián)網(wǎng)的通信協(xié)議。
相比HTTP協(xié)議不適合大規模的物聯(lián)網(wǎng)應用,這是因為:

1. HTTP 是一種同步協(xié)議?蛻(hù)端需要等待服務(wù)器響應,依賴(lài)較高的網(wǎng)絡(luò )信號質(zhì)量。
2. HTTP 是單向的?蛻(hù)端必須發(fā)起連接。在 IoT 應用程序中,設備或傳感器通常是客戶(hù)端,這意味著(zhù)它們無(wú)法被動(dòng)地接收來(lái)自網(wǎng)絡(luò )的命令。
3. HTTP 是一種 1-1 協(xié)議?蛻(hù)端發(fā)出請求,服務(wù)器進(jìn)行響應。將消息傳送到網(wǎng)絡(luò )上的所有設備上,不但很困難,而且成本很高,而這是 IoT 應用程序中的一種常見(jiàn)使用情況。
4. HTTP 是一種有許多標頭和規則的重量級協(xié)議。它不適合受限的網(wǎng)絡(luò )。
MQTT特點(diǎn)
MQTT協(xié)議是為大量計算能力有限,且工作在低帶寬、不可靠的網(wǎng)絡(luò )的遠程傳感器和控制設備通訊而設計的協(xié)議,它具有以下主要的幾項特性:
1.  使用發(fā)布/訂閱消息模式,個(gè)發(fā)布者可以對應多個(gè)訂閱者,當發(fā)布者發(fā)生變化的時(shí)候,他可以將消息一一通知給所有的訂閱者。這種模式提供了更大的網(wǎng)絡(luò )擴展性和更動(dòng)態(tài)的網(wǎng)絡(luò )拓撲。因為 MQTT 消息是按主題進(jìn)行組織的,所以應用程序開(kāi)發(fā)人員能靈活地指定某些客戶(hù)端只能與某些消息交互。
根據 MQTT 的基礎了解后并結合簡(jiǎn)單的架構,在這里做一個(gè)簡(jiǎn)單的示例圖,可以更直觀(guān)的理解MQTT協(xié)議的通信模型。MQTT Broker 就選擇 EMQ 作為示范。比如有1個(gè)溫度傳感器(1個(gè)Machine),1個(gè)移動(dòng)設備,1個(gè)電腦,一個(gè)服務(wù)器(3個(gè)Machine),都可以得到或者顯示溫度傳感器的溫度值,需要先通過(guò) MQTT協(xié)議subscribe(訂閱)一個(gè)比如叫 temperature 的 topic(主題)如下圖:
圖中移動(dòng)設備,服務(wù)器,電腦需要先通過(guò) EMQ subscribe 一個(gè)叫 temperature 的 topic,當溫度傳感器 publish 溫度數據,三個(gè)設備就可以收到了。
2.對負載內容屏蔽的消息傳輸;
3.使用 TCP/IP 提供網(wǎng)絡(luò )連接;
4.有三種消息發(fā)布服務(wù)質(zhì)量:
l "至多一次",消息發(fā)布完全依賴(lài)底層TCP/IP網(wǎng)絡(luò )。會(huì )發(fā)生消息丟失或重復。這一級別可用于如下情況,環(huán)境傳感器數據,丟失一次讀記錄無(wú)所謂,因為不久后還會(huì )有第二次發(fā)送。這一種方式主要普通APP的推送,倘若你的智能設備在消息推送時(shí)未聯(lián)網(wǎng),推送過(guò)去沒(méi)收到,再次聯(lián)網(wǎng)也就收不到了。
l "至少一次",確保消息到達,但消息重復可能會(huì )發(fā)生。這一級別可用于如下情況,你需要獲得每一條消息,并且消息重復發(fā)送對你的使用場(chǎng)景無(wú)影響。
l "只有一次",確保消息到達一次。在一些要求比較嚴格的計費系統中,可以使用此級別。在計費系統中,消息重復或丟失會(huì )導致不正確的結果。這種最高質(zhì)量的消息發(fā)布服務(wù)還可以用于即時(shí)通訊類(lèi)的APP的推送,確保用戶(hù)收到且只會(huì )收到一次。
5.小型傳輸,開(kāi)銷(xiāo)很。ü潭ㄩL(cháng)度的頭部是 2 字節),協(xié)議交換最小化,以降低網(wǎng)絡(luò )流量。它有一個(gè)用來(lái)指定消息類(lèi)型的簡(jiǎn)單標頭,有一個(gè)基于文本的主題,還有一個(gè)任意的二進(jìn)制有效負載。應用程序可對有效負載采用任何數據格式,比如 JSON、XML、加密二進(jìn)制或 Base64,只要目標客戶(hù)端能夠解析該有效負載;
6.使用 Last Will 和 Testament 特性通知有關(guān)各方客戶(hù)端異常中斷的機制。
奇跡物聯(lián)作為專(zhuān)注eSIM 技術(shù)的物聯(lián)網(wǎng)公司,發(fā)布的AM20E,AM21E,AM400E等NB/LTE模組,支持包括MQTT協(xié)議在內的多種通信協(xié)議,客戶(hù)借助eSIM模組,可將物聯(lián)網(wǎng)終端設備部署在私有服務(wù)器上,也可在阿里云,OneNET等公有云平臺上部署,我公司提供豐富的產(chǎn)品開(kāi)發(fā)資料和程序例程,幫助用戶(hù)實(shí)現項目快速落地。


您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页