無線物聯網中CoAP協議的研究與實現(一)
由于物聯網中的很多設備都是資源受限型的,即只有少量的內存空間和有限的計算能力,所以傳統的HTTP協議應用在物聯網上就顯得過于龐大而不適用。 IETF的CoRE工作組提出了一種基于REST架構的CoAP協議。CoAP是6LowPAN協議棧中的應用層協議。該文在詳細介紹了CoAP協議的內容、特點和交互模型后,在uIPv6 START KIT無線網絡開發套件上,使用Contiki嵌入式操作系統,不僅在瀏覽器端實現了CoAP協議而且用自己編寫的客戶端程序實現了CoAP協議,增加了和數據庫之間的交互功能,從而實現了在Web界面上不僅可以查看實時數據,還可以查看歷史數據的功能。
0引言
物聯網是在互聯網的基礎上延伸和擴展的一種網絡,其用戶端延伸和擴展到了任何物品之間,彼此進行信息交換和通信,目的是實現所有物品與網絡的連接,從而方便識別、管理和控制。
無線物聯網的特點包括:全面感知、實時準確傳遞物品信息、利用智能計算技術對海量數據進行分析和處理,以實現智能化控制。
由于無線物聯網中的設備很多都是資源受限型的,這些設備只有少量的內存空間和有限的計算能力。為此,IETF(Intemet Engineering Task Force)的CoRE(Constrained RESTful Environment)工作組為受限節點制定相關的REST(Representational State Transfer)形式的應用層協議。這就是CoRE工作組正在制訂的CoAP(Constrained Application Protocol)協議。
1 6LoWPAN協議棧
由于TCP/IP協議棧不適用于資源受限的設備,因此提出了一種6LoWPAN(IPv6 over Low power Wireless Personal Area Networks)協議棧。CoAP是6LoWPAN協議棧中的應用層協議。6LoWPAN使IPv6可用于低功耗的有損網絡,它是基于IEEE 802.15.4標準的。6LoWPAN協議棧如圖1所示。
協議棧的下兩層用802.15.4 PHY/MAC,中間加一個IPv6-6LoWPAN適配層,傳輸層使用UDP協議,應用層使用CoAP協議。它包括REST的最小子集和到HTTP的無狀態映射。通信主機使用CoAP協議,能夠支持穩定的通信架構,以實現傳感器節點與互聯網的無線連接。
2 CoAP協議
在2010年3月,CoRE工作組開始制定CoAP協議,到目前為止,該協議還沒有定稿。CoAP協議是為物聯網中資源受限設備制定的應用層協議。它是一種面向網絡的協議,采用了與HTTP類似的特征,核心內容為資源抽象、REST式交互以及可擴展的頭選項等。應用程序通過URI標識來獲取服務器上的資源,即可以像HTTP協議對資源進行GET、PUT、POST和DELETE等操作。CoAP協議具有如下特點:(1)報頭壓縮:CoAP包含一個緊湊的二進制報頭和擴展報頭。它只有短短的4 B的基本報頭,基本報頭后面跟擴展選項。一個典型的請求報頭為10~20 B.圖2是CoAP協議的信息格式。
報頭部分各字段的含義如下:V(Version)表示CoAP協議的版本號;T(Type)表示消息的信息類型;OC(Option Count)表示頭后面的可選的選項數量;Code表示消息的類型:請求消息、響應消息,或者是空消息;Message ID表示消息編號,用于重復消息檢測、匹配消息類型等。
(2)方法和URIs:為了實現客戶端訪問服務器上的資源,CoAP支持GET、PUT、POST和DELETE等方法。CoAP還支持URIs,這是Web架構的主要特點。
(3)傳輸層使用UDP協議:CoAP協議是建立在UDP協議之上,以減少開銷和支持組播功能。它也支持一個簡單的停止和等待的可靠性傳輸機制。

物聯網相關文章:物聯網是什么
評論