龍威林,高 藝
(天津現(xiàn)代職業(yè)技術學院,天津 300350;南開大學信息學院,天津 300071)
無線傳感器網(wǎng)絡(WSN)技術是在電系統(tǒng)(MEMS)技術、片上系統(tǒng)(SOC)技術、無線通信和低功耗嵌入式技術等先進技術的基礎上發(fā)展起來的。無線傳感器網(wǎng)絡技術實現(xiàn)了數(shù)據(jù)的采集、處理和傳輸,該技術的優(yōu)點有:功耗低、成本低、分布式、自組織等等。因其諸多特點被廣泛的應用于信息感知領域,并在很大程度上推進了信息感知技術的發(fā)展。
智慧農業(yè)是農業(yè)在先進的信息科學技術的促進下發(fā)展到的高級階段,通過在農田環(huán)境部署的各類傳感器節(jié)點,以及將節(jié)點連接起來的無線通信網(wǎng)絡,實現(xiàn)了農業(yè)生產真正的智慧化,即能夠做到無時不在、無處不在的智慧監(jiān)測、智慧分析、智慧預警,而農業(yè)生產者在智慧農業(yè)的指導下能夠實現(xiàn)科學管理、科學預測、科學決策,實現(xiàn)農業(yè)生產領域的新的變革。
利用無線傳感器網(wǎng)絡數(shù)據(jù)采集技術,智慧農業(yè)環(huán)境信息采集系統(tǒng)對土壤溫濕度、等環(huán)境參數(shù)進行全天候不間斷的監(jiān)測,采集到的各項參數(shù)數(shù)據(jù)通過匯聚節(jié)點傳輸,最終為監(jiān)控人員所掌握。為了提高系統(tǒng)的擴展性與可靠性,系統(tǒng)采用自組織網(wǎng)絡結構與星型網(wǎng)絡結構結合的分層網(wǎng)絡結構,提出了一種基于太陽能的能量供給方案。該方案能夠解決簇首節(jié)點的能量供給問題。系統(tǒng)內簇首節(jié)點軟件基于μC/OS-II操作系統(tǒng),并以更好的完成各任務的調度為目的對系統(tǒng)進行了優(yōu)化。智慧農業(yè)是農業(yè)生產的高級階段,依托部署在農業(yè)生產現(xiàn)場的各種傳感節(jié)點和無線通信網(wǎng)絡實現(xiàn)農業(yè)生產環(huán)境的智能感知、智能預警、智能決策、智能分析、為農業(yè)生產提供精準化種植、可視化管理、智能化決策。
智慧農業(yè)環(huán)境信息采集系統(tǒng)利用基于無線傳感器網(wǎng)絡的大范圍數(shù)據(jù)采集技術,對土壤溫濕度、酸堿性等環(huán)境參數(shù)進行全天候的監(jiān)測。采集到的各項參數(shù)數(shù)據(jù)通過匯聚節(jié)點傳輸,最終為監(jiān)控人員所掌握。通過分層式的網(wǎng)絡結構——上層采用自組織網(wǎng)絡結構,下層采用星型網(wǎng)絡結構,系統(tǒng)的擴展性和可靠性有著很大的提升。系統(tǒng)還提出了一種基于太陽能的能量供給方案,該方案能夠解決簇首節(jié)點的能量供給問題。系統(tǒng)內簇首節(jié)點在μC/OS-II操作系統(tǒng)的環(huán)境下運行,并對μC/OS-II操作系統(tǒng)進行了個性化的優(yōu)化。
無線傳感器網(wǎng)絡通信協(xié)議的復雜度、有效性,均與網(wǎng)絡的拓撲結構有著密切的關系。因此,如何設計一種有效、合理、實用的無線傳感器網(wǎng)絡拓撲結構是系統(tǒng)要解決的關鍵問題之一。本系統(tǒng)的網(wǎng)絡結構引入了分層的思想,分為上層、下層兩部分:上層為簇首;下層為傳感器節(jié)點??紤]到系統(tǒng)的實際需求,上層采用自組織網(wǎng)絡結構,下層采用星型網(wǎng)絡結構,如圖1所示。簇首的功能特性區(qū)別于一般傳感器節(jié)點:一般來說,所有簇首均包含相同的MAC、路由、管理等功能協(xié)議,而一般傳感器節(jié)點則沒有路由、管理及匯聚處理等功能。采用這種分層式的網(wǎng)絡拓撲結構,系統(tǒng)的擴展性大大提高,特別適合集中管理的情況,系統(tǒng)建設成本也大大削減,網(wǎng)絡覆蓋率和可靠性也有一定的提高。
圖1 系統(tǒng)的分層式網(wǎng)絡拓撲結構
本系統(tǒng)節(jié)點分為傳感器節(jié)點和簇首節(jié)點兩種類型。
無線傳感器節(jié)點可以按功能劃分為四類模塊:傳感器、處理器、無線通信和能量供應模塊。其中,傳感器模塊能夠實現(xiàn)所監(jiān)測的農業(yè)生產現(xiàn)場中各項數(shù)據(jù)的采集以及數(shù)據(jù)的轉換;處理器模塊控制傳感器節(jié)點的各項功能,包括節(jié)點的操作、存儲、數(shù)據(jù)處理;不同傳感器節(jié)點的無線通信模塊相互之間進行無線通信;能量供應模塊以微型電池為能量來源,為傳感器節(jié)點提供能量。傳感器節(jié)點結構如圖2所示。
本文以基于SHT11的溫濕度采集模塊為例介紹傳感器模塊。SHT11是一款經典的數(shù)字輸出的溫濕度傳感器芯片,該模塊集溫濕度感測功能、A/D轉換功能等功能于一體,精確度高、響應快、抗干擾能力強。
處理器模塊采用的是TI公司生產的MSP430 F149處理器,MSP430 F149是一款超低功耗的16位 RISC混合信號控制器,能夠在低電壓下以超低功耗狀態(tài)工作,RAM保持模式0.1μA,實時時鐘模式0.7μA,工作模式200μA/MIPS,在6μs之內快速從待機模式喚醒,解決了制約無線傳感網(wǎng)絡的能耗問題,基于以上優(yōu)點,采用MSP430F149作為CPU的優(yōu)點是非常突出的。
圖2 傳感器節(jié)點結構
考慮到無線傳輸?shù)膫鞲衅鞴?jié)點之間的相互距離不會太遠,因此,系統(tǒng)采用基于nrf24L01的無線通信模塊。該模塊適用于近距離的無線通信傳輸,具有低功耗、支持高速跳頻、體積小、外圍器件少、配置簡單、且使用兩層PCB板成本低等優(yōu)點。該模塊可通過SPI寫入數(shù)據(jù),寫入數(shù)據(jù)的速率高至10 Mb/s,數(shù)據(jù)傳輸率高至2 Mb/s,支持自動應答、自動再發(fā)射等功能。
系統(tǒng)對簇首節(jié)點的數(shù)據(jù)處理能力和網(wǎng)絡傳輸能力都有著更高的要求。
因此,中央處理器采用STM32F103ZE高性能的ARM?CortexTM-M3處理器,具有最高72MHz處理頻率及1.25DMips/MHz的性能,且資源豐富,功耗較低。
簇首節(jié)點采用短距離無線通信模塊nrf24L01完成簇內數(shù)據(jù)傳輸,采用遠距離ZigBee無線通信模塊DRF1605H。該模塊內置無線放大器,能夠大幅提高發(fā)射信號或接收信號的功率,傳輸最大距離遠至1.6公里。而且,每個節(jié)點都非常靈活,隨時可以實現(xiàn)數(shù)據(jù)的發(fā)送/接收,同時,也可作為路由器供其它節(jié)點信息傳輸之用。該模塊還能夠自主計算各項數(shù)據(jù)的傳輸路由。
簇首節(jié)點需要的能量較大,為了更好地解決能量供給問題,設計了基于太陽能的能量供給系統(tǒng),由以下部分構成:一是將太陽能轉化為電能的太陽能電池板,構成了能量收集器;二是將太陽能電池獲取的能量存儲起來的超級電容,構成了能量存儲器;還包括基于CN3063的能量管理單元,作用是太陽能電池的充電管理。具體結構如圖3所示。
本系統(tǒng)設計了三種工作模式:定時采集模式,閾值報警模式,實時查詢模式,分別說明如下:
定時采集模式下,在無線網(wǎng)絡系統(tǒng)自動組網(wǎng)完成之后,簇首節(jié)點定時收集簇內各傳感節(jié)點的信息,保存接收到的數(shù)據(jù)并定時向管理節(jié)點傳輸。
閾值報警模式下,當傳感節(jié)點采集到的信息超閾值時,立即發(fā)送報警信息至簇首節(jié)點。簇首節(jié)點接收到報警信息后,立即將其傳送給管理節(jié)點。
實時查詢模式下,對于任一傳感器的節(jié)點信息,管理節(jié)點都有權實時查詢。實時查詢的具體步驟為:首先,管理節(jié)點向傳感器節(jié)點發(fā)出一條查詢指令,在簇首節(jié)點接收到指令之后,收集簇內各傳感器節(jié)點的信息,并將所有收集到的傳感器節(jié)點信息發(fā)送給管理節(jié)點。
由于傳感節(jié)點軟件結構相對簡單,本文以簇首節(jié)點軟件設計為主進行介紹。
圖3 基于太陽能的能量供給系統(tǒng)
簇首節(jié)點主機板軟件以μC/OS-II作為操作系統(tǒng),完成各任務的調度。μC/OS-II作為一種操作系統(tǒng)內核,具有可移值、可植入ROM、可裁剪、搶占式、實時多任務操作等優(yōu)點,具有任務調度與管理、時間和內存管理、任務間通信和同步等功能。μC/OS-II目前是各種微處理器、數(shù)字信號處理器和微控制器的主要操作系統(tǒng)。
該系統(tǒng)移植了針對嵌入式應用開發(fā)的圖形界面支持系統(tǒng)ucGUI,基于FTF LCD設計了基于圖形的人機交互界面,實現(xiàn)了數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)顯示、無線傳輸?shù)裙δ?。系統(tǒng)軟件結構框圖如圖4所示。
圖4 系統(tǒng)軟件結構框圖
簇首節(jié)點上電后,首先,簇首節(jié)點進行硬件初始化,然后主干網(wǎng)開始組網(wǎng),所有簇首節(jié)點都要向管理節(jié)點發(fā)送并登記自己的地址。組網(wǎng)結束后,由管理節(jié)點向所有簇首節(jié)點傳送傳感節(jié)點表列。簇首節(jié)點對于接收到的表列要進行驗證。具體驗證的方法是,簇首節(jié)點向表列中的傳感器節(jié)點地址發(fā)出驗證信息,如果能夠收到回應,則表列中登記的地址正確,予以保留;如無法收到回應,則說明表列中的地址錯誤,簇首節(jié)點將對錯誤的地址進行刪除。
簇首節(jié)點如需判斷是否有等待加入的新傳感器節(jié)點,則需要廣播自己的地址。如果接收到新節(jié)點的地址,則說明該節(jié)點在等待被加入,簇首節(jié)點將收到的地址加入表列,并反饋給該節(jié)點一個ACK確認信號。按照以上的步驟,可以不斷的判斷是否有等待加入的傳感節(jié)點并將其加入到網(wǎng)絡當中來,實現(xiàn)無線網(wǎng)絡的組織和更新。簇首節(jié)點組網(wǎng)流程如圖5。
對于有等待加入無線傳感網(wǎng)絡的新傳感節(jié)點,需要接收到簇首節(jié)點廣播的簇首節(jié)點地址之后,向該地址發(fā)送自己的節(jié)點地址。如在發(fā)送之后,接收到簇首節(jié)點返回的ACK確認信號,則說明已被加入無線傳感網(wǎng)絡當中。如在預設的時間之內,沒有接收到確認信號,則需要重新詢問,即重新發(fā)送自己的節(jié)點地址至簇首節(jié)點,并等待簇首節(jié)點的回應。傳感節(jié)點組網(wǎng)如圖6。
圖5 簇首節(jié)點組網(wǎng)流程圖
圖6 傳感節(jié)點組網(wǎng)流程圖
因為μC/OS-II作為嵌入式操作系統(tǒng),具有可裁減的優(yōu)點,故可以根據(jù)需求對其進行配置。例如,可以關閉沒有需求的功能,這樣能夠提高系統(tǒng)效率,節(jié)約內存空間。文件OS_CFG.H中,以#define語句的形式保存了μC/OS-II的初始化配置選項,將對應的語句置位表示使能,清零表示關閉。
隨著硬件節(jié)點的不斷的改進設計,驅動程序也進行了不斷的編寫,存在著結構較復雜、代碼效率較低等缺點。所以,也需要對硬件驅動進行優(yōu)化。在優(yōu)化過程中,優(yōu)化驅動時序,能夠提高驅動的效率;對驅動進行模塊化設計,函數(shù)接口進行封裝,則易于管理和維護修改。
基于本文的系統(tǒng)設計,實現(xiàn)了智慧農業(yè)環(huán)境信息采集系統(tǒng),并在某溫室大棚中進行了測試。
利用傳感節(jié)點和數(shù)據(jù)中心節(jié)點,可以觀察到大棚中溫濕度的變化。如圖 (a)中,這是某傳感節(jié)點上的液晶顯示器所顯示的實時采集的溫濕度值,其中黃色曲線代表傳感節(jié)點采集到的濕度值,紅色曲線代表著采集到的溫度值。圖(b)中反映的是數(shù)據(jù)中心節(jié)點接收到的該簇中所有傳感節(jié)點采集的信息。圖(c)和(d)中分別反映了當所監(jiān)測的環(huán)境中溫濕度發(fā)生變化的時候,傳感節(jié)點采集的數(shù)據(jù)和曲線的變化。
(a) 系統(tǒng)實時采集的溫濕度值 (b)數(shù)據(jù)中心節(jié)點接收到的傳感器節(jié)點信息 (c)(d)傳感器節(jié)點溫濕度曲線圖圖7 系統(tǒng)顯示器顯示的數(shù)據(jù)和曲線圖
基于無線傳感器網(wǎng)絡設計的智慧農業(yè)環(huán)境信息采集系統(tǒng)采用了分層網(wǎng)絡結構,擴展性好,可靠性高。簇首節(jié)點需要的能量較大,為了更好地解決能量供給問題,提出了基于太陽能的能量供給系統(tǒng)。實驗證明,該系統(tǒng)在實際運行中效果良好,能夠在農田管理和農業(yè)種植等多方面為農業(yè)工作者提供科學可靠的環(huán)境信息以供參考。