《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于北斗和ZigBee的農(nóng)田數(shù)據(jù)采集與傳輸
基于北斗和ZigBee的農(nóng)田數(shù)據(jù)采集與傳輸
2015年電子技術(shù)應(yīng)用第6期
盧興森,,陳蘇婷,,施佳馳
南京信息工程大學(xué) 電子與信息工程學(xué)院,,江蘇 南京210044
摘要: 以ZigBee無(wú)線網(wǎng)為采集子系統(tǒng),,以北斗短報(bào)文通信為遠(yuǎn)程數(shù)據(jù)傳輸子系統(tǒng)設(shè)計(jì)了一個(gè)基于ZigBee和北斗衛(wèi)星的實(shí)時(shí)農(nóng)田采集與傳輸系統(tǒng),。系統(tǒng)遠(yuǎn)程傳輸數(shù)據(jù)時(shí)使用Burrows-Wheeler Transform(BWT)算法進(jìn)行轉(zhuǎn)換,改進(jìn)型Run-Length Encoding(RLE)算法和靜態(tài)huffman編碼進(jìn)行數(shù)據(jù)壓縮,,提高通信效率。系統(tǒng)上位機(jī)顯示采用嵌入式Linux界面,,簡(jiǎn)潔便攜,。
中圖分類(lèi)號(hào): TN927
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)06-0035-03
中文引用格式:盧興森,陳蘇婷,施佳馳.基于北斗和ZigBee的農(nóng)田數(shù)據(jù)采集與傳輸[J].電子技術(shù)應(yīng)用,2015,41(06):35-37+41.
The data of farmland acquisition and transmission based on Beidou satellite and ZigBee wireless
Lu Xingsen,Chen Suting,,Shi Jiachi
School of Electronic and Information Engineering,,Nanjing University of Information Science and Technology,Nanjing 210044,,China
Abstract: Taking ZigBee wireless network as acquisition subsystem and Beidou short message communication as remote data transmission subsystem,,a real-time data acquisition and transmission system of farmland is designed based on ZigBee and Beidou satellite. The Burrows-Wheeler Transform(BWT) algorithm,improved compression data type Run-Length Encoding(RLE) algorithm and the static Huffman code are used to improve the efficiency of communication. The system adopts the embedded Linux host computer display interface,,which is simple and portable.
Key words : ZigBee wireless network,;Beidou satellite;data acquisition of farmland

   

0 引言

    2010年底,,我國(guó)人均耕地面積已不足0.1公頃[1],,農(nóng)田又由于各種原因不便于人員進(jìn)行直接管理。而北斗和無(wú)線傳感網(wǎng)是轉(zhuǎn)變農(nóng)業(yè)生產(chǎn)方式的重要載體[2],。從2003年開(kāi)始, 中國(guó)已經(jīng)開(kāi)始研發(fā)基于北斗衛(wèi)星的綜合信息服務(wù)平臺(tái)[3],,用現(xiàn)代化理念引領(lǐng)農(nóng)業(yè)系統(tǒng)[4]。目前北斗已具備定位,、授時(shí),、報(bào)文等功能[5]。因此,,在基于北斗導(dǎo)航系統(tǒng)短報(bào)文通信和ZigBee網(wǎng)絡(luò)的基礎(chǔ)上設(shè)計(jì)的北斗實(shí)時(shí)農(nóng)田采集與傳輸系統(tǒng)可以很好地解決以上問(wèn)題,,節(jié)約人力資源的同時(shí),又提高了農(nóng)田生產(chǎn)效率,。另外由于北斗單次通信量為78.5 B,,本系統(tǒng)采用多種壓縮算法融合實(shí)現(xiàn)數(shù)據(jù)高效無(wú)損傳輸。

1 系統(tǒng)總體構(gòu)架設(shè)計(jì)

    基于北斗和ZigBee的農(nóng)田數(shù)據(jù)采集與傳輸系統(tǒng)由ZigBee傳感終端節(jié)點(diǎn),、ZigBee協(xié)調(diào)模塊,、北斗模塊、嵌入式Linux顯示上位機(jī)四部分組成,。ZigBee傳感終端節(jié)點(diǎn)采集來(lái)自傳感器的數(shù)據(jù),,并將數(shù)據(jù)通過(guò)ZigBee星型網(wǎng)絡(luò)傳至ZigBee協(xié)調(diào)模塊,ZigBee協(xié)調(diào)模塊對(duì)數(shù)據(jù)進(jìn)行壓縮打包添加北斗頭協(xié)議后通過(guò)北斗模塊將數(shù)據(jù)傳至上位機(jī)實(shí)時(shí)顯示,。圖1是基于北斗和ZigBee的農(nóng)田數(shù)據(jù)采集與傳輸系統(tǒng)的總體架構(gòu),。

qrs7-t1.gif

    其中北斗模塊包含北斗指揮機(jī)和北斗用戶(hù)機(jī),,北斗指揮機(jī)與上位機(jī)相連,接收來(lái)自下屬用戶(hù)機(jī)傳來(lái)的數(shù)據(jù),;用戶(hù)機(jī)與ZigBee協(xié)調(diào)模塊相連,,接收來(lái)自ZigBee協(xié)調(diào)模塊傳來(lái)的數(shù)據(jù)。用戶(hù)機(jī)可有多個(gè),,分布在跨度較大的農(nóng)田區(qū)塊,,方便實(shí)現(xiàn)一臺(tái)上位機(jī)實(shí)時(shí)采集顯示多塊農(nóng)田數(shù)據(jù),以追星者CDT-442型用戶(hù)機(jī)為例,,一臺(tái)指揮機(jī)最多可控制下屬99臺(tái)用戶(hù)機(jī),。

2 系統(tǒng)硬件設(shè)計(jì)

2.1 ZigBee傳感終端節(jié)點(diǎn)的硬件設(shè)計(jì)

    ZigBee終端節(jié)點(diǎn)擔(dān)負(fù)著與傳感器設(shè)備連接、接收傳感器的模擬信號(hào)并把其轉(zhuǎn)換為數(shù)字信號(hào)和發(fā)射數(shù)據(jù)信號(hào)至ZigBee協(xié)調(diào)節(jié)點(diǎn)的任務(wù),。為了完成數(shù)模轉(zhuǎn)換的任務(wù)(部分傳感器輸出數(shù)字信號(hào),,可直接接入I/O口或UART口),使用了AD7810芯片,,為該芯片接的電壓與CC2530同為3.3 V,,VREF也接上3.3 V電壓,則其最大轉(zhuǎn)換電壓也為3.3 V,,DOUT腳為完成模數(shù)轉(zhuǎn)換后的串行數(shù)據(jù)輸出口,,SCLK腳為輸入時(shí)鐘腳,VIN+和VIN-為傳感器接線口,,本系統(tǒng)所用傳感器輸出電流一般為4~25 mA,,所以傳感器接入時(shí)需接上一個(gè)150 ?贅左右的電阻。由于一個(gè)節(jié)點(diǎn)需接多個(gè)傳感器(該節(jié)點(diǎn)只需3個(gè)),,為了工程易于擴(kuò)展,,預(yù)留接口,所以使用了一個(gè)74LS151芯片來(lái)進(jìn)行選擇性定時(shí),,每15 s輪轉(zhuǎn)選擇一個(gè)采集數(shù)據(jù)來(lái)源選通,。由于本電路只需要3選1,所以接口C拉低,,默認(rèn)高4位輸入不接通,若工程有監(jiān)測(cè)種類(lèi)擴(kuò)展需要,,可作適時(shí)更改。需要注意的是AD7810的腳CONVERT為轉(zhuǎn)換啟動(dòng)輸入信號(hào),,配合74LS151的輪轉(zhuǎn)選通功能,,可啟動(dòng)自動(dòng)低功耗模式開(kāi)啟間斷休眠來(lái)實(shí)現(xiàn)節(jié)能。另外CC2530使用16 MHz和32 MHz晶振模式,,其中16 MHz晶振除自身使用外還可供給AD7810輸入時(shí)鐘使用,,32 MHz在自身向協(xié)調(diào)器發(fā)射RF信號(hào)時(shí)使用。圖2為ZigBee傳感終端節(jié)點(diǎn)的硬件設(shè)計(jì)圖,。

qrs7-t2.gif

2.2 ZigBee協(xié)調(diào)模塊的硬件設(shè)計(jì)

    ZigBee協(xié)調(diào)模塊是ZigBee中的協(xié)調(diào)節(jié)點(diǎn),,除了擔(dān)負(fù)著組建網(wǎng)絡(luò),、允許其他節(jié)點(diǎn)加入與退出、分配ID等基本任務(wù)外,,還要將接收到的數(shù)據(jù)進(jìn)行預(yù)處理后打包壓縮,,添加北斗頭協(xié)議后發(fā)送到北斗模塊。由于北斗通信的最小通信間隔為1 min,,單次發(fā)送數(shù)據(jù)量相對(duì)也不大,,所以CC2531芯片完全可以滿(mǎn)足要求,不必采用其他處理芯片,。其硬件框圖如圖3所示。

qrs7-t3.gif

2.3 嵌入式Linux顯示上位機(jī)的硬件設(shè)計(jì)

    上位機(jī)由UART串口連接至北斗指揮機(jī),,上位機(jī)芯片采用三星公司的S3C2440,,附帶7英寸觸摸屏。

3 系統(tǒng)軟件設(shè)計(jì)

    整個(gè)系統(tǒng)的軟件由ZigBee傳感終端節(jié)點(diǎn)的軟件,、ZigBee協(xié)調(diào)模塊的軟件和嵌入式Linux顯示上位機(jī)的軟件三部分組成,。ZigBee相關(guān)模塊需植入TI公司的Z-STACK協(xié)議,PHY層,、MAC層,、應(yīng)用層等相關(guān)層程序需修改重寫(xiě),以實(shí)現(xiàn)硬件支持與功能實(shí)現(xiàn),。另外,,由于北斗短報(bào)文通信的傳輸量有限,所以要在ZigBee協(xié)調(diào)模塊和嵌入式顯示上位機(jī)分別實(shí)現(xiàn)數(shù)據(jù)的壓縮與解壓,??紤]到采集到的1幀數(shù)據(jù)的重復(fù)性較大,這里用到了BWT算法,、改進(jìn)型RLE算法和靜態(tài)Huffman算法相結(jié)合對(duì)數(shù)據(jù)進(jìn)行壓縮,。

3.1 相關(guān)壓縮算法

    傳輸數(shù)據(jù)的壓縮流程如圖4所示,具體流程為:

qrs7-t4.gif

    (1)將經(jīng)過(guò)數(shù)據(jù)預(yù)處理的一幀數(shù)據(jù)T在末端插入#,,并進(jìn)行每次移位1次的循環(huán)右移,,得到一個(gè)矩陣T#,再按T#矩陣每行的首字母字典排序得到M矩陣,。在這里可以定義M矩陣的第一列為F,,最后一列為L(zhǎng)。則L為經(jīng)過(guò)BWT變換的字符串,。最后這里需要建立一個(gè)L-M Mapping(LF)的輔助公式如下:

    qrs7-gs1.gif

    這里D[L[i]]指的是D代表的字符出現(xiàn)在L列最后出現(xiàn)的位置i,,Di指的是D代表的字符在L[1,i]中出現(xiàn)的次數(shù),。

    (2)上述的字符串經(jīng)過(guò)BWT變換后,,重復(fù)數(shù)據(jù)會(huì)聚集再一起,,將上述字符串再通過(guò)改進(jìn)型RLE編碼壓縮,由于采集的一幀數(shù)據(jù)有限,,字符重復(fù)個(gè)數(shù)不可能超過(guò)0xFF,,所以單個(gè)重復(fù)數(shù)據(jù)編碼為2個(gè)字符,高字節(jié)不采用傳統(tǒng)的2個(gè)字符,,而只采用1個(gè)字符,,連續(xù)不重復(fù)字符共用一個(gè)高字節(jié)C1。

    (3)根據(jù)自設(shè)的靜態(tài)Huffman編碼對(duì)數(shù)據(jù)進(jìn)行變長(zhǎng)編碼,。最后,,整理數(shù)據(jù)并添加北斗協(xié)議,通過(guò)北斗用戶(hù)機(jī)短報(bào)文通信將數(shù)據(jù)發(fā)出去,。傳輸數(shù)據(jù)的壓縮流程圖如圖4所示,。

    傳輸數(shù)據(jù)的解壓過(guò)程為:

    (1)將接收數(shù)據(jù)去掉北斗頭協(xié)議后,根據(jù)對(duì)應(yīng)的Huffman碼表通過(guò)Huffman解碼將數(shù)據(jù)解碼出來(lái),。

    (2)根據(jù)RLE編碼的原理,,去掉數(shù)據(jù)中的高字節(jié)C1,根據(jù)C1數(shù)值的大小,,逐個(gè)恢復(fù)出各個(gè)重復(fù)數(shù)據(jù),,直至恢復(fù)出來(lái)原始數(shù)據(jù)串的長(zhǎng)度,恢復(fù)出來(lái)的數(shù)據(jù)串即是上述壓縮流程中的L,。

    (3)目標(biāo)是通過(guò)BWT反變換恢復(fù)出原數(shù)據(jù)T,,恢復(fù)T的算法為:

    qrs7-gs2-3.gif

其中s=u-1,…,,1,。這里u為T(mén)加#后的長(zhǎng)度,T[s]為L(zhǎng)[i](即L中的第i個(gè)字符)在T中的位置s,,需恢復(fù)所有T[s],,而T即為最終的原始數(shù)據(jù)串。

3.2 ZigBee傳感終端節(jié)點(diǎn)的軟件設(shè)計(jì)

    終端傳感節(jié)點(diǎn)的主要任務(wù)是數(shù)據(jù)采集,、網(wǎng)絡(luò)連接等,。傳感數(shù)據(jù)的發(fā)送采用周期性的數(shù)據(jù)發(fā)送,各節(jié)點(diǎn)采集周期都略小于1 min,。并采用循環(huán)掃描的方式讀取每一個(gè)節(jié)點(diǎn)的每個(gè)傳感器信息,。需要注意的是由于是周期性地采集數(shù)據(jù),軟件上可以實(shí)現(xiàn)間歇性使ZigBee傳感節(jié)點(diǎn)處于休眠狀態(tài),,減小功耗,。

3.3 ZigBee協(xié)調(diào)模塊的軟件設(shè)計(jì)

    ZigBee協(xié)調(diào)模塊是本系統(tǒng)的核心模塊,其作為整個(gè)星型組網(wǎng)的協(xié)調(diào)器,,擔(dān)負(fù)著網(wǎng)絡(luò)建立與網(wǎng)絡(luò)管理以及數(shù)據(jù)處理的作用,。首先進(jìn)行系統(tǒng)初始化,,包括對(duì)協(xié)議棧的物理層、MAC層和I/O端,、串口等進(jìn)行初始化,,接著協(xié)調(diào)器建立網(wǎng)絡(luò)并等待節(jié)點(diǎn)加入。當(dāng)收到節(jié)點(diǎn)加入請(qǐng)求后,,對(duì)節(jié)點(diǎn)進(jìn)行網(wǎng)絡(luò)登記,。接著判斷是否收到數(shù)據(jù),收到數(shù)據(jù)后即可對(duì)數(shù)據(jù)進(jìn)行壓縮,、添加北斗通信協(xié)議處理,,最后通過(guò)北斗用戶(hù)機(jī)發(fā)送出去。整個(gè)軟件的實(shí)現(xiàn)流程如圖5所示,。

qrs7-t5.gif

3.4 嵌入式Linux顯示上位機(jī)的軟件設(shè)計(jì)

    嵌入式顯示上位機(jī)是本系統(tǒng)的終端數(shù)據(jù)顯示模塊,,其功能主要是實(shí)現(xiàn)數(shù)據(jù)的解壓縮去頭協(xié)議后恢復(fù)數(shù)據(jù)并實(shí)時(shí)顯示與數(shù)據(jù)儲(chǔ)存和查詢(xún)。為了便于攜帶性和實(shí)現(xiàn)更好的人機(jī)交互,,顯控終端使用ARM處理器,所用芯片型號(hào)為S3C2440,,運(yùn)行嵌入式Linux系統(tǒng),,軟件界面采用QT4.85開(kāi)發(fā)。為了方便歷史數(shù)據(jù)的查詢(xún),,應(yīng)用程序使用mysql數(shù)據(jù)庫(kù),,數(shù)據(jù)庫(kù)與QWT相結(jié)合,支持對(duì)數(shù)據(jù)進(jìn)行圖表查詢(xún),。上位機(jī)查詢(xún)界面如圖6所示,。

qrs7-t6.gif

4 系統(tǒng)測(cè)試結(jié)果與分析

    為了驗(yàn)證數(shù)據(jù)的傳輸性能,人為對(duì)傳感器進(jìn)行了溫度,、濕度,、風(fēng)力等參數(shù)進(jìn)行了的變化,上位機(jī)在延時(shí)約1 min左右以后可以靈敏地反應(yīng)出變化,。

    另外,,為了對(duì)本系統(tǒng)的北斗傳輸數(shù)據(jù)壓縮效率進(jìn)行驗(yàn)證,進(jìn)行了多次驗(yàn)證實(shí)驗(yàn),,隨機(jī)挑選了幾組典型數(shù)據(jù)驗(yàn)證實(shí)驗(yàn)結(jié)果,,如表1所示。從實(shí)驗(yàn)結(jié)果上來(lái)看,,算法實(shí)現(xiàn)了數(shù)據(jù)的高效無(wú)損壓縮,,數(shù)據(jù)量都?jí)嚎s到了78.5 B以下,可以實(shí)現(xiàn)北斗模塊一次一幀發(fā)送,,顯著提高發(fā)送效率,。

qrs7-b1.gif

參考文獻(xiàn)

[1] 顏玉華.耕地紅線是我國(guó)糧食安全的生命線[J].調(diào)研世界,,2011(4):29-33.

[2] 孫玉文.基于無(wú)線傳感器網(wǎng)絡(luò)的農(nóng)田環(huán)境監(jiān)測(cè)系統(tǒng)研究與實(shí)現(xiàn)[D].南京:南京農(nóng)業(yè)大學(xué),2013.

[3] 王莉,,王澤民.北斗系統(tǒng)在農(nóng)田墑情和珠峰登頂測(cè)量中的應(yīng)用[J].衛(wèi)星與網(wǎng)絡(luò),,2006(3):54-57.

[4] 儲(chǔ)成祥,戴嘯濤,,楊曉冬.我國(guó)農(nóng)業(yè)信息化中的物聯(lián)網(wǎng)技術(shù)應(yīng)用需求評(píng)價(jià)與對(duì)策研究[J].南京郵電大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),,2011,13(3):25-41.

[5] 鐘堅(jiān).中國(guó)5年內(nèi)建成本土GPS—北斗[J].鳳凰周刊,,2010,,354(5):50-51.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。