精準(zhǔn)農(nóng)業(yè)無(wú)線傳感器網(wǎng)絡(luò)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:設(shè)計(jì)并實(shí)現(xiàn)精準(zhǔn)農(nóng)業(yè)無(wú)線傳感器網(wǎng)路,用于監(jiān)測(cè)農(nóng)作物生長(zhǎng)環(huán)境。用高性能、超低功耗單片機(jī)MSP430F149設(shè)計(jì)溫濕度和光照強(qiáng)度傳感器節(jié)點(diǎn);用高性能32位ARM處理器LM3S6918設(shè)計(jì)匯聚節(jié)點(diǎn),采用無(wú)線射頻器件CC1000實(shí)現(xiàn)數(shù)據(jù)的無(wú)線收發(fā);針對(duì)匯聚節(jié)點(diǎn)能量不限的特點(diǎn),改進(jìn)傳統(tǒng)MAC協(xié)議,提出并實(shí)現(xiàn)了一種新的MAC層通信協(xié)議。實(shí)驗(yàn)證明,該網(wǎng)絡(luò)具有生命周期長(zhǎng)、穩(wěn)定性好的優(yōu)點(diǎn),可以滿足精準(zhǔn)農(nóng)業(yè)的環(huán)境監(jiān)測(cè)要求。
關(guān)鍵詞:精準(zhǔn)農(nóng)業(yè);無(wú)線傳感器網(wǎng)絡(luò);MAC協(xié)議;節(jié)點(diǎn);低功耗
精準(zhǔn)農(nóng)業(yè)被稱為人類農(nóng)業(yè)生產(chǎn)的一場(chǎng)革命,并依托于信息技術(shù)。準(zhǔn)確實(shí)時(shí)的信息供給是精準(zhǔn)農(nóng)業(yè)的首要條件,它的實(shí)現(xiàn)依賴于大氣溫濕度、風(fēng)速、光照強(qiáng)度況等多種先進(jìn)的傳感器。近年來(lái),出現(xiàn)了許多采用無(wú)線公共網(wǎng)絡(luò)等無(wú)線通訊方式進(jìn)行農(nóng)、林、牧業(yè)的遠(yuǎn)程監(jiān)測(cè)的研究。這些無(wú)線通信技術(shù)的優(yōu)勢(shì)是傳輸速度快、信息量大、傳距離輸遠(yuǎn)。但因其功耗高、時(shí)延長(zhǎng)、通信費(fèi)用高等因素,在農(nóng)業(yè)環(huán)境監(jiān)測(cè)中未得到廣泛的應(yīng)用。
無(wú)線傳感器網(wǎng)絡(luò)有監(jiān)測(cè)精度高、實(shí)時(shí)性好、容量大、覆蓋區(qū)域大、功耗和成本低等顯著優(yōu)點(diǎn),適合于精準(zhǔn)農(nóng)業(yè)環(huán)境監(jiān)控系統(tǒng)的實(shí)現(xiàn)。開(kāi)發(fā)用于精準(zhǔn)農(nóng)業(yè)監(jiān)測(cè)的無(wú)線傳感器網(wǎng)絡(luò),研究降低其能耗、提高其生命周期和可靠性等關(guān)鍵技術(shù),具有重要的實(shí)用價(jià)值。
1 系統(tǒng)總體設(shè)計(jì)
大多數(shù)精準(zhǔn)農(nóng)業(yè)監(jiān)測(cè)系統(tǒng)中,各個(gè)監(jiān)測(cè)區(qū)域相距較近,所布設(shè)的光照、濕度和溫度等傳感器節(jié)點(diǎn)可在同一無(wú)線節(jié)點(diǎn)的輻射區(qū)域內(nèi);同時(shí),控制中心一般都可持續(xù)提供能量,匯聚節(jié)點(diǎn)能量不限。為此,監(jiān)測(cè)WSN采用星型拓?fù)浣Y(jié)構(gòu),系統(tǒng)結(jié)構(gòu)圖如圖1所示。
1)信息中心即管理節(jié)點(diǎn),負(fù)責(zé)接收匯聚節(jié)點(diǎn)通過(guò)GPRS網(wǎng)絡(luò)上行發(fā)送的數(shù)據(jù),并提供Web服務(wù)功能;當(dāng)傳感器節(jié)點(diǎn)工作失常,或者“死亡”時(shí),應(yīng)能及時(shí)采取相應(yīng)措施。
2)匯聚節(jié)點(diǎn)周期性發(fā)送信標(biāo)幀,接收傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù)幀并通過(guò)GPRS網(wǎng)絡(luò)向信息中心轉(zhuǎn)發(fā);接受信息中心查詢命令,并向傳感器節(jié)點(diǎn)下傳完成查詢?nèi)蝿?wù)。
3)傳感器節(jié)點(diǎn)采集監(jiān)測(cè)信息,并及時(shí)地向匯聚節(jié)點(diǎn)上傳數(shù)據(jù);當(dāng)某個(gè)節(jié)點(diǎn)的能量低于一定門(mén)限時(shí)能及時(shí)上傳低電量告警信息。傳感器節(jié)點(diǎn)采用電池供電,在非工作狀態(tài)時(shí)一般處于休眠狀態(tài)。
2 通信協(xié)議
精準(zhǔn)農(nóng)業(yè)監(jiān)測(cè)WSN具有單覆蓋、匯聚節(jié)點(diǎn)能量不限、實(shí)時(shí)性要求不高等特點(diǎn),為了降低節(jié)點(diǎn)功耗、延長(zhǎng)網(wǎng)絡(luò)生命周期,改進(jìn)傳統(tǒng)的MAC協(xié)議,提出一種基于TDMA的星型MAC協(xié)議一START-MAC協(xié)議。
START—MAC協(xié)議采用信標(biāo)幀、確認(rèn)幀和數(shù)據(jù)幀3種幀格式。其中信標(biāo)幀用于匯聚節(jié)點(diǎn)的廣播同步;確認(rèn)幀用于匯聚節(jié)點(diǎn)應(yīng)答傳感器節(jié)點(diǎn);數(shù)據(jù)幀則用于承載傳感器節(jié)點(diǎn)向匯聚節(jié)點(diǎn)發(fā)送的數(shù)據(jù)。
協(xié)議中匯聚節(jié)點(diǎn)始終處于發(fā)送/接收轉(zhuǎn)換的狀態(tài),處于發(fā)送和處于接收狀態(tài)的時(shí)間比為1:1。匯聚節(jié)點(diǎn)每隔周期T即發(fā)送一定數(shù)目的廣播幀對(duì)全網(wǎng)進(jìn)行廣播,該廣播幀包括了匯聚節(jié)點(diǎn)的同步信息。網(wǎng)內(nèi)要傳送數(shù)據(jù)的節(jié)點(diǎn)任意接收一幀廣播幀,否則就丟棄。接收了廣播幀的節(jié)點(diǎn)延時(shí)一段時(shí)間后待匯聚節(jié)點(diǎn)轉(zhuǎn)入接收狀態(tài),在規(guī)定的時(shí)隙里發(fā)送數(shù)據(jù),否則轉(zhuǎn)入睡眠。這樣既避免了數(shù)據(jù)碰撞,又降低了能量的損耗。
將傳感器節(jié)點(diǎn)一個(gè)周期內(nèi)協(xié)議步驟歸納如下:
1)控制傳感器模塊采集數(shù)據(jù),判斷是否為新數(shù)據(jù),是則進(jìn)入步驟2)否則進(jìn)入步驟4);
2)接收一幀信標(biāo)幀,然后進(jìn)入低功耗狀態(tài);
3)延時(shí)至規(guī)定時(shí)隙,向匯聚節(jié)點(diǎn)發(fā)送數(shù)據(jù);
4)進(jìn)入低功耗,延時(shí)至下一周期。
匯聚節(jié)點(diǎn)一個(gè)周期內(nèi)協(xié)議步驟如下:
1)進(jìn)入發(fā)送狀態(tài);
2)若有確認(rèn)幀需要發(fā)送,則發(fā)送確認(rèn)幀,然后發(fā)送信標(biāo)幀對(duì)全網(wǎng)進(jìn)行時(shí)間同步;
3)轉(zhuǎn)入接收狀態(tài),接收數(shù)據(jù);
4)若接收狀態(tài)接收到數(shù)據(jù),需要進(jìn)行存儲(chǔ)、串口操作或LCD顯示,則進(jìn)行該操作,結(jié)束后轉(zhuǎn)到步驟1。
一個(gè)完整的START—MAC協(xié)議如圖2所示。
3 傳感器節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)
低功耗是設(shè)計(jì)傳感器節(jié)點(diǎn)的關(guān)鍵指標(biāo),MSP430F149MCU芯片因具有超低功耗、較高的數(shù)據(jù)處理速度快和系統(tǒng)工作穩(wěn)定而廣泛地應(yīng)用于的傳感器節(jié)點(diǎn)設(shè)計(jì)。選用MSP430F149和CC1000射頻芯片設(shè)計(jì)溫濕度傳感器節(jié)點(diǎn)和光照傳感器節(jié)點(diǎn)。
1)溫濕度傳感器節(jié)點(diǎn)硬件設(shè)計(jì)
選用SHT10作溫濕度傳感器,采集農(nóng)田的大氣溫度和濕度,溫濕度傳感器節(jié)點(diǎn)硬件原理圖如圖3所示。
MSP430F149通過(guò)I/O口對(duì)SHT10的配置操作以及兩者間的數(shù)據(jù)通信,采用模擬串行方式對(duì)CC1000芯片進(jìn)行配置操作、設(shè)置無(wú)線傳輸模塊的收發(fā)頻率、發(fā)送功率、數(shù)據(jù)速率等參數(shù),采用中斷方式,對(duì)CC1000寫(xiě)入待發(fā)送的數(shù)據(jù)或讀出接收到的數(shù)據(jù)。
2)光照傳感器節(jié)點(diǎn)硬件設(shè)計(jì)
選用TSL230B作光照強(qiáng)度傳感器,采集農(nóng)田作物的光照情況,硬件原理圖如圖4所示。
MSP430F149通過(guò)I/O口對(duì)TSL230B進(jìn)行配置操作,通過(guò)P1.1讀取芯片的輸出信號(hào),計(jì)算頻率值,并通過(guò)換算,獲得最終的光照值。
3)傳感器節(jié)點(diǎn)軟件設(shè)計(jì)
上電后,進(jìn)行系統(tǒng)初始化。然后,節(jié)點(diǎn)進(jìn)行判斷,若節(jié)點(diǎn)為新節(jié)點(diǎn),則進(jìn)行申請(qǐng)入網(wǎng)操作。若不為新節(jié)點(diǎn),則操作傳感器模塊進(jìn)行數(shù)據(jù)采集,并與上一周期采集數(shù)據(jù)進(jìn)行比較,若相同則丟棄,直接進(jìn)入下一步,若不同,則記錄該數(shù)據(jù)。若檢測(cè)電量周期超時(shí),則啟動(dòng)ADC模塊進(jìn)行低電量監(jiān)測(cè),若達(dá)到門(mén)限值,則標(biāo)記告警數(shù)據(jù)幀。如果當(dāng)前周期內(nèi),傳感器節(jié)點(diǎn)有數(shù)據(jù)幀或告警數(shù)據(jù)幀需要發(fā)送,則等待兩個(gè)信標(biāo)幀的時(shí)長(zhǎng)接收一幀信標(biāo)幀,然后關(guān)閉無(wú)線傳輸模塊進(jìn)入LPM3低功耗狀態(tài),延時(shí)一段時(shí)間到規(guī)定時(shí)隙發(fā)送數(shù)據(jù),完成后再進(jìn)入低功耗狀態(tài)等待下一周期。傳感器節(jié)點(diǎn)主程序流程圖如圖5所示。
4 匯聚節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)
1)匯聚節(jié)點(diǎn)硬件設(shè)計(jì)
選用高性能的ARM處理器LM3S6918設(shè)計(jì)匯聚節(jié)點(diǎn),無(wú)低功耗要求,該節(jié)點(diǎn)硬件主要有時(shí)鐘模塊、射頻模塊、外部存儲(chǔ)模塊、電源模塊、串口模塊、看門(mén)狗及復(fù)位電路、LCD顯示模塊等模塊組成。匯聚節(jié)點(diǎn)的硬件結(jié)構(gòu)如圖6所示。
當(dāng)匯聚節(jié)點(diǎn)進(jìn)行數(shù)據(jù)上傳及存儲(chǔ)時(shí),要記錄當(dāng)前的時(shí)間信息,選用PCF8563作實(shí)時(shí)鐘芯片,MCU通過(guò)I2C控制該芯片,由鋰電池為實(shí)時(shí)時(shí)鐘提供后備電源,采用CN3052A芯片控制鋰電池的充電過(guò)程。LM3S6918提供2個(gè)全雙工同步/異步串口,擴(kuò)展成一個(gè)RS232和一個(gè)RS485,分別用于連接顯示設(shè)備和GPRS模塊。
2)匯聚節(jié)點(diǎn)軟件設(shè)計(jì)
匯聚節(jié)點(diǎn)上電后,首先進(jìn)行系統(tǒng)初始化。然后進(jìn)入周期的開(kāi)始狀態(tài),即信標(biāo)幀發(fā)送階段。在此階段中,若上一周期匯聚節(jié)點(diǎn)接收到來(lái)自傳感器節(jié)點(diǎn)的加入申請(qǐng)或是告警數(shù)據(jù)幀,則需在該階段的開(kāi)始對(duì)傳感器節(jié)點(diǎn)回復(fù)確認(rèn)幀。接下來(lái),匯聚節(jié)點(diǎn)開(kāi)始發(fā)送信標(biāo)幀,對(duì)網(wǎng)內(nèi)欲發(fā)送數(shù)據(jù)的傳感器節(jié)點(diǎn)進(jìn)行時(shí)間同步。發(fā)送完所有的信標(biāo)幀后,匯聚節(jié)點(diǎn)即轉(zhuǎn)入接收狀態(tài),接收數(shù)據(jù)幀。等待接收周期結(jié)束后,匯聚節(jié)點(diǎn)進(jìn)行其他操作,若接收到傳感器數(shù)據(jù),則讀當(dāng)前時(shí)間值,將其存儲(chǔ)在外部Flash中,并通過(guò)串口上傳信息中心。若接收到加入申請(qǐng)或告警數(shù)據(jù),則也通過(guò)串口操作上傳信息中心,待處理完成后標(biāo)記確認(rèn)幀。完成這些操作后,匯聚節(jié)點(diǎn)進(jìn)入下一周期。匯聚節(jié)點(diǎn)的主程序流程圖如圖7所示。
5 系統(tǒng)測(cè)試
1)丟包率測(cè)試
實(shí)驗(yàn)條件:射頻收發(fā)頻率為433.3 MHz,節(jié)點(diǎn)發(fā)送增益為10 dBm,數(shù)據(jù)傳輸速率為9.6 kbit/s,數(shù)據(jù)編碼格式為NRZ碼,調(diào)制方式為FSK。
取一傳感器節(jié)點(diǎn)于實(shí)驗(yàn)室環(huán)境下,傳感器節(jié)點(diǎn)共發(fā)送3000個(gè)數(shù)據(jù)包,根據(jù)匯聚節(jié)點(diǎn)接收到的數(shù)據(jù)包數(shù),得到單點(diǎn)通信時(shí)網(wǎng)絡(luò)的丟包率,實(shí)驗(yàn)結(jié)果如表1所示;取3個(gè)傳感器節(jié)點(diǎn)于實(shí)驗(yàn)室環(huán)境下,對(duì)匯聚節(jié)點(diǎn)發(fā)送不同數(shù)據(jù)。每個(gè)節(jié)點(diǎn)均發(fā)送3000個(gè)數(shù)據(jù),根據(jù)匯聚節(jié)點(diǎn)接收到的數(shù)據(jù)包數(shù),得到多點(diǎn)通信時(shí)網(wǎng)絡(luò)的丟包率,實(shí)驗(yàn)結(jié)果如表2所示。從表中數(shù)據(jù)可以看到,系統(tǒng)的每個(gè)節(jié)點(diǎn)丟包率都在1%以下,能滿足系統(tǒng)的要求。
2)功耗測(cè)試
傳感器節(jié)點(diǎn)主要有發(fā)射數(shù)據(jù)、接收數(shù)據(jù)、采集數(shù)據(jù)和休眠狀態(tài)4個(gè)狀態(tài)。經(jīng)實(shí)驗(yàn)測(cè)得,傳感器節(jié)點(diǎn)發(fā)射狀態(tài)電流為24.72 mA,接收狀態(tài)電流為12.74 mA,活動(dòng)狀態(tài)電流為2.53 mA,溫濕度傳感器節(jié)點(diǎn)采集數(shù)據(jù)時(shí)電流為3.20 mA,光照傳感器節(jié)點(diǎn)采集數(shù)據(jù)時(shí)電流為3.40 mA,節(jié)點(diǎn)處于休眠狀態(tài)時(shí)電流為2.1μA。
射頻模塊從休眠狀態(tài)轉(zhuǎn)入接收或發(fā)射狀態(tài)所需時(shí)間為4.3 ms和4.6 ms。傳感器節(jié)點(diǎn)接收信標(biāo)幀和發(fā)送數(shù)據(jù)幀的時(shí)間經(jīng)試驗(yàn)測(cè)得分別為9.45 ms和7.95 ms。同時(shí)溫濕度傳感器采集一次完整數(shù)據(jù)的時(shí)間為4.1 ms,光照傳感器采集一次完整數(shù)據(jù)的時(shí)間約為100μs。
當(dāng)系統(tǒng)采用電池供電時(shí),系統(tǒng)的平均工作電流決定了系統(tǒng)的壽命。根據(jù)系統(tǒng)平均工作電流的計(jì)算公式,Iavg為系統(tǒng)活動(dòng)狀態(tài)時(shí)的工作電流與活動(dòng)時(shí)間的乘積與休眠狀態(tài)電流與休眠時(shí)間的乘積之和再去除以總的工作時(shí)間。假設(shè)節(jié)點(diǎn)每個(gè)工作周期為2 s,節(jié)點(diǎn)每?jī)蓚€(gè)周期上傳一次數(shù)據(jù),每個(gè)周期都采集數(shù)據(jù)??梢杂?jì)算出溫濕度傳感器節(jié)點(diǎn)平均工作電流為
因?yàn)楣庹諅鞲衅鞴?jié)點(diǎn)采集數(shù)據(jù)時(shí)間遠(yuǎn)小于溫濕度傳感器節(jié)點(diǎn),因此平均工作電流小于0.111 8 mA。節(jié)點(diǎn)的工作截止電壓為2.7 V。假設(shè)采用常見(jiàn)的兩節(jié)15 V、容量為2700 mAh左右的鋰電池供電,根據(jù)鋰電池放電特性,當(dāng)放電至2.7 V時(shí),電池容量損耗約2 000 mAh。可以粗略估計(jì)出節(jié)點(diǎn)的使用壽命約為2 000/0.1118=17 889 h=745.4天??梢钥吹?,傳感器節(jié)點(diǎn)應(yīng)當(dāng)可以使用1年以上。
6 結(jié)束語(yǔ)
無(wú)線傳感器網(wǎng)絡(luò)的生命周期是其應(yīng)用的關(guān)鍵,從硬件設(shè)計(jì)和通訊協(xié)議兩個(gè)方面降低節(jié)點(diǎn)功耗,是目前普遍采用的主要措施。選用低功耗的MCU和射頻器件,可降低節(jié)點(diǎn)的工作功耗,選用具有微靜態(tài)功耗的MCU,能夠大大降低節(jié)點(diǎn)的平均功耗。針對(duì)小規(guī)模的農(nóng)田WSN星型結(jié)構(gòu)的特殊性,采用改進(jìn)的MAC協(xié)議,可進(jìn)一步降低節(jié)點(diǎn)功耗,延長(zhǎng)網(wǎng)絡(luò)的生命周期。對(duì)中、大規(guī)模的農(nóng)田WSN,研究其網(wǎng)絡(luò)結(jié)構(gòu)及其通訊協(xié)議,以達(dá)到各種精準(zhǔn)農(nóng)業(yè)監(jiān)測(cè)WSN的實(shí)際需要。