物聯網閘道器中MQTT和Modbus之間有何區別
物聯網行業最重要的就是通訊技術,物聯網發展至今,出現了許多種協議,無論何種協議作用無外乎都是將”各類事物”透過各種協議連線到物聯網中,以實現物與物之間的通訊。今天,本文介紹兩種物聯網協議中的補充協議——MQTT和Modbus協議,幫助大家快速瞭解這兩種協議。
Modbus是一個序列通訊協議,首次出現於1979年,是連線行業裝置實際使用的標準協議。MQTT早在20年前便已出現,但是將這兩個協議結合在一起使用,能夠為深度嵌入式裝置提供物聯網的規模和連線性。下圖展示了這些協議之間的一般關係,同時介紹了連線的支援解決方案:物聯網閘道器。
物聯網閘道器作為物聯網通訊的支援解決方案,現在讓我們來看一下Modbus和MQTT,以瞭解其區別以及如何在物聯網中互相補充。
Modbus
自1979年首次出現至今,Modbus已經演變為一套全面的支援多種物理連結的協議集(如RS485)。Modbus的核心是一個序列通訊協議,採用主從模式。主機向從機傳送請求,從機予以回覆。在標準Modbus網路中,有一臺主機以及最多247臺從機(但是,如果採用2位元組定址,則可顯著提高這一界限)。
藉助RS485,主從機之間的通訊發生在指示功能碼的幀中。該功能碼可識別要操作的功能,如讀取獨立輸入;讀取先進先出佇列;或執行診斷函式。然後,從機根據收到的功能碼進行響應,該響應較為簡單,由一組位元組指示。因此,從機可以是智慧裝置,也可以是隻有一個感測器的簡單裝置。
從該描述中,您可以看到Modbus協議非常簡單,但是其作為協議的開放性使其成為整個行業或SCADA系統的實際通訊協議。
訊息佇列遙測傳輸
MQTT是一個開放的輕量級機器對機器協議,專為物聯網互動設計。MQTT網路包含一個MQTT經紀人(broker),負責協調MQTT代理之間的互動。代理是釋出器,負責釋出供使用者使用的資訊(參見下圖)。
訊息佇列遙測傳輸網路中的作用因素
MQTT的要求非常少,因為它專為資源有限的嵌入式裝置設計。除了佔地空間少之外,MQTT還可提供出色的通訊高效性(即使透過低頻寬網路進行通訊)和非常少的開銷(較之HTTP等協議)。即使是在3G網路中,MQTT的吞吐量速度是使用HTTP的表述性狀態轉移(REST)的93倍,5G/4G下的提升將會更大。
MQTT可使用最少的方法指示要在特定主題上實施的操作,進而實施釋出/訂閱模式。代理先連線到經紀人,然後再發布或訂閱主題。完成後,代理將從經紀人上斷開連線。MQTT方法定義:
連線-建立與MQTT經紀人之間的連線。
斷開連線-斷開與MQTT經紀人之間的連線。
釋出-在MQTT經紀人上釋出主題。
訂閱-從MQTT經紀人上訂閱主題。
退訂-從MQTT經紀人上退訂主題。
又如下圖所示,下圖展示了釋出者與訂閱者使用MQTT經紀人進行的簡單互動。如圖所示,資訊建立者(producer)連線至MQTT經紀人。同樣,資訊消費者(consumer)連線至MQTT經紀人。消費者訂閱主題(此處定義為/home/alarms/1/status)。本示例主題可識別主頁上針對區域1的警報系統的狀態變化。當建立者有資訊要分享時,它會向經紀人釋出一條訊息,然後經紀人將會將資訊分享給所有訂閱該主題的使用者。
訊息佇列遙測傳輸代理之間的簡單互動
請注意此處分享的主題結構。它與檔案系統層次結構相似,這可簡化主題的結構。這種資源層次形式也常見於協議架構中,如REST。
MQTT甚至允許使用萬用字元的形式,以簡化訂閱流程。如果使用者想要獲取所有警報的狀態,則可直接訂閱/home/alarms/+/status,該主題可通知使用者所有的警報狀態變化。整個子樹還可使用主題/home/#進行訂閱,該主題可以訂閱/home下的所有事件。
服務質量
MQTT允許定義服務質量(QoS)。MQTT中有三個等級的QoS:
1、QoS0。該等級表示“最多一次”交付(最佳狀況)。訊息不會得到確認,因而,這是一種一勞永與的方法。
2、QoS1。該等級表示“至少一次”交付。使用者可能不止一次獲得訊息,但是允許收到的人確認已經收到。
3、QoS2。最慢但是最有保障的服務質量等級即為等級2。QoS2表示“只有一次”,幷包含四個階段的交付握手。該等級最慢,但是最安全。
您選擇的QoS等級將取決於資料及其交付的重要性。
隨著越來越多的物聯網裝置採用MQTT作為支援協議,作為支援感測器、裝置和雲之間安全互動的計訊物聯網閘道器不僅支援MQTT和Modbus協議,還支援ZigBee、5G/4G/3無線網路、藍芽、USB、WiFi等多種通訊協議,完美的相容了各類前端裝置。除此之外計訊物聯網閘道器支援IPsec/L2TP/PPTP/GRE/l2tpoverIpsec等協議和運營商APN專網接入並指定IP等多種協議保障資料在傳輸過程中的安全。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69950156/viewspace-2673163/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物通博聯Modbus RTU轉 Modbus TCP閘道器有什麼功能TCP
- 【物聯大師】之物聯網智慧閘道器
- 物聯網的閘道器
- PLC和工業閘道器在物聯網數控系統有何應用?
- 不同型別的工業閘道器有何區別?型別
- 物聯網閘道器與物聯網平臺有什麼功能
- OPC轉MQTT閘道器有什麼功能?可以上物聯網雲平臺嗎?MQQT
- IoT和IIoT(工業物聯網)之間有什麼區別?
- RS485協議和Modbus協議有什麼區別?工業閘道器能用嗎?協議
- 物聯網閘道器該怎麼選
- IP地址,子網掩碼、預設閘道器,DNS伺服器之間的聯絡與區別DNS伺服器
- 從工業物聯網閘道器講起:工業資料採集有何特點
- 什麼是工業物聯網閘道器?
- 雲端計算、大資料和物聯網之間,之間有什麼關係與區別?大資料
- 工業物聯網閘道器在機房動力環境監控系統有何作用?
- 物聯網閘道器下連鎖店聯網解決方案
- 有哪些工業網際網路平臺可以接入MQTT閘道器?MQQT
- 工業物聯LoRa組網閘道器是什麼?有什麼功能?
- 物聯網與工業物聯網:有什麼區別?
- .NET 免費開源工業物聯網閘道器
- 物聯網閘道器開發:基於MQTT訊息匯流排的設計過程(上)MQQT
- Modbus TCP轉Profinet閘道器配置案例TCP
- modbus和tcp有什麼區別?TCP
- FCIGC-600M大型工業物聯網智慧閘道器GC
- 什麼是閘道器模組 工業物聯網智慧閘道器乙太網WiFi模組選型WiFi
- 工業物聯網閘道器的功能是什麼(資料採集閘道器如何選擇)
- 工業物聯網核心裝置(邊緣計算閘道器)有什麼功能
- 物聯網 MQTT 服務質量級別MQQT
- Modbus閘道器漏洞(CVE-2021-4161)分析
- Java和Python之間有何區分呢?JavaPython
- TCP和UDP協議有什麼區別?工業閘道器能用嗎?TCPUDP協議
- .NET 跨平臺工業物聯網閘道器解決方案
- Machfu宣佈推出MACH-3工業物聯網閘道器Mac
- 開源工業物聯網閘道器 v2.1.1釋出
- 工業閘道器在物聯網雲平臺上的作用
- 物聯網閘道器助力打造煤礦安全監控系統
- Jtti:伺服器與資料庫有何區別和聯絡?Jtti伺服器資料庫
- Ceph物件閘道器,多區域閘道器物件