無(wú)線(xiàn)物聯(lián)網(wǎng)中CoAP協(xié)議的研究與實(shí)現
圖8是IPv6智能無(wú)線(xiàn)網(wǎng)關(guān)的接口布局,它是基于OPENWRT系統定制完成的。具備3個(gè)局域網(wǎng)口,1個(gè)廣域網(wǎng)口,1個(gè)802.11a/b/g WiFi無(wú)線(xiàn)網(wǎng)絡(luò )接口,1個(gè)標準USB口和1個(gè)可選的串口調試口。該智能無(wú)線(xiàn)網(wǎng)關(guān)除具備通用無(wú)線(xiàn)路由器的功能以外,還可以實(shí)現基于Contiki操作系統的USB UIP網(wǎng)絡(luò )和普通IP網(wǎng)絡(luò )之間的IPv6互連,同時(shí)還支持有能力的系統在OPENWRT的基礎上開(kāi)發(fā)自己的應用軟件包,實(shí)現更復雜的應用。本文引用地址:http://dyxdggzs.com/article/153550.htm
OPENWRT是一個(gè)開(kāi)源的Linux版本。主要應用于嵌入式系統。網(wǎng)關(guān)和節點(diǎn)上同時(shí)裝有Contiki系統,它提供宏定義和RESTful網(wǎng)絡(luò )服務(wù)實(shí)例。
MX231CC節點(diǎn)上的主要芯片是ATmega1284P,它具有128 KB的可編程閃存,4 KB的E2PROM,16 KB的片內SRAM,JTAG接口,優(yōu)化的功耗和處理速度。節點(diǎn)上運行Contiki系統。節點(diǎn)上還有光敏傳感器、室內溫度傳感器、三色LED指示燈等。
3.2 CoAP協(xié)議的火狐瀏覽器實(shí)現(B/S架構)
B/S架構的系統結構如圖9所示。
系統由用戶(hù)瀏覽器、Web服務(wù)器、IPv6智能網(wǎng)關(guān)、MX231CC節點(diǎn)組成。用戶(hù)瀏覽器通過(guò)HTTP協(xié)議訪(fǎng)問(wèn)Web服務(wù)器,MX231CC節點(diǎn)通過(guò)CoAP協(xié)議和IPv6智能網(wǎng)關(guān)進(jìn)行通信,從而實(shí)現用戶(hù)瀏覽器訪(fǎng)問(wèn)節點(diǎn)上資源的功能。圖9中實(shí)線(xiàn)表示有線(xiàn)連接,虛線(xiàn)表示無(wú)線(xiàn)連接。
在當前的Contiki 2.5中,集成了CoAP 03和CoAP06這兩個(gè)版本。這兩個(gè)文件在Contiki 2.5的apps目錄下,關(guān)于CoAP的核心內容都在這兩個(gè)文件中。程序的主要部分為:
AUTOSTART_PROCESSES(coap_sample)這個(gè)進(jìn)程需要自啟動(dòng),即當節點(diǎn)啟動(dòng)時(shí)啟動(dòng)本程序;
PERIODIC_RESOURCE()為進(jìn)程的主體部分。
然后進(jìn)行編譯,編譯成.elf文件,用JTAG下載器下載到節點(diǎn)上。節點(diǎn)地址設置為:2001:2::11:22ff::fe33:4499。這時(shí),用火狐瀏覽器訪(fǎng)問(wèn)節點(diǎn),因為火狐瀏覽器自帶coap插件,如果用其他瀏覽器,那么需要進(jìn)行coap的代理設置。以控制節點(diǎn)上的三色LED燈反轉為例,用下面的請求格式:
GETcoap://[mote_ip_address>]:poa_number>/readings
其中mote_ip_address是節點(diǎn)的IPv6地址,port_number是節點(diǎn)的端口號,readings是客戶(hù)端請求的資源(溫度)。
所以在瀏覽器地址欄輸入:coap://[2001:2::11:22ff:fe33:4499]:61616/toggle,作用是讓節點(diǎn)上的三色LED燈進(jìn)行反轉。服務(wù)器端的響應信息如圖10所示。
從瀏覽器端可以看出,CoAP協(xié)議支持Discover和Observe功能,具有GET、POST、PUT和DELETE等方法。Type表示信息類(lèi)型為ACK,Code為200,表示成功完成客戶(hù)端的請求。事務(wù)ID為38 264,它用于重復信息檢測,options為1表示有一個(gè)可選項,內容類(lèi)型為text表示文本類(lèi)型。
由此可以看出,通過(guò)火狐瀏覽器的CoAP協(xié)議,可以訪(fǎng)問(wèn)節點(diǎn)上的傳感器資源。
3.3 CoAP協(xié)議的客戶(hù)端實(shí)現(C/S架構)
上節通過(guò)火狐瀏覽器可以實(shí)現COAP協(xié)議,但是只能查看實(shí)時(shí)數據,不能查看歷史數據。為此,這里搭建了一個(gè)C/S架構的環(huán)境。如圖11所示。
圖11中客戶(hù)端軟件是用基于.NET架構的C#語(yǔ)言編寫(xiě)的,數據庫使用SQL Server 2008。通過(guò)此程序,可以每隔10 s讀取一次數據,存入到數據庫中。并可以通過(guò)前臺的Web界面查看各種歷史數據,包括溫度、濕度、亮度等。
插入數據庫中的數據如圖12所示,圖中顯示的是室內的亮度值。
在Web瀏覽器端可以查看實(shí)時(shí)和歷史數據,頁(yè)面顯示效果如圖13所示。
由此看出,基于C/S架構的方式,不僅可以顯示實(shí)時(shí)數據,還可以查看歷史數據,以便及時(shí)發(fā)現問(wèn)題,更加具有實(shí)用性。
4 結論
本文詳細介紹了CoAP協(xié)議的內容、特點(diǎn)、交互模型以及訂閱機制,還給出了基于uIPv6 START KIT無(wú)線(xiàn)網(wǎng)絡(luò )開(kāi)發(fā)套件的系統配置方式,該網(wǎng)絡(luò )可以通過(guò)火狐瀏覽器和客戶(hù)端軟件兩種方式實(shí)現CoAP協(xié)議,用戶(hù)不僅可以讀取傳感器上的實(shí)時(shí)數據,而且可以查看歷史數據。
物聯(lián)網(wǎng)相關(guān)文章:物聯(lián)網(wǎng)是什么
評論