999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

野外WSN監(jiān)測系統(tǒng)數(shù)據(jù)透明傳輸?shù)膶?shí)現(xiàn)

2015-03-31 18:46:39劉向誠雷斌
現(xiàn)代電子技術(shù) 2015年5期

劉向誠 雷斌

摘 要: 針對在野外環(huán)境監(jiān)測中點(diǎn)多面廣、環(huán)境惡劣等問題,研究ZigBee技術(shù)能夠?qū)崿F(xiàn)野外環(huán)境數(shù)據(jù)的無線傳輸。而以前的傳感器網(wǎng)絡(luò)不滿足ZigBee協(xié)議的要求,不能通過ZigBee網(wǎng)絡(luò)進(jìn)行傳輸,這里介紹一種基于Z?Stack協(xié)議棧,在ZigBee網(wǎng)絡(luò)中實(shí)現(xiàn)以CC2530終端數(shù)據(jù)低功耗串口透明傳輸?shù)南到y(tǒng),該系統(tǒng)能夠通過終端節(jié)點(diǎn)將采集到的數(shù)據(jù)無線透明傳輸?shù)絽f(xié)調(diào)器節(jié)點(diǎn)上,從而實(shí)現(xiàn)數(shù)據(jù)的無線傳輸,并且該設(shè)計功耗低,適合野外長期使用。

關(guān)鍵詞: Z?Stack協(xié)議棧; ZigBee網(wǎng)絡(luò); 透明傳輸; 低功耗

中圖分類號: TN919?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)05?0019?04

Realization of data transparent transmission for WSN monitoring system

LIU Xiang?cheng, LEI Bin

(Institute of Electronic and Information Engineering, Xian Technological University, Xian 710021, China)

Abstract: ZigBee technology research is benefit for overcoming multiple point, broad area, harsh environment and other issues in the field environmental monitoring , as well as realizing wireless transmission of environmental data in field. The previous sensor network could not meet the requirements of zigbee agreement, and could not transmit data through ZigBee network. A low power serial data transparent transmission system through CC2530 terminal in ZigBee network is introduced in this paper, which is based on Z?Stack protocol stack. The system can transmit the data collected through terminal nodes to the coordinator nodes in wireless transparently transmission mode. The system has the advantage of low power consumption, and is suitable for long?term use in the field.

Keywords: Z?Stack protocol stack; ZigBee network; transparent transmission; low power consumption

0 引 言

伴隨社會發(fā)展對各種信息的無限需求,野外環(huán)境監(jiān)測越來越受到有關(guān)部門的重視,隨之而來的問題也就越來越多。在很多監(jiān)測場,因為探頭布設(shè)比較分散、數(shù)采儀需求量較大,在當(dāng)前科研經(jīng)費(fèi)有限的情況下無法全部實(shí)現(xiàn)自動化采集,仍然需要組織人員定期到現(xiàn)場觀測。基于以上需求,給出一種基于ZigBee技術(shù)的WSN分布式測控系統(tǒng),WSN(Wireless Sensor Network,無線傳感器網(wǎng)絡(luò))是一種新型的數(shù)字化探測技術(shù),融合了傳感技術(shù)、信息處理技術(shù)和網(wǎng)絡(luò)通信技術(shù)。在德州儀器(TI)公司提供的半開源ZigBee協(xié)議棧Z?Stack程序基礎(chǔ)上實(shí)現(xiàn)CC2530終端低功耗數(shù)據(jù)的串口透傳,通過傳感器采集到的數(shù)據(jù)與終端節(jié)點(diǎn)相連,終端節(jié)點(diǎn)與協(xié)調(diào)器進(jìn)行數(shù)據(jù)的透明傳輸,協(xié)調(diào)器再通過串口將數(shù)據(jù)上報給PC機(jī)。

1 系統(tǒng)的整體設(shè)計

整個系統(tǒng)由PC機(jī),數(shù)采儀,協(xié)調(diào)器以及終端節(jié)點(diǎn)構(gòu)成。整個網(wǎng)絡(luò)中的協(xié)調(diào)器只能有一個,而與數(shù)采儀相連的終端節(jié)點(diǎn)可有多個。系統(tǒng)的總體設(shè)計圖如圖1所示。

數(shù)采儀將現(xiàn)場采集到的數(shù)據(jù)通過轉(zhuǎn)換接口發(fā)送到終端節(jié)點(diǎn)上,終端節(jié)點(diǎn)在獲取串口數(shù)據(jù)以后,對所獲得的數(shù)據(jù)進(jìn)行封裝,然后通過基于IEEE 802.15.4的ZigBee無線通信協(xié)議將數(shù)據(jù)傳遞給協(xié)調(diào)器,協(xié)調(diào)器把所獲取的數(shù)據(jù)進(jìn)行解析,應(yīng)用層獲得數(shù)據(jù)以后再通過串口上傳到PC機(jī),PC機(jī)可以在串口調(diào)試器上讀取采集到的數(shù)據(jù),從而實(shí)現(xiàn)數(shù)據(jù)的采集,透明傳輸以及數(shù)據(jù)的上報整個過程。

2 低功耗管理及定時喚醒功能

整個軟件的開發(fā)均以實(shí)現(xiàn)終端的低功耗為核心,因此低功耗是終端的最大特點(diǎn);又因為終端還擔(dān)任數(shù)據(jù)傳輸任務(wù),所以終端的另外一個功能是能夠?qū)崿F(xiàn)兩個模塊間數(shù)據(jù)的透明傳輸。但具體實(shí)現(xiàn)低功耗的情況需要根據(jù)在野外可能遇到的問題而設(shè)置進(jìn)入低功耗的條件。

本設(shè)計是采用休眠與喚醒方式來實(shí)現(xiàn)低功耗設(shè)計的,終端節(jié)點(diǎn)在每次喚醒后,根據(jù)查詢協(xié)調(diào)器是否有任務(wù)或者通過判斷是否有網(wǎng)絡(luò)存在來決定是否進(jìn)入休眠狀態(tài)。

以本設(shè)計所選用的終端節(jié)點(diǎn)芯片CC2530為例,通過閱讀其數(shù)據(jù)手冊,得知其具有3種不同休眠運(yùn)行模式,使得它尤其適應(yīng)超低功耗要求的系統(tǒng)。在工作模式下,由于ZigBee技術(shù)的傳輸速率低,傳輸數(shù)據(jù)量小,因此信號收發(fā)時間短;在非工作模式下,ZigBee節(jié)點(diǎn)處于休眠狀態(tài)。

CC2530有3種供電模式,分別是PM1,PM2,PM3,根據(jù)分析得知PM1模式功耗比較大;PM2模式比較省功耗而且可以被定時器喚醒;PM3模式最省電但只能被外部中斷喚醒,有一定局限性。綜合考慮選擇PM2模式,PM2模式通過睡眠定時器,實(shí)現(xiàn)終端節(jié)點(diǎn)的休眠、喚醒,使其低功耗運(yùn)行,減少節(jié)點(diǎn)能耗。

終端低功耗功能流程圖如圖2所示。

每隔8 s終端會自動喚醒,喚醒后自動檢測是否存在網(wǎng)絡(luò),如果存在網(wǎng)絡(luò),則啟動入網(wǎng)流程,如果沒有網(wǎng)絡(luò),則繼續(xù)休眠。終端醒來后會處于準(zhǔn)備狀態(tài),準(zhǔn)備接收協(xié)調(diào)器的命令,待終端完成采集工作后,由協(xié)調(diào)器廣播休眠命令,終端收到休眠命令后,會自動進(jìn)入休眠狀態(tài),考慮到惡劣情況,即網(wǎng)絡(luò)不穩(wěn)定,網(wǎng)絡(luò)連接又?jǐn)嚅_后,終端也會進(jìn)入休眠,這樣就實(shí)現(xiàn)了終端的低功耗問題。終端成功入網(wǎng)后的流程圖如圖3所示。

3 數(shù)據(jù)的透明傳輸

在無線透明傳輸應(yīng)用中,發(fā)射模塊(也可作為接收模塊)與接收模塊(也可作為發(fā)射模塊)進(jìn)行信息交換的數(shù)據(jù)格式,沒有像指令字頭、結(jié)束符等數(shù)據(jù)包信息,只要發(fā)射模塊串口有數(shù)據(jù)輸出,模塊就把串口的數(shù)據(jù)以無線方式編碼發(fā)送。當(dāng)接收模塊接收到發(fā)射模塊發(fā)送的無線數(shù)據(jù)信號后進(jìn)行解碼,把解碼后的數(shù)據(jù)按發(fā)射模塊的格式從串口輸出,所發(fā)即所得,即對模塊使用者來說是透明的。其流程示意圖如圖4所示。

這里的發(fā)送方主要是指終端節(jié)點(diǎn),而接收方主要指協(xié)調(diào)器,協(xié)調(diào)器將終端節(jié)點(diǎn)發(fā)來的數(shù)據(jù)經(jīng)過解析后,通過串口上傳到PC機(jī)去讀取數(shù)據(jù),整個數(shù)據(jù)的傳輸過程對于發(fā)送方和接收方都是透明的,PC機(jī)如果想獲得某個終端節(jié)點(diǎn)采集的數(shù)據(jù),可以通過串口向協(xié)調(diào)器發(fā)送命令,根據(jù)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)找到相應(yīng)節(jié)點(diǎn)的網(wǎng)絡(luò)地址,從而完成采集命令的發(fā)送。

整個網(wǎng)絡(luò)系統(tǒng)中主要涉及到基于IEEE 802.15.4的ZigBee網(wǎng)絡(luò)通信協(xié)議,主要是發(fā)送方的射頻模塊通過ZigBee通信協(xié)議將封裝好的數(shù)據(jù)傳遞到接收方的射頻模塊,這一方面對于用戶來講是透明的。

3.1 串口透傳的主要程序

本系統(tǒng)協(xié)調(diào)器和終端節(jié)點(diǎn)程序主要是基于Z?Stack協(xié)議棧進(jìn)行編寫的,其中串口透傳相關(guān)函數(shù)如下,使用C語言編程:

(1) 首先在SampleApp.c中添加函數(shù)

SampleApp_ProcessMTMessage(afIncomingMSGPacket_t *msg),函數(shù)主體如下:

void SampleApp_ProcessMTMessage(afIncomingMSGPacket_t *msg)

{

//const char *msgPtr = ((const char *)msg+2);

uint8 *pBuf; //定義數(shù)據(jù)存儲指針

uint8 len; //定義數(shù)據(jù)長度

//flag這個參數(shù)不能放在該函數(shù)中,必須定義為全局變量,

否則后面的if無法進(jìn)入

// deviceaddr = msg->srcAddr.addr.shortAddr;

if(flag==1)

//這里不能用while代替if,否則無法進(jìn)入該函數(shù)

{

len=msg->hdr.status; //獲取串口數(shù)據(jù)長度

pBuf=(uint8 *)msg+2; //(uint8 *)((osal_event_hdr_t*)msg+1); //獲取串口數(shù)據(jù)

HalUARTWrite(HAL_UART_PORT_0,pBuf,len);

//將串口數(shù)據(jù)寫到PC(再寫回去)

HalUARTWrite(0, "\n", 1);

//以上兩句是用來作測試用的

if (AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc,

SAMPLEAPP_LEDCTL_CLUSTERID,

len+2,

(uint8*)msg,

&SampleApp_TransID,

AF_DISCV_ROUTE,

AF_DEFAULT_RADIUS)==afStatus_SUCCESS)

//發(fā)送獲取的串口數(shù)據(jù)

}

}

(2) 然后再在SampleApp.c 的函數(shù)SampleApp_ProcessEvent(uint8 task_id, uint16 events)中添加串口事件,其代碼如下:

case SPI_INCOMING_ZAPP_DATA:

//串口接收數(shù)據(jù)觸發(fā)事件

SampleApp_ProcessMTMessage(MSGpkt); //調(diào)用串口函數(shù)

MT_UartAppFlowControl (MT_UART_ZAPP_RX_READY);

//調(diào)用串口流控制函數(shù)

break;

(3) 最后在SampleApp.c的函數(shù)SampleApp_MessageMSGCB(afIncomingMSGPacket_t *pkt)中添加如下代碼:

case SAMPLEAPP_LEDCTL_CLUSTERID:

cmd_counter=0;

cmd_to_close=0;

len=pkt->cmd.Data[1];

//這里很重要,原來是len=pkt->cmd.Data[0]時有誤; 長

度在數(shù)據(jù)中的位置,要查看MT_UartProcessZAppData

的說明,如果長度不對,會多出很多亂碼

for(i=0;i

//這里不能加“=”號,否則數(shù)據(jù)一長,數(shù)據(jù)會多出一位!

HalUARTWrite(0,&pkt->cmd.Data[i+2],1);

//這里也很重要,之前是pkt->cmd.Data[i+1],數(shù)據(jù)的起始

位!!!

HalUARTWrite(0, "\n", 1);

if((pkt->cmd.Data[2]==′o′)&&(pkt->cmd.Data[3]==′n′)&&(pkt->cmd.Data[4]==′0′)) //建立單播命令

{flag=1;}

else if((pkt->cmd.Data[2]==′o′)&&(pkt->cmd.Data[3]==

′f′)&&(pkt->cmd.Data[4]==′f′)

&& (pkt->cmd.Data[5]==′0′)) //拆除單播命令

{flag=0;}

else if((pkt->cmd.Data[2]==′s′)&&(pkt->cmd.Data[3]==′l′)&&(pkt->cmd.Data[4]==′p′))

//休眠命令

{

osal_start_timerEx(SampleApp_TaskID, SAMPLEAPP_SEND_PERIODIC_MSG_EVT,SAMPLEAPP_SEND_PERIODIC_MSG_TIMEOUT); //注冊下次喚醒事件

NLME_SetPollRate(0); //輪詢清零

sleep_cmd=1; //休眠標(biāo)志位置1

}

break;

至此整個和串口透傳相關(guān)的函數(shù)均已添加完畢。

3.2 串口透傳實(shí)驗

透傳實(shí)驗的原理圖如圖5所示。

將協(xié)調(diào)器通過串口與PC機(jī)相連,打開SSCOM串口助手,將串口助手設(shè)置為波特率為115 200 b/s、8位、無奇偶校驗、無硬件流模式;再將終端按照同樣的方法和設(shè)置與PC機(jī)相連,上電后終端LED長亮表示入網(wǎng)成功,此時協(xié)調(diào)器發(fā)送“on0”作為啟動命令,終端再發(fā)送10個a到10個h作為80個字節(jié),看協(xié)調(diào)器的接收情況。

串口測試結(jié)果如圖6所示。圖6左側(cè)是協(xié)調(diào)器串口圖,右側(cè)是終端串口圖。

測試結(jié)果:根據(jù)ZigBee協(xié)議棧官方資料的查閱,通過多次對發(fā)送數(shù)據(jù)包字節(jié)個數(shù)的調(diào)整,以及對SSCOM串口助手定時發(fā)送時間的更改,得出串口透傳一個數(shù)據(jù)包最大為83 B,每個數(shù)據(jù)包之間的時間間隔不能少于33 ms才不會產(chǎn)生丟包現(xiàn)象。因此,建議一個數(shù)據(jù)包為80 B,一秒內(nèi)傳輸?shù)臄?shù)據(jù)包個數(shù)不要超過30個。

4 結(jié) 語

本設(shè)計主要是在德州儀器(TI)公司提供的半開源ZigBee協(xié)議棧Z?Stack程序基礎(chǔ)上,通過CC2530開發(fā)板實(shí)現(xiàn)終端低功耗串口透明傳輸以及數(shù)據(jù)的采集。因為ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無線通信技術(shù)。主要用于距離短、功耗低且傳輸速率不高的各種電子設(shè)備之間進(jìn)行數(shù)據(jù)傳輸以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反應(yīng)時間數(shù)據(jù)傳輸?shù)膽?yīng)用。所以本設(shè)計避免了復(fù)雜的通信協(xié)議,網(wǎng)絡(luò)組建方便、快速,采用無線傳輸方式,受地理環(huán)境約束小,低功耗,適合長期野外使用。

參考文獻(xiàn)

[1] 劉彥飛,王成,余成波,等.基于ZigBee的數(shù)據(jù)透明傳輸系統(tǒng)的設(shè)計[J].計算機(jī)科學(xué),2009,26(4A):76?78.

[2] 王小強(qiáng),歐陽駿,黃寧淋.ZigBee無線傳感器網(wǎng)絡(luò)設(shè)計與實(shí)現(xiàn)[M].北京:化學(xué)工業(yè)出版社,2012.

[3] 歐杰峰.基于IEEE 802.15.4的無線傳感器網(wǎng)絡(luò)組網(wǎng)研究[D].杭州:浙江大學(xué),2006.

[4] 任志健,王鳳,邱澤敏,等.基于物聯(lián)網(wǎng)的透明傳輸移動環(huán)境勘探節(jié)點(diǎn)設(shè)計[J].實(shí)驗室研究與探索,2013(6):103?108.

[5] 唐思超.嵌入式系統(tǒng)軟件設(shè)計實(shí)戰(zhàn):基于IAR Embedded Workbench [M].北京:北京航空航天大學(xué)出版社,2010.

[6] 張少軍.無線傳感器網(wǎng)絡(luò)技術(shù)及應(yīng)用[M].北京:中國電力出版社,2010.

[7] 賢武.傳感器原理與應(yīng)用[M].成都:電子科技大學(xué)出版社,1999.

[8] 姚仲歡.無線傳感器網(wǎng)絡(luò)中基于網(wǎng)絡(luò)拓?fù)渑c路由的節(jié)能技術(shù)研究[D].南寧:廣西大學(xué),2008.

[9] 任秀麗,于海斌.ZigBee無線通信協(xié)議實(shí)現(xiàn)技術(shù)的研究[J].計算機(jī)工程與應(yīng)用,2007(6):143?145.

[10] 孫戈.短距離無線通信及組網(wǎng)技術(shù)[M].西安:西安電子科技大學(xué)出版社,2006.

主站蜘蛛池模板: 欧美日韩中文字幕在线| 精品国产免费观看一区| 亚洲AⅤ永久无码精品毛片| 热99精品视频| 精品第一国产综合精品Aⅴ| 中国国产A一级毛片| 一级毛片免费的| 精品无码国产一区二区三区AV| 日韩精品专区免费无码aⅴ| 亚洲色成人www在线观看| 一本大道视频精品人妻 | 亚洲国产亚综合在线区| 亚洲IV视频免费在线光看| www.亚洲天堂| 国产亚洲精品91| 久久频这里精品99香蕉久网址| 国产91透明丝袜美腿在线| 极品国产一区二区三区| 国产网站一区二区三区| 福利视频一区| 国产特一级毛片| 91久久性奴调教国产免费| 日韩在线网址| 香蕉久人久人青草青草| 亚洲日韩精品欧美中文字幕| 精品伊人久久久久7777人| AⅤ色综合久久天堂AV色综合 | 亚洲全网成人资源在线观看| 91人人妻人人做人人爽男同| 亚洲精品在线91| 欧美三級片黃色三級片黃色1| 老司国产精品视频91| 国产成人综合亚洲网址| 亚洲天堂首页| 精品国产免费人成在线观看| 久久婷婷人人澡人人爱91| 国产成人综合在线观看| 亚洲欧美一区二区三区麻豆| 国模粉嫩小泬视频在线观看| 欧美精品aⅴ在线视频| 国产精品无码久久久久AV| 国产精品黑色丝袜的老师| 成人av手机在线观看| 欧美国产菊爆免费观看 | 亚洲成a人片| AV片亚洲国产男人的天堂| 久久男人视频| 丰满人妻久久中文字幕| 亚洲中字无码AV电影在线观看| 成人第一页| 国产成人精品一区二区不卡| 伊人久久婷婷五月综合97色| 久久免费看片| 亚洲床戏一区| 久久久久免费精品国产| 亚洲人成网站在线观看播放不卡| 国产成人高精品免费视频| 亚洲V日韩V无码一区二区| 国产理论最新国产精品视频| 国产在线观看成人91| 青青青视频91在线 | 97精品国产高清久久久久蜜芽| 亚洲精品第一页不卡| 欧美天堂久久| 中文字幕亚洲综久久2021| 色婷婷天天综合在线| 特级做a爰片毛片免费69| 国产在线啪| 免费又黄又爽又猛大片午夜| 国产成人三级在线观看视频| 久久亚洲美女精品国产精品| 波多野吉衣一区二区三区av| 亚洲人成高清| 国产真实乱人视频| 欧美日韩亚洲国产主播第一区| 免费在线成人网| 国产95在线 | 亚洲成在线观看| 久久人妻xunleige无码| 72种姿势欧美久久久大黄蕉| 黄色网在线免费观看| 国产区人妖精品人妖精品视频|