7 每個開發人員都必須了解的基本物聯網通訊協議

地雷 十二月. 26. 2024
目錄

    什麼是 物聯網通信協議?

    物聯網協定是標準或 “語言” 被機器用來相互通信, 或透過平台. 基於它們的特性和功能, 這些協議主要分為 3 類型: 傳輸協定, 通訊協議, 和行業特定協議.

    傳輸協定: 設備用於 物聯網網路 並在子網中連接, 包括無線網路, 藍牙, 紫蜂, 乙太網路, 近場通訊, 3G/ 4G/ 5G等.

    通信協議: 用於數據傳輸設備之間的數據傳輸, 在網絡層上方操作並為用戶提供應用程序層服務. 一些通信協議: MQTT, 砲台, http/https, Websocket, AMQP.

    特定於行業的協議: 特定行業內的標準協議,以確保設備之間的兼容性, 系統, 不同製造商和品牌的平台, 例如JT/T 808 中國的車輛終端通信協議.

    7 Essential IoT Communication Protocols

    理解 7 物聯網通信協議:

    在這裡,您會發現物聯網行業中使用的一些通信協議, 包括:

    1. 休息/http

    什麼是休息

    休息 (代表性國家轉移)是一種建築風格,而不是設計網絡應用程序的標準, 通常使用HTTP作為其運輸協議來實施其建築原理.

    特徵:

    • 無狀態: 每個請求包含所有必要的信息, 服務器無法維護客戶端的狀態.
    • 資源標識: 在服務器端, 應用狀態和功能可以分為各種資源, 暴露於客戶. 資源的示例包括應用程序對象, 數據庫記錄, 演算法, ETC. 每個資源都使用URI分配一個唯一地址 (通用資源標識符).
    • 統一界面: 使用標準的HTTP方法來操縱資源, 例如獲取, 郵政, 放, 刪除

    應用:

    REST/HTTP主要旨在簡化Internet的系統體系結構, 快速在客戶端和服務器交互之間實現鬆散的耦合, 從而減少互動延遲. 所以, 適合 物聯網應用, 通過休息使物聯網資源的暴露, 允許其他應用程序調用服務.

    2. 砲台

    什麼是Coap

    砲台 (受限的應用程序協議) 為受限設備提供簡單有效的溝通, 使其非常適合低功率運行, 低帶寬, 和高延遲環境.

    特徵:

    • 標題壓縮: COAP具有緊湊的二進制標頭,底座 4 位元組, 其次是擴展選項, 通常導致請求標題 10-20 位元組.
    • 方法和烏里斯: 支持獲得, 放, 郵政, 刪除方法, 和用於訪問服務器資源的URI.
    • 運輸層: 建立在UDP上,以最大程度地減少開銷並支持多播, 具有簡單的停留和等待可靠性機制.
    • 異步交流: 與HTTP不同, COAP支持異步通信, M2M應用的理想.
    • 資源發現: 包括用於資源發現的內置格式, 符合RFC 5785, 使用/.well-known/core用於資源描述.
    • 快取: 支持緩存資源描述以提高性能.

    應用:

    COAP是簡化的基於HTTP的RESTFUL API. COAP是應用程序層協議 6 Lowpan協議堆棧, 適用於資源受限的通信IP網絡, 例如低功率傳感器和嵌入式系統.

    3. MQTT

    什麼是mqtt

    MQTT協議使用發布/訂閱模式, IOT終端通常通過TCP連接到MQTT代理. 經紀人通過主題管理通信內容,並負責在設備之間轉發消息.

    特徵:

    • Pubish/訂閱模型: 客戶可以將消息發佈到主題並訂閱以從特定主題接收消息. 該模型啟用靈活的消息分發.
    • 低帶寬: 消息標題很小, 通常僅 2 位元組, 支持有效的帶寬使用情況並使其適用於低型帶寬, 高延遲, 和不穩定的網絡.
    • 可靠性: MQTT提供三個QoS級別用於消息傳遞: “最多一次,” “至少一次,” 和 “完全是一次。”

    應用:

    MQTT通常適用於設備數據收集到端點 (例如, 裝置 -> 伺服器) 和星際網絡體系結構中的集中溝通, 經紀人充當樞紐. 它在IoT方案中廣泛使用,也已在某些移動應用程序中採用, 例如Facebook Messenger (歷史上).

    4. DDS

    什麼是DDS

    DDS (數據分配服務) 是為創建的中間件標準 實時系統. 它通過提供低潛伏期來滿足分佈式應用程序的嚴格要求, 高通量, 和確定性的表現.

    特徵:

    • 以數據為中心
    • Brokeless發布/訂閱消息模型: 支持點對點, 點對點, 和多點到雜貨通信.
    • 提供 21 服務質量 (QoS) 政策

    應用:

    分佈式, 高度可靠, 設備的實時數據通信. 現在, DDS廣泛用於民航和工業控制等領域.

    5. AMQP

    什麼是AMQP

    AMQP是一種開放標準的應用層協議,旨在確保可靠的消息傳輸和排隊機制.

    特徵:

    • 電線級協議: 作為字節流在整個網絡上傳輸數據.
    • 由於公開標準而引起的高兼容性
    • 靈活的 & 安全的: 支持各種消息模式, 包括發布/訂閱和點對點. 它還結合了多種安全機制, 例如加密和身份驗證.

    應用:

    最初用於金融系統中的交易消息傳遞, 現在,AMQP主要用於物聯網應用程序,用於移動設備和後端數據中心之間的通信和數據分析.

    6. xmpp

    什麼是xmpp

    作為開放標準的通信協議, xmpp (可擴展的消息傳遞和存在協議) 專為實時通信而設計, 例如即時消息傳遞和存在信息.

    特徵:

    • 客戶端/服務器通信模型: 客戶將請求發送到服務器, 哪個處理請求並將適當的響應或資源發送給客戶端.
    • 分佈式網絡: 多個獨立節點形成網絡, 消除單點失敗.
    • 簡單的客戶: 客戶處理更少的任務, 在服務器端完成的大多數計算.
    • XML用於描述數據, 確保跨平台兼容性, 儘管JSON在現代應用中變得越來越流行.

    應用:

    XMPP用於即時消息傳遞, 網管, 內容交付, 協作工具, 文件共享, 賭博, 遠程系統監視, 還有更多.

    7. JMS

    什麼是JMS

    JMS (Java消息服務) 是用於分佈式應用程序中消息傳遞的Java平台的標準API. 它允許應用程序通過消息隊列進行通信, 因此實現異步, 靈活的, 和可靠的消息交換.

    特徵:

    • 異步交流: 允許在不同時間發送和接收消息, 增加系統靈活性和響應能力.
    • 消息耐用性: 提供消息持久性, 確保在系統故障的情況下不會丟失消息, 並提高可靠性
    • 交易支持: JMS提供交易支持, 確保一組消息操作的原子量, 意味著所有操作要么完全成功,要么完全失敗, 從而保證數據一致性.

    應用:

    JMS是需要異步消息傳遞的分佈式應用程序的理想選擇, 系統解耦, 和高可靠性, 例如企業應用程序集成, 事件驅動的架構, 和實時數據處理.

    物聯網通信協議的比較

    特徵 DDS MQTT AMQP xmpp JMS 休息/http 砲台
    抽象 Pub/sub Pub/sub Pub/sub Pub/sub 請求/回复 請求/回复
    建築學 全球數據空間 代理人 P2P或代理 代理人 通過TCP保證 P2P
    QoS 22 類型 3 類型 3 類型 3 類型 通過TCP或已確認的消息確認 是的
    互操作性 是的 部分 是的 是的 是的
    表現 100,000 msg/s/sub 1,000 msg/s/sub 1,000 msg/s/sub 1,000 msg/s/sub 100 req/s 100 req/s
    即時的 是的 是的
    運輸層 支持UDP和TCP 傳輸控制協定 傳輸控制協定 未指定, 通常是TCP 傳輸控制協定 UDP UDP
    訂閱過濾 基於消息內容和基於主題的過濾 基於主題和消息內容的分層訂閱 隊列和消息過濾 消息內容和主題過濾 不支援 支持主題和多播
    編碼 二進制 二進制 二進制 XML格式 二進制 純文本 純文本
    動態發現 是的
    安全 提供FSS, 傳輸層安全協定, 和其他安全選項 簡單的用戶名/密碼, SSL數據加密 SASL和TLS數據加密 提供FSS, 傳輸層安全協定, JAAS API支持 對SSL和TLS的一般支持 對SSL和TLS的一般支持

     

    結論

    MQTT, DDS, AMQP, xmpp, JMS, 休息, 和砲台是廣泛使用的協議, 每個都有多個實現, 要求對實時發布/訂閱物聯網通信的支持. 然而, 設計特定的物聯網系統體系結構時, 必須考慮場景的實際溝通需求,例如帶寬限制, 延遲要求, 和安全性 - 在選擇最合適的協議之前.

    下一個: LoRaWAN 與 Zigbee: 有什麼區別?
    上一篇: 頂部 5 工作場所安全提示 2025: 物聯網技術確保工人安全