《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于CoAP協議的數據采集網關設計
基于CoAP協議的數據采集網關設計
2015年電子技術應用第6期
李 琦,張 康,王月明
內蒙古科技大學 信息工程學院,內蒙古 包頭014010
摘要: 針對呼倫湖流域環境大數據采集的需求,同時為了解決不同廠商協議標準的不兼容性,設計了一種基于CoAP協議的數據采集網關。詳細討論了CoAP協議的基本原理和實現方法,并在開源系統RT-Thread和微控制器STM32的軟硬件平臺上實現。給出了系統整體設計以及各部分軟硬件設計,實驗結果表明,該設計方案可行,具有傳輸效率高、兼容性較好的特點。
中圖分類號: TP39
文獻標識碼: A
文章編號: 0258-7998(2015)06-0154-03
A design of data acquisition gateway based on CoAP
Li Qi,Zhang Kang,Wang Yueming
College of Information Engineering, Inner Mongolia University of Science and Technology,Baotou 014010,China
Abstract: To satisfy the demand of Hulun Lake watershed environmental big data collection, and to solve the incompatible problem of different manufacturers protocols, a data acquisition gateway was designed based on the Constrained Application Protocol(CoAP). This study discussed the basic principle and implementation method of CoAP in detail and gave the overall design, the hardware and the software design of each part. Furtherly, the study gave the detail design of hardware which is based on the STM32 microprocessor and software design which is based on the open-source operating system RT-Thread. The experimental result shows that, the design is feasible and it has the characteristics of high transmission efficiency and better compatibility.
Key words : data acquisition;gateway;STM32;RT-Thread;CoAP

    

0 引言

    近年來,呼倫湖流域生態面臨著嚴峻的挑戰,水域污染加重、湖底淤積、生物多樣性下降、濕地萎縮等問題日益突出[1]。目前,呼倫湖流域環境監測系統的信息化建設還處于起步階段,監測點不足、基礎數據不完善、數據采集系統自動化程度較低、監測數據不能通過網絡共享等問題使得政府部門很難及時有效地做出應對措施。同時,由于各大廠商的技術缺乏兼容性,很難將不同的協議兼容使用。在這種背景下,本文設計了基于CoAP協議的數據采集網關,對多個監測點的傳感器數據進行CoAP數據格式轉換,上傳遠程數據庫,積累生態環境大數據,為政府決策提供支持。

1 系統概述

    基于RT-Thread的CoAP協議網關系統是在傳感器節點數據采集基礎上,對多個傳感器節點的數據進行CoAP數據格式轉換,并與遠程數據庫進行數據交互,實現環境監測數據網絡共享的效果[2]。整體設計框圖如圖1所示。

jsj6-t1.gif

2 硬件設計

    硬件設計框架圖如圖2所示。

jsj6-t2.gif

    傳感器節點選擇ST公司出產的增強型系列微控制器STM32F103RBT6作為主控制器[3],選擇DALLAS半導體公司出產的1-Wire單總線數字溫度計作為環境溫度采集設備,選擇I2C標準通信接口的16位數字輸出型環境光強度模塊BH1750FVI作為光照強度采集設備。

    CoAP網關節點選擇ST公司出產的高性能微控制芯片STM32F407ZGT6作為主控制器,該控制器具有符合IEEE 1588 v2標準要求的以太網MAC 10/100[4],同時提供了先進的外設和標準的通訊接口;選擇體積小、功耗低、全能型的以太網收發器LAN8720A作為以太網PHY。

    串口轉ZigBee模塊DRF1605H作為傳感器節點與CoAP網關節點之間數據交互的橋梁。該模塊基于CC2530F256芯片,運行ZigBee2007/PRO協議,具有ZigBee協議的全部特點以及上電自動組網的特色。在傳感器節點中,該模塊被設置成Router節點使用;在CoAP網關節點中,該模塊被設置成Coordinator節點使用。

3 CoAP協議原理及實現

    CoAP協議是為物聯網中資源受限設備制定的應用層協議[5]。它是一種面向網絡的協議,采用了與HTTP類似的特性,核心內容為資源抽象、REST式交互及可擴展的頭選型等??蛻舳藨贸绦蛲ㄟ^URI標識來獲取服務器上的資源,對資源可以進行GET、PUT、POST和DELETE操作。CoAP具有報頭壓縮、UDP傳輸、支持資源發現、支持緩存、異步通信等特點。CoAP協議的數據報格式如圖3所示。

jsj6-t3.gif

    CoAP包含一個緊湊的二進制報頭以及擴展報頭?;緢箢^只有短短4 B,后面緊跟著擴展選型和有效負載。報頭各個部分字段的含義如下:Ver表示CoAP協議的版本號,默認情況下置1;T表示報文的類型:CON類型、NON類型、RST類型、ACK類型;TKL表示選型Token所占的字節數;Code表示消息的類型:請求消息、響應消息或者是空消息;Message ID表示消息編號,用于重復消息檢測、匹配消息類型等。

    CoAP協議的傳輸層默認使用UDP協議,為了解決UDP傳輸的不可靠性,CoAP協議采用了雙層結構,定義了帶有重傳的事務處理機制,并采用盡可能小的載荷,限制了分片。CoAP協議棧視圖如圖4所示。

jsj6-t4.gif

    事物層(Transaction Layer)用于處理節點間的信息交換,同時提供組播和擁塞控制等功能;請求/響應層(Request/Response Layer)用于傳輸對資源進行操作的請求和相應信息。CoAP的雙層處理方式使得CoAP沒有采用TCP協議也可以提供可靠的傳輸機制。

    CoAP官方推出了一定量的庫文件,方便用戶在自己的設備移植使用CoAP。本設計是在RT-Thread操作系統環境下進行的,其LWIP協議棧組件能夠提供CoAP所需的UDP協議[4],通過編程實現CoAP標準格式數據報就可實現CoAP網關與遠程數據庫之間的CoAP數據上傳。自定義的CoAP數據結構圖如圖5所示。

jsj6-t5.gif

    在實現CoAP數據結構的過程中使用到了幾個接口函數:coap_pdu_init函數,用來完成CoAP數據報報頭初始化;coap_add_token函數,用來完成添加Token選項;coap_add_option函數,用來添加Option選項;coap_add_data函數,用來添加有效負載選型。在實現的過程中,每一個函數都會改變CoAP數據報結構,必須按照上述順序調用。

    使用維基百科收錄的Microcoap-master庫來檢測上述CoAP實現方法的可靠性。Microcoap-master是一個小型服務器端程序包,支持客戶端對“light”資源的GET、PUT、POST操作。在LINUX環境下執行make./coap運行Microcoap-master,CoAP網關發送對“light”資源的PUT操作請求,同時使用wireshake抓包軟件進行網絡數據抓包,截取的網絡數據包如圖6所示。

jsj6-t6.gif

    圖6中(a)圖抓取的是CoAP網關向Microcoap-mster服務器發送對“light”資源CON類型PUT請求的數據報,其中標識的部分41 03 12 34表示包頭Header,49表示選型Token,b5 6c 69 67 68 74表示選型Option,31表示負載Payload;(b)圖抓取的的是Microcoap-master服務器對于該CON類型報文做出的ACK類型響應,其中61 44 12 34 表示包頭Header,00表示Token,31表示負載Payload,并沒有搭載Option部分。實驗結果表明,以上所述的CoAP協議實現方法可行。

4 軟件設計

    軟件設計以RT-Thread實時操作系統基本框架為基礎[6],對多任務進行線程化管理。RT-Thread操作系統是采用面向對象風格設計、C語言實現的開放源碼的RTOS,其突出的特點是小型、實用和可剪裁性。在RT-Thread中線程是最小的調度單位,線程調度是基于優先級全搶占式的多線程調度算法,支持256個線程優先級;支持創建相同優先級的線程,相同優先級的線程采用設置時間片的輪轉調度算法;調度器用來尋找下一個最高優先級就緒線程的時間是恒定的。RT-Thread Kernel核心目前支持多數主流CPU芯片,其bsp分支包含有所支持的各平臺代碼,移植時選好開發平臺后僅需修改rtconfig.h文件即可。

    基于RT-Thread操作系統,對于傳感器節點和CoAP網關節點進行線程化管理。傳感器節點根據任務要求設計了兩個線程:rt_sensor_entry負責讀取相關傳感器數據;rt_dataex_entry線程負責接收解析CoAP網關節點指令,并向其發送傳感器自定義數據包。

    傳感器節點與CoAP網關節點之間的數據交互是通過DRF1605H模塊數據透傳的方式實現的,為了解決數據在透傳過程中的缺失、不按順序到達等問題,提出了一種自定義的透傳數據格式。通過解析數據包中的幀首、功能碼、從機地址、結束校驗位等信息,就可判斷數據包的完整性和正確性。自定義數據包格式如圖7所示。

jsj6-t7.gif

    其中,幀首定義為0xBBEE,占2個字節;長度碼表示數據包占用的字節數;從機地址表示節點編號(CoAP網關節點為1號,傳感器節點依次為2,3,4…);功能碼表示CoAP節點數據查詢功能(0)以及傳感器節點數據提交功能(1);數據位中存放傳感器原始數據(查詢功能數據包中的該項為0);結束校驗位占用2字節,固定為0x3498。

    CoAP網關節點以RT-Thread內核以及LWIP外圍組件作為軟件平臺[7],結構示意圖如圖8所示。

jsj6-t8.gif

    根據CoAP網關節點任務的劃分,設計了多個線程:rt_dataex_entry線程負責與傳感器節點數據交互,并解析傳感器節點數據包;rt_coap_entry線程負責將傳感器原始數據CoAP格式化;rt_ethsend_entry線程負責定時向遠程服務器發送CoAP報文。線程的順序視圖如圖9所示。

jsj6-t9.gif

5 結束語

    本文介紹了基于CoAP協議的數據采集網關設計,通過對相關軟硬件實現方法加以分析以及實驗測試,證實本設計能夠達到預期的效果。本文設計的CoAP協議網關不僅僅適用于呼倫湖流域環境數據采集,根據不同的應用場合,只要對硬件和軟件稍作修改即可完成不同的監測任務。本設計在數據采集系統領域具有一定的借鑒價值。

參考文獻

[1] 趙慧穎,烏力吉,郝文俊.氣候變化對呼倫湖濕地及其周邊地區生態環境演變的影響[A].中國氣象學會2008年年會干旱與減災——第六屆干旱氣候變化與減災學術研討會分會場論文集[C].中國氣象學會,2008:13.

[2] 吳海平,王慧鋒.基于ARM技術的嵌入式網關設計[A].第七屆工業儀表與自動化學術會議論文集[C].中國儀器儀表學會過程檢測控制儀表分會、中國儀器儀表學會可靠性工程分會,2006:3.

[3] 李寧.基于MDK的STM32處理器開發應用[M].北京:北京航空航天大學出版社,2008.

[4] 曾浩,張祺,鄭斯凱.基于STM32F407的圖像遠程采集終端[J].工業控制計算機,2014(11):81-83.

[5] BORMANN C,CASTELLANI A P,SHELBY Z.CoAP:an application protocol for billions of tiny Internet nodes[J].IEEE Internet Computing,2012,16(2):62-67.

[6] 熊譜祥.RT-Thread實時操作系統編程指南[DB/OL].(2010)[2015].上海:中國電子開發網.

[7] 蘇憲利,鄭一麟.基于RT-thread的機床物聯網系統設計與實現[J].組合機床與自動化加工技術,2014(6):69-72.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美日韩国产首页| 亚洲欧美日韩天堂| 亚洲国产高清自拍| 亚洲欧美一区二区视频| 国产一区二区三区精品欧美日韩一区二区三区| 在线一区二区日韩| 亚洲天堂男人| 久久av最新网址| 久久一区二区三区四区| 欧美激情va永久在线播放| 欧美激情第六页| 久久久精品性| 亚洲一区二区免费在线| 久久精品最新地址| 一区二区三区**美女毛片| 亚洲电影免费观看高清完整版在线| 国产视频久久网| 国产精品理论片在线观看| 国产一区二区三区黄视频| 亚洲免费视频成人| 欧美精品七区| 久久免费少妇高潮久久精品99| 久久亚洲影院| 亚洲欧洲日韩在线| 国产精品久久久久久久久动漫| 精品999久久久| 国产农村妇女毛片精品久久莱园子| 亚洲精品视频中文字幕| 国产老肥熟一区二区三区| 欧美精品久久久久a| 亚洲另类春色国产| 国产精品爽爽爽| 久久亚洲精品伦理| 欧美综合77777色婷婷| 久久激情久久| 亚洲欧美资源在线| 午夜久久美女| 99精品福利视频| 欧美香蕉大胸在线视频观看| 亚洲国产高清在线观看视频| 日韩午夜在线播放| 国产精品久久一区二区三区| 黄色资源网久久资源365| 欧美日韩dvd在线观看| 久久久久国产精品一区| 国内成+人亚洲+欧美+综合在线| 国产午夜精品久久久| 欧美日韩免费观看一区| 99riav1国产精品视频| 一区二区日韩精品| 亚洲人成艺术| 国产精品五区| 嫩草成人www欧美| 久久米奇亚洲| 久久综合久色欧美综合狠狠| 久久久91精品国产一区二区精品| 亚洲一区二区三区四区五区午夜| 亚洲女同同性videoxma| 国产美女精品人人做人人爽| 欧美福利视频在线观看| 欧美日韩午夜精品| 久久丁香综合五月国产三级网站| 99精品国产99久久久久久福利| 欧美日韩在线观看视频| 亚洲国产黄色片| 欧美日韩亚洲国产一区| 久久久久国色av免费观看性色| 一本色道久久| 欧美在线1区| 亚洲欧美日韩综合| 国产欧美日韩| 国产女主播视频一区二区| 欧美福利电影在线观看| 亚洲电影网站| 欧美精品在线观看一区二区| 亚洲综合社区| 欧美日韩国产首页在线观看| 正在播放欧美视频| 欧美精品一区二区三区视频| 亚洲欧美中日韩| 国产精品久久久久久久久免费桃花| 国产精品国产三级国产普通话99| 国产精品久久久爽爽爽麻豆色哟哟| 亚洲欧美日韩一区二区三区在线| 久久精品五月| 香蕉久久精品日日躁夜夜躁| 欧美网站大全在线观看| 久久久久天天天天| 亚洲性夜色噜噜噜7777| 欧美日韩亚洲一区三区| 亚洲专区免费| 欧美日韩 国产精品| 在线欧美亚洲| 亚洲第一偷拍| 亚洲午夜久久久| 亚洲美女视频网| 久久亚洲电影| 欧美韩日高清| 日韩视频在线观看| 欧美伊人久久久久久久久影院| 国产精品美女主播在线观看纯欲| 欧美精品日韩综合在线| 亚洲精品一品区二品区三品区| 久久久国产亚洲精品| av成人激情| 欧美日韩四区| 国产精品一区二区久久国产| 久热精品视频在线| 亚洲精品在线三区| 国产欧美日韩在线播放| 麻豆九一精品爱看视频在线观看免费| 国产精品嫩草99av在线| 麻豆久久精品| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲欧美日韩另类精品一区二区三区| 亚洲欧洲精品一区二区| 一本色道久久加勒比88综合| 国产精品av免费在线观看| 久久综合亚州| 欧美二区在线看| 欧美日韩视频不卡| 亚洲国语精品自产拍在线观看| 99精品国产99久久久久久福利| 亚洲午夜成aⅴ人片| 欧美综合第一页| 久久免费视频网| 国产日韩欧美视频| 欧美国产一区二区三区激情无套| 亚洲欧美日韩精品久久| 欧美另类在线播放| 国产精品美女久久久久久2018| 久久成人精品一区二区三区| 韩国av一区二区三区在线观看| 欧美高清在线一区二区| 欧美日韩亚洲国产一区| 久久国产精品高清| 夜夜嗨av一区二区三区免费区| 亚洲午夜激情| 亚欧成人在线| 国产欧美日韩三区| 国产一级揄自揄精品视频| 国产精品久久久久久一区二区三区| 国产婷婷色一区二区三区四区| 国产欧美二区| 国产精品欧美日韩一区| 久久久久久国产精品一区| 久久午夜精品一区二区| 亚洲激情网站| 性欧美在线看片a免费观看| 在线综合欧美| 国产日韩欧美电影在线观看| 9久草视频在线视频精品| 一本色道久久综合狠狠躁的推荐| 欧美一二三区在线观看| 欧美精品播放| 嫩模写真一区二区三区三州| 亚洲第一级黄色片| 国产一区在线观看视频| 亚洲国产精品久久人人爱蜜臀| 亚洲第一网站免费视频| 夜夜精品视频| 在线视频国内自拍亚洲视频| 中国成人亚色综合网站| 麻豆精品视频在线观看| 狠狠色2019综合网| 欧美精品一区二区三区蜜臀| 欧美欧美在线| 国产真实久久| 欧美顶级大胆免费视频| 亚洲国产精品成人综合色在线婷婷| 亚洲欧洲美洲综合色网| 久久夜色精品国产噜噜av| 久久婷婷综合激情| 在线观看日韩www视频免费| 国产一区二区三区在线观看网站| 日韩一级黄色av| 国产精品国产福利国产秒拍| 欧美激情精品久久久六区热门| 在线观看亚洲专区| 欧美**字幕| 国产一区二区观看| 国内一区二区三区在线视频| 国模叶桐国产精品一区| 欧美日本一道本在线视频| 欧美日韩aaaaa| 揄拍成人国产精品视频| 国产精品成人在线| 欧美一级大片在线观看| 久久综合伊人77777尤物| 国产精品免费aⅴ片在线观看| 蜜臀av国产精品久久久久| 国产精品一级二级三级| 国产情侣一区| 国产亚洲欧美日韩日本| 国产综合久久久久影院| 欧美成人在线网站| 性伦欧美刺激片在线观看| 在线观看不卡| 欧美日韩p片| 亚洲精品自在在线观看| 国产精品实拍| 国产精品福利网| 免费亚洲网站| 国产精品欧美一区喷水| 国产精品久久久999| 一区在线播放| 伊人夜夜躁av伊人久久| 亚洲大胆美女视频| 中文一区在线| 精品51国产黑色丝袜高跟鞋| 性色av一区二区三区在线观看| 激情自拍一区| 欧美sm视频| 久久久夜精品| 午夜视频在线观看一区| 日韩一级欧洲| 欧美精品在线免费观看| 久久婷婷综合激情| 国产日韩欧美黄色| 国产亚洲成人一区| 久久精品国产一区二区三区免费看| 欧美伊人久久久久久久久影院| 亚洲裸体俱乐部裸体舞表演av| 一区二区三区四区五区精品视频| 欧美日韩国产区一| 日韩视频免费大全中文字幕| 欧美一区二区三区精品电影| 亚洲视频在线一区| 欧美aⅴ99久久黑人专区| 另类尿喷潮videofree| 9久re热视频在线精品| 樱桃成人精品视频在线播放| 久久青草欧美一区二区三区| 国内精品久久久久国产盗摄免费观看完整版| 国产精品久久久一本精品| 久久琪琪电影院| 亚洲男人影院| 欧美一区二区私人影院日本| 极品尤物av久久免费看| 免费精品99久久国产综合精品| 日韩一级精品视频在线观看| 在线日本高清免费不卡| 亚洲全黄一级网站| 在线看无码的免费网站| 亚洲国产成人高清精品| 欧美jizzhd精品欧美巨大免费| 久久精品国产一区二区三区免费看| 伊人男人综合视频网| 国产亚洲欧美另类一区二区三区| 欧美三区在线观看| 欧美wwwwww| 亚洲伊人一本大道中文字幕| 国外精品视频| 免费日韩av片| 亚洲最新在线| 99re6这里只有精品视频在线观看| 亚洲狼人综合| 亚洲国内高清视频| 亚洲欧美日韩一区二区三区在线| 国产日韩欧美中文| 国语精品中文字幕| 一本色道久久综合狠狠躁篇的优点| 午夜精彩国产免费不卡不顿大片| 亚洲欧美日韩在线一区| 欧美性猛交一区二区三区精品| 在线一区二区三区做爰视频网站| 欧美视频在线免费看| 国产午夜久久| 国产精品你懂的| 亚洲欧美中文另类| 欧美日韩国产三区| 久久精品国产一区二区三| 欧美一区二区视频在线观看2020| 亚洲色在线视频| 久久亚洲国产精品日日av夜夜| 欧美精品一区三区在线观看| 伊人伊人伊人久久| 欧美日韩福利视频| 欧美日韩一区高清| 久久精品国产免费看久久精品| 亚洲一区免费在线观看| 欧美韩国在线| 午夜在线一区二区| 国产日韩欧美夫妻视频在线观看| 久久爱91午夜羞羞| 一区二区三区日韩在线观看| 久久99伊人| 国产精品自在欧美一区| 国产精品美女久久福利网站| 国产精品网红福利| 一区二区高清在线| 在线亚洲一区二区| 国产在线乱码一区二区三区| 亚洲三级影片| 韩日欧美一区| 国产精品羞羞答答| 欧美日韩在线精品| 久久久免费精品| 亚洲亚洲精品三区日韩精品在线视频| 一区二区亚洲欧洲国产日韩| 久久久久久久久蜜桃| 久久婷婷国产麻豆91天堂| 国内精品免费午夜毛片| 国产精品午夜久久| 亚洲精品一区二区三区福利| 国产精品久久久久久久久免费桃花| 中文高清一区| 中文精品99久久国产香蕉| 欧美日韩精品在线视频| 99在线精品免费视频九九视| 亚洲精品在线免费| 国产精品久久久91| 欧美精品九九99久久| 久久人人97超碰人人澡爱香蕉| 亚洲黄一区二区| 国产精品成人久久久久| 一区二区三区欧美亚洲| 久久精品卡一| 亚洲国产精品一区二区三区| 国产一区二区三区四区hd| 亚洲国产精品999| 亚洲在线观看| 国产欧美日韩亚洲| 国产精品捆绑调教| 久久婷婷蜜乳一本欲蜜臀| 亚洲精品乱码久久久久久久久| 一区二区三区福利| 欧美特黄a级高清免费大片a级|