物聯網協議CoAP協議學習


CoAP:Constrained Application Protocol協議是為物聯網中資源受限的設備制定的應用層協議,即簡化版的基於UDP的HTTP協議。其核心內容為資源抽象、REST式交互可擴展的頭選項等。應用程序通過URI標志來獲取服務器上的資源,使其可以像HTTP協議一樣對資源進行GET、PUT、POST和DELETE等操作。C/S架構,功耗低不能反向控制。適用於需要通過標准互聯網網絡進行遠程控制或監控的小型低功率傳感器,開關,閥門和類似的組件,服務器對不支持的類型可以不響應

CoAP協議自身擁有如下特點:

  1)報頭壓縮,數據包小

  包含一個緊湊的二進制報頭和擴展報頭,它只有短短的4B的基本報頭。

  2)方法和URIs

  為了實現客戶端訪問服務器上的資源,這是Web架構的主要特點。

  3)傳輸層使用UDP協議,適用於非安全性數據場合

  CoAP協議是建立在UDP協議之上,以減少開銷(TCP需要三次握手)和支持組播功能。

  4)支持異步通信

  HTTP協議對M2M通信不適用,這是由於事務總是由客戶端發起的。CoAP協議支持異步通信,這對M2M通信應用來說是常見的休眠/喚醒機制。

  5)支持資源發現

  為了自主地發現和使用資源,它支持內置的資源發現格式,用於發現設備上的資源列表,或者用於設備向服務目錄公告自己的資源。

  6)支持緩存

  CoAP協議支持資源描述的緩存以優化其性能。

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)

是IBM(依托ThinkPHP框架)開發的傳感器和控制器之間的一個即時通訊協議,基於發布訂閱模式(消息的生產者和消費者解構decoupling,極大地提高系統的擴展性和網絡拓撲),有多個客戶端--》一個代理服務器(channel)《--多個目標服務器組成的多對多,基於TCP、異步常連接,功耗大可以進行反向控制(服務器對客戶端的控制)。

MQTT不支持帶有類型或者其它幫助Clients理解的標簽消息。MQTT消息可用於任意目的,但前提是所有的Clients必須知道消息格式。而CoAP則相反,它內置內容協商和發現支持,這樣允許設備彼此窺測以找到交換數據的方式

報警:設置觸發條件,消息推送(各種途徑短消息、GPRS/郵件。。。),遠程控制和處理。

分布式緩存Redis之發布/訂閱(Pub/Sub)https://blog.csdn.net/u011489043/article/details/78780255

LWM2M:移動的onenet即是

  是傳統的OMA-DM協議基礎之上發展起來的,屬於訂閱主動(服務器向客戶端訂閱))上報型(周期性或時間觸發),基於REST架構,以coap為傳輸層協議,以資源為基本單位。

LwM2M載荷支持四種格式 plain text、Opaque、TLV、JSON,這四種協議要求服務器端必須都要支持,而在客戶端必須支持TLV格式

 

  

LwM2M協議的主要開源實現有以下幾個:

  • OMA LwM2M DevKit:提供可視化界面與LwM2M服務器交互。
  • Eclipse Leshan:基於Java,提供了LwM2M服務器與LwM2M客戶端的實現。
  • Eclipse Wakaama:基於C,提供了LwM2M服務器與LwM2M客戶端的實現。
  • AVSystem Anjay:基於C,提供了LwM2M客戶端的實現。

此外,EMQ也實現了EMQ服務器上的LwM2M網關插件,實現了LwM2M協議的大部分功能,LwM2M設備可以注冊至EMQ-LWM2M上,從而通過EMQ-LWM2M訪問並管理設備,設備也可以向EMQ-LWM2M上報信息,並使用EMQ后端的服務來采集數據,參考:https://www.jianshu.com/p/11d34008f486


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM