亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CoAP協(xié)議的數(shù)據(jù)采集網(wǎng)關(guān)設(shè)計*

        2015-12-08 09:26:10王月明
        電子技術(shù)應(yīng)用 2015年6期
        關(guān)鍵詞:報頭關(guān)節(jié)點線程

        李 琦,張 康,王月明

        (內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,內(nèi)蒙古 包頭014010)

        基于CoAP協(xié)議的數(shù)據(jù)采集網(wǎng)關(guān)設(shè)計*

        李 琦,張 康,王月明

        (內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,內(nèi)蒙古 包頭014010)

        針對呼倫湖流域環(huán)境大數(shù)據(jù)采集的需求,同時為了解決不同廠商協(xié)議標(biāo)準(zhǔn)的不兼容性,設(shè)計了一種基于CoAP協(xié)議的數(shù)據(jù)采集網(wǎng)關(guān)。詳細討論了CoAP協(xié)議的基本原理和實現(xiàn)方法,并在開源系統(tǒng)RT-Thread和微控制器STM32的軟硬件平臺上實現(xiàn)。給出了系統(tǒng)整體設(shè)計以及各部分軟硬件設(shè)計,實驗結(jié)果表明,該設(shè)計方案可行,具有傳輸效率高、兼容性較好的特點。

        數(shù)據(jù)采集;網(wǎng)關(guān);STM32;RT-Thread;CoAP

        0 引言

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

        1 系統(tǒng)概述

        基于RT-Thread的CoAP協(xié)議網(wǎng)關(guān)系統(tǒng)是在傳感器節(jié)點數(shù)據(jù)采集基礎(chǔ)上,對多個傳感器節(jié)點的數(shù)據(jù)進行CoAP數(shù)據(jù)格式轉(zhuǎn)換,并與遠程數(shù)據(jù)庫進行數(shù)據(jù)交互,實現(xiàn)環(huán)境監(jiān)測數(shù)據(jù)網(wǎng)絡(luò)共享的效果[2]。整體設(shè)計框圖如圖1所示。

        圖1 總體設(shè)計框圖

        2 硬件設(shè)計

        硬件設(shè)計框架圖如圖2所示。

        圖2 硬件設(shè)計框架圖

        傳感器節(jié)點選擇ST公司出產(chǎn)的增強型系列微控制器STM32F103RBT6作為主控制器[3],選擇 DALLAS半導(dǎo)體公司出產(chǎn)的1-Wire單總線數(shù)字溫度計作為環(huán)境溫度采集設(shè)備,選擇I2C標(biāo)準(zhǔn)通信接口的16位數(shù)字輸出型環(huán)境光強度模塊BH1750FVI作為光照強度采集設(shè)備。

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

        串口轉(zhuǎn) ZigBee模塊 DRF1605H作為傳感器節(jié)點與CoAP網(wǎng)關(guān)節(jié)點之間數(shù)據(jù)交互的橋梁。該模塊基于CC25-30F256芯片,運行 ZigBee2007/PRO協(xié)議,具有 ZigBee協(xié)議的全部特點以及上電自動組網(wǎng)的特色。在傳感器節(jié)點中,該模塊被設(shè)置成Router節(jié)點使用;在CoAP網(wǎng)關(guān)節(jié)點中,該模塊被設(shè)置成Coordinator節(jié)點使用。

        3 CoAP協(xié)議原理及實現(xiàn)

        CoAP協(xié)議是為物聯(lián)網(wǎng)中資源受限設(shè)備制定的應(yīng)用層協(xié)議[5]。它是一種面向網(wǎng)絡(luò)的協(xié)議,采用了與HTTP類似的特性,核心內(nèi)容為資源抽象、REST式交互及可擴展的頭選型等??蛻舳藨?yīng)用程序通過URI標(biāo)識來獲取服務(wù)器上的資源,對資源可以進行GET、PUT、POST和DELETE操作。CoAP具有報頭壓縮、UDP傳輸、支持資源發(fā)現(xiàn)、支持緩存、異步通信等特點。CoAP協(xié)議的數(shù)據(jù)報格式如圖3所示。

        圖3 CoAP信息格式

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

        CoAP協(xié)議的傳輸層默認使用UDP協(xié)議,為了解決UDP傳輸?shù)牟豢煽啃?,CoAP協(xié)議采用了雙層結(jié)構(gòu),定義了帶有重傳的事務(wù)處理機制,并采用盡可能小的載荷,限制了分片。CoAP協(xié)議棧視圖如圖4所示。

        圖4 CoAP協(xié)議棧

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

        CoAP官方推出了一定量的庫文件,方便用戶在自己的設(shè)備移植使用 CoAP。本設(shè)計是在 RT-Thread操作系統(tǒng)環(huán)境下進行的,其LWIP協(xié)議棧組件能夠提供CoAP所需的 UDP協(xié)議[4],通過編程實現(xiàn) CoAP標(biāo)準(zhǔn)格式數(shù)據(jù)報就可實現(xiàn)CoAP網(wǎng)關(guān)與遠程數(shù)據(jù)庫之間的CoAP數(shù)據(jù)上傳。自定義的CoAP數(shù)據(jù)結(jié)構(gòu)圖如圖5所示。

        圖5 自定義CoAP數(shù)據(jù)結(jié)構(gòu)圖

        在實現(xiàn)CoAP數(shù)據(jù)結(jié)構(gòu)的過程中使用到了幾個接口函數(shù):coap_pdu_init函數(shù),用來完成CoAP數(shù)據(jù)報報頭初始化;coap_add_token函數(shù),用來完成添加Token選項;coap_ add_option函數(shù),用來添加Option選項;coap_add_data函數(shù),用來添加有效負載選型。在實現(xiàn)的過程中,每一個函數(shù)都會改變CoAP數(shù)據(jù)報結(jié)構(gòu),必須按照上述順序調(diào)用。

        使用維基百科收錄的 Microcoap-master庫來檢測上述CoAP實現(xiàn)方法的可靠性。Microcoap-master是一個小型服務(wù)器端程序包,支持客戶端對“l(fā)ight”資源的 GET、PUT、POST操作。在LINUX環(huán)境下執(zhí)行make./coap運行Microcoap-master,CoAP網(wǎng)關(guān)發(fā)送對“l(fā)ight”資源的PUT操作請求,同時使用 wireshake抓包軟件進行網(wǎng)絡(luò)數(shù)據(jù)抓包,截取的網(wǎng)絡(luò)數(shù)據(jù)包如圖6所示。

        圖6中(a)圖抓取的是CoAP網(wǎng)關(guān)向 Microcoap-mster服務(wù)器發(fā)送對“l(fā)ight”資源CON類型PUT請求的數(shù)據(jù)報,其中標(biāo)識的部分41 03 12 34表示包頭Header,49表示選型Token,b5 6c 69 67 68 74表示選型Option,31表示

        負載 Payload;(b)圖抓取的的是 Microcoap-master服務(wù)器對于該CON類型報文做出的ACK類型響應(yīng),其中61 44 12 34表示包頭 Header,00表示 Token,31表示負載Payload,并沒有搭載Option部分。實驗結(jié)果表明,以上所述的CoAP協(xié)議實現(xiàn)方法可行。

        圖6 wireshake抓包圖

        4 軟件設(shè)計

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

        基于RT-Thread操作系統(tǒng),對于傳感器節(jié)點和CoAP網(wǎng)關(guān)節(jié)點進行線程化管理。傳感器節(jié)點根據(jù)任務(wù)要求設(shè)計了兩個線程:rt_sensor_entry負責(zé)讀取相關(guān)傳感器數(shù)據(jù);rt_dataex_entry線程負責(zé)接收解析 CoAP網(wǎng)關(guān)節(jié)點指令,并向其發(fā)送傳感器自定義數(shù)據(jù)包。

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

        圖7 自定義數(shù)據(jù)包格式

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

        CoAP網(wǎng)關(guān)節(jié)點以RT-Thread內(nèi)核以及LWIP外圍組件作為軟件平臺[7],結(jié)構(gòu)示意圖如圖8所示。

        圖8 CoAP網(wǎng)關(guān)節(jié)點軟件結(jié)構(gòu)

        根據(jù)CoAP網(wǎng)關(guān)節(jié)點任務(wù)的劃分,設(shè)計了多個線程:rt_dataex_entry線程負責(zé)與傳感器節(jié)點數(shù)據(jù)交互,并解析傳感器節(jié)點數(shù)據(jù)包;rt_coap_entry線程負責(zé)將傳感器原始數(shù)據(jù)CoAP格式化;rt_ethsend_entry線程負責(zé)定時向遠程服務(wù)器發(fā)送CoAP報文。線程的順序視圖如圖9所示。

        圖9 線程順序視圖

        5 結(jié)束語

        本文介紹了基于CoAP協(xié)議的數(shù)據(jù)采集網(wǎng)關(guān)設(shè)計,通過對相關(guān)軟硬件實現(xiàn)方法加以分析以及實驗測試,證實本設(shè)計能夠達到預(yù)期的效果。本文設(shè)計的CoAP協(xié)議網(wǎng)關(guān)不僅僅適用于呼倫湖流域環(huán)境數(shù)據(jù)采集,根據(jù)不同的應(yīng)用場合,只要對硬件和軟件稍作修改即可完成不同的監(jiān)測任務(wù)。本設(shè)計在數(shù)據(jù)采集系統(tǒng)領(lǐng)域具有一定的借鑒價值。

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

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

        [3]李寧.基于 MDK的 STM32處理器開發(fā)應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2008.

        [4]曾浩,張祺,鄭斯凱.基于 STM32F407的圖像遠程采集終端[J].工業(yè)控制計算機,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實時操作系統(tǒng)編程指南[DB/OL].(2010)[2015].上海:中國電子開發(fā)網(wǎng).

        [7]蘇憲利,鄭一麟.基于RT-thread的機床物聯(lián)網(wǎng)系統(tǒng)設(shè)計與實現(xiàn)[J].組合機床與自動化加工技術(shù),2014(6):69-72.

        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)

        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.

        data acquisition;gateway;STM32;RT-Thread;CoAP

        TP39

        A

        0258-7998(2015)06-0154-03

        10.16157/j.issn.0258-7998.2015.06.042

        2015-04-03)

        李琦(1973-),男,碩士,副教授,主要研究方向:嵌入式系統(tǒng)、無線通信、智能傳感器。

        包頭市科技發(fā)展項目(2014N1010-2)

        張康(1990-),通信作者,男,碩士,主要研究方向:嵌入式系統(tǒng)、智能控制,E-mail:1159341645@qq.com。

        猜你喜歡
        報頭關(guān)節(jié)點線程
        基于深度學(xué)習(xí)和視覺檢測的地鐵違規(guī)行為預(yù)警系統(tǒng)研究與應(yīng)用
        關(guān)節(jié)點連接歷史圖與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的雙人交互動作識別
        城市黨報報頭:政治與藝術(shù)的平衡
        搞好新形勢下軍營美術(shù)活動需把握的關(guān)節(jié)點
        淺談linux多線程協(xié)作
        淡妝濃抹總相宜
        ——對中國晚報報頭變化的研究與欣賞
        大眾文藝(2015年12期)2015-07-13 07:31:22
        IP語音報頭壓縮設(shè)計與實現(xiàn)
        無線電工程(2014年1期)2014-06-14 01:37:28
        Linux線程實現(xiàn)技術(shù)研究
        么移動中間件線程池并發(fā)機制優(yōu)化改進
        簡論報紙的報頭設(shè)計
        毛片大全真人在线| 成人免费av色资源日日| 成人免费播放视频777777| 久激情内射婷内射蜜桃| 在线播放人成午夜免费视频| 欧美成人网视频| 亚洲精品一区二区成人精品网站| 色综合久久无码五十路人妻| 成人精品综合免费视频| 亚洲色欲色欲大片www无码| 欧美日本日韩aⅴ在线视频| 亚洲AV无码成人精品区H| 青青草手机免费播放视频| 午夜免费啪视频| 欧美真人性做爰一二区| 亚洲中文字幕无码不卡电影| 中文字幕人妻久久久中出| 国产伦人人人人人人性| 久青草久青草视频在线观看| 精品一精品国产一级毛片| 国产成人高清亚洲一区二区| 97丨九色丨国产人妻熟女| aaa级久久久精品无码片| 亚洲男人天堂av在线| 中文字幕乱码人妻在线| 日日摸天天碰中文字幕你懂的| 人妻熟妇乱又伦精品视频app| 亚洲中文字幕无码不卡电影| 熟妇人妻精品一区二区视频免费的| 国产午夜伦鲁鲁| 91视频免费国产成人| 亚洲成av人片在久久性色av| 综合亚洲伊人午夜网| 波多野结衣中文字幕久久| 国产精品无码mv在线观看 | 日本一区二区三区亚洲| 风韵多水的老熟妇| 亚洲国产精品国语在线| 偷拍视频这里只有精品| 天天躁夜夜躁狠狠躁2021a2| 国产男女猛烈无遮挡免费视频|