鄧 昀 程小輝
(桂林理工大學信息科學與工程學院,廣西 桂林 541004)
21世紀,水已成為一種稀缺資源,水資源問題已不僅僅是簡單的資源問題,更是關(guān)系到國家經(jīng)濟、社會可持續(xù)發(fā)展和長治久安的重大戰(zhàn)略問題。目前,國內(nèi)用于農(nóng)業(yè)灌溉的水資源浪費非常嚴重。因此,在農(nóng)業(yè)灌溉中引入無線傳感器網(wǎng)絡(WSN)技術(shù),實時監(jiān)測農(nóng)作物生長的土壤墑情和外部環(huán)境。通過監(jiān)測數(shù)據(jù)指導農(nóng)業(yè)生產(chǎn),結(jié)合智能灌溉技術(shù)實現(xiàn)定時、定量的精準灌溉,可以大幅度節(jié)省農(nóng)業(yè)生產(chǎn)中生產(chǎn)資料的消耗,提高水資源利用率,緩解水資源緊張問題。
本文介紹了智能灌溉系統(tǒng)的無線傳感器網(wǎng)絡設計方案。該方案利用節(jié)點網(wǎng)絡的各種傳感器實時監(jiān)測農(nóng)作物生長的土壤墑情和外部環(huán)境;通過無線通信網(wǎng)絡將監(jiān)測到的有效信息傳送到系統(tǒng)管理中心;系統(tǒng)管理中心根據(jù)監(jiān)測數(shù)據(jù),采用相應的灌溉措施實現(xiàn)大面積精準灌溉。該設計方案實現(xiàn)了數(shù)據(jù)采集、傳感器組網(wǎng)、數(shù)據(jù)無線傳輸、網(wǎng)絡數(shù)據(jù)管理和監(jiān)控等功能。
系統(tǒng)的架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖Fig.1 Architecture of the system
系統(tǒng)按功能分為系統(tǒng)管理中心和無線傳感器網(wǎng)絡覆蓋區(qū)兩大部分。系統(tǒng)管理中心負責對接收的數(shù)據(jù)進行灌溉單元劃分、分類、聚合和存儲,確保各個灌溉區(qū)的匯聚節(jié)點和數(shù)據(jù)采集子節(jié)點所在地的數(shù)據(jù)可以隨時查閱,確定有效的灌溉方式。
無線傳感器網(wǎng)絡覆蓋區(qū)由網(wǎng)絡主節(jié)點和分割為數(shù)塊的相對獨立的灌溉單元組成。每個灌溉單元設有一個或多個網(wǎng)絡匯聚節(jié)點(相當于傳輸基站)和數(shù)目不等的傳感器數(shù)據(jù)采集子節(jié)點。子節(jié)點通過與其連接的各種傳感器(空氣溫濕度、光照強度、土壤溫濕度、二氧化碳含量傳感器)采集監(jiān)測數(shù)據(jù)。
無線傳感器網(wǎng)絡通信方式采用主從模式,對每個網(wǎng)絡節(jié)點進行統(tǒng)一編址,保證其地址的唯一性。結(jié)合分群路由協(xié)議中的PEGASIS協(xié)議,將整個網(wǎng)絡劃分為多層,每層分為多個子網(wǎng)絡。子網(wǎng)絡采用時分多址(TDMA)通信技術(shù),使地址與節(jié)點相對應,時間間隙與節(jié)點通信相連接。
系統(tǒng)子節(jié)點由供電模塊、無線通信模塊、微控制器模塊和傳感器模塊組成,其結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)子節(jié)點結(jié)構(gòu)圖Fig.2 Structure of the system child node
子節(jié)點通過傳感器模塊和微控制器模塊實現(xiàn)對土壤溫濕度、空氣溫濕度、光照強度和二氧化碳濃度等信號的采集和處理,并把處理過后的標準數(shù)據(jù)通過無線通信模塊發(fā)送給匯聚節(jié)點。微控制器模塊選用的MCU是ATMEL公司生產(chǎn)的 CMOS 8位單片機AT89S52,包括微控制器最小系統(tǒng)單元、實時時鐘單元和外部數(shù)據(jù)存儲器單元。
無線通信選用基于RFCC1101的無線通信模塊。該模塊從結(jié)構(gòu)上分為兩部分:RF射頻電路和微控制器電路。其設計結(jié)構(gòu)如圖3所示。
圖3 無線通信模塊設計結(jié)構(gòu)圖Fig.3 Design structure of the wireless communication module
匯聚節(jié)點由供電模塊、無線通信模塊以及微控制器模塊構(gòu)成,功能為:①收集所屬網(wǎng)絡子群的子節(jié)點傳感器采集的數(shù)據(jù);②中轉(zhuǎn)所屬網(wǎng)絡收集的數(shù)據(jù),并發(fā)送給主節(jié)點或下一級匯聚節(jié)點;路由外群的采集數(shù)據(jù),此時相當于一個特殊的路由設備。無線傳感器網(wǎng)絡的中轉(zhuǎn)路由級數(shù)可以根據(jù)具體情況設定,所設計的無線通信模塊能提供256個通信信道,則兩極中轉(zhuǎn)路由就能支持255×255共65025個子節(jié)點,基本上可以滿足無線傳感器網(wǎng)絡系統(tǒng)節(jié)點的需求。
主節(jié)點由微控制器模塊、供電模塊、無線通信模塊與通信接口模塊構(gòu)成。其中,通信接口模塊包括USB接口與串行接口,供電模塊采用系統(tǒng)管理中心的上位機USB接口供電。主節(jié)點負責收集所有匯聚節(jié)點的數(shù)據(jù)包,并通過串口或USB接口把數(shù)據(jù)傳遞給系統(tǒng)管理中心[1-2]。系統(tǒng)主節(jié)點結(jié)構(gòu)如圖4所示。
圖4 系統(tǒng)主節(jié)點結(jié)構(gòu)圖Fig.4 Structure of the system master node
無線傳感器網(wǎng)絡軟件程序總體設計結(jié)構(gòu)如圖5所示,主要包括子節(jié)點程序設計、匯聚節(jié)點程序設計、主節(jié)點程序設計三大部分。
圖5 程序總體設計結(jié)構(gòu)圖Fig.5 Overall design structure of the program
子節(jié)點主要完成對監(jiān)控目標周邊環(huán)境數(shù)據(jù)的采集,并與匯集節(jié)點建立通信發(fā)送采集數(shù)據(jù)。系統(tǒng)通過定義3個事件即無線通信事件、數(shù)據(jù)采集事件和休眠事件來完成以上任務。無線通信事件,與匯聚節(jié)點聯(lián)網(wǎng)通信,傳遞傳感器采集數(shù)據(jù)與節(jié)點的路由信息;采集事件,完成各節(jié)點傳感器的數(shù)據(jù)采集、預處理,并通過I2C總線存儲到外部存儲器24C02中;休眠事件,使子節(jié)點進入休眠狀態(tài),子節(jié)點程序流程圖如圖6所示。
圖6 子節(jié)點程序流程圖Fig.6 Flowchart of the child node program
系統(tǒng)一共有4路傳感器采集信號,分別采集空氣溫濕度、土壤溫濕度、光照強度和二氧化碳濃度。
數(shù)據(jù)采集程序設計把空氣溫濕度傳感器定義為傳感器1、土壤溫濕度傳感器定義為傳感器2、光照強度傳感器定義為傳感器3、二氧化碳濃度傳感器定義為傳感器4。因此,系統(tǒng)定義了一個傳感器啟動控制字節(jié),以其中的4位作為4路傳感器的啟動標志位,由4路低功耗的TQ2-4.5繼電器控制導通,分別接單片機的P2.0~ P2.3口。
傳感器啟動控制字節(jié)格式定義如表1所示。
表1 控制字節(jié)格式定義Tab.1 Definition of control byte format
子節(jié)點數(shù)據(jù)采集程序設計流程圖如圖7所示。
圖7 數(shù)據(jù)采集程序設計流程圖Fig.7 Design flowchart of the data acquisition program
在寫入存儲器之前,將數(shù)據(jù)以一定的數(shù)據(jù)格式進行封裝,便于系統(tǒng)管理中心的綜合管理。定義采集數(shù)據(jù)的存儲和傳輸格式如表2所示。存儲內(nèi)容包括節(jié)點地址、采集時間和傳感器采集數(shù)據(jù)。采集數(shù)據(jù)格式定義如表3所示。
表2 數(shù)據(jù)存儲和傳輸格式Tab.2 Storage and transmission formats for data
表3 采集數(shù)據(jù)格式定義Tab.3 Definition of collected data format
匯聚節(jié)點功能為:與所屬網(wǎng)絡下的子節(jié)點建立通信并收集所有子節(jié)點的傳感器采集數(shù)據(jù);把收集到的子節(jié)點數(shù)據(jù)發(fā)送給主節(jié)點;路由網(wǎng)絡群外的數(shù)據(jù)采集。據(jù)此可以在節(jié)點應用層定義一個用戶任務,在任務中定義兩個事件,分別是無線通信事件與休眠事件。無線通信事件,接收和發(fā)送數(shù)據(jù);休眠事件,如果主節(jié)點沒有采集任務,匯聚節(jié)點與子節(jié)點都將處于休眠狀態(tài)。
匯聚節(jié)點與子節(jié)點采用點對多時分多址的通信方式,子節(jié)點的采集數(shù)據(jù)以單個數(shù)據(jù)段的形式發(fā)送到匯聚節(jié)點。
匯聚節(jié)點是通信子網(wǎng)絡的群首,采用TDMA通信技術(shù),分時與下屬子節(jié)點通信,并把收集數(shù)據(jù)分層(分級)路由傳遞給主節(jié)點。具體的TDMA時間間隙由無線通信的波特率與數(shù)據(jù)傳輸量決定。
本系統(tǒng)無線通信波特率設置為19200 bit/s,數(shù)據(jù)傳輸量包括4個傳感器采集數(shù)據(jù),數(shù)據(jù)量少于100 B,點名應答時間測試為10 ms,數(shù)據(jù)傳輸時間測試為40 ms,測試結(jié)果建立在所有子節(jié)點同構(gòu)的基礎(chǔ)之上。此外,使用的傳感器類型和數(shù)目必須一致,否則TDMA的時間間隙要根據(jù)不同的節(jié)點進行具體劃分[3]。
匯聚節(jié)點接收到采集節(jié)點的數(shù)據(jù)后要以一定的格式存儲,以便主節(jié)點接收和管理。數(shù)據(jù)存儲格式為:匯聚節(jié)點ID+時間(時:分)+收集子節(jié)點的數(shù)目 +收集子節(jié)點采集數(shù)據(jù)。當匯聚節(jié)點向某一采集子節(jié)點發(fā)送請求信號時,采集子節(jié)點應向匯聚節(jié)點發(fā)送一個應答信號,子節(jié)點對匯聚節(jié)點發(fā)送請求時也如此。
匯聚節(jié)點通信程序設計流程如圖8所示。
圖8 匯聚節(jié)點通信程序設計流程圖Fig.8 Design flowchart of the aggregation node communication program
主節(jié)點從功能上說其實是一個最大的匯聚節(jié)點,它大部分通信程序設計與匯聚節(jié)點的通信程序設計一致,在本系統(tǒng)中主要多了串口/USB通信程序和液晶顯示程序。串口/USB通信把主節(jié)點的存儲數(shù)據(jù)傳輸給系統(tǒng)管理中心上位機上,液晶為傳感器數(shù)據(jù)提供可視化顯示。主節(jié)點的工作模式分兩種:一種是上位機發(fā)送指令,命令采集數(shù)據(jù);另一種是主節(jié)點自己內(nèi)部操作,可通過按鍵啟動采集程序。在沒有打開系統(tǒng)上位機的情況下,可以通過第二種模式查看目標監(jiān)測數(shù)據(jù)。
在無線通信模塊中,由于RF芯片CC1101內(nèi)部集成的功率放大器可以通過編程控制,因此子節(jié)點、匯聚節(jié)點與主節(jié)點在聯(lián)網(wǎng)時可以遵循一定的通信原則。功率放大器由一個8位寄存器控制,從最小的00000000H到最大的11111111H,一共可以分為256個等級,等級越大,無線通信模塊發(fā)射功率越大,通信距離也就越遠,反之亦然。系統(tǒng)一共設了8個等級,具體等級分配如表4所示[4-5]。
表4 節(jié)點聯(lián)網(wǎng)輸出功率等級表Tab.4 Output power levels networking nodes
采用這樣的聯(lián)網(wǎng)方式能大大降低網(wǎng)絡通信能量損耗。節(jié)點搜索網(wǎng)絡時從最低等級開始,直到聯(lián)入到它相應的網(wǎng)絡;匯聚節(jié)點與字節(jié)、主節(jié)點與匯聚節(jié)點聯(lián)網(wǎng)時也是如此,都是以搜索到網(wǎng)絡,或者搜索到最遠的節(jié)點時所用到的最大等級為該節(jié)點的聯(lián)網(wǎng)等級。即能用低級的輸出功率穩(wěn)定通信,就不會采用更高的功率等級通信。
在一段時間內(nèi),隨著相關(guān)節(jié)點的丟失、損壞或者網(wǎng)絡群首的更替,每個節(jié)點的聯(lián)網(wǎng)等級可能會相應有所變化,但是不能超出該節(jié)點的最大聯(lián)網(wǎng)等級,也就是最大發(fā)射功率[7-8]。
本文提出了一種新型的基于智能灌溉系統(tǒng)的無線傳感器網(wǎng)絡設計方案。該方案把無線傳感器網(wǎng)絡與目前廣泛應用的灌溉技術(shù)相結(jié)合,利用節(jié)點網(wǎng)絡的各種傳感器實時監(jiān)測農(nóng)作物生長的土壤墑情和外部環(huán)境,通過監(jiān)測數(shù)據(jù)為智能灌溉系統(tǒng)的精準灌溉提供判斷依據(jù)。該技術(shù)的應用可以大幅節(jié)省農(nóng)業(yè)生產(chǎn)中生產(chǎn)資料的消耗,緩解水資源緊張問題,具有一定的經(jīng)濟效益和社會效益。
[1]王冉,徐本崇,魏瑞成,等.基于無線傳感網(wǎng)絡的畜禽舍環(huán)境監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].江蘇農(nóng)業(yè)學報,2010,26(3):562-566.
[2]曹元軍,王新忠.基于作物冠層溫度變化的無線傳感器網(wǎng)絡灌溉系統(tǒng)的研究[J].農(nóng)機化研究,2010(9):126-129.
[3]Rhee I,Warrier A,Min J.DRAND:distributed randomized TDMA scheduling for wireless Ad-hoc networks[C]//Proceedings of IEEE Transactions on Mobile Computing,2009,8(10):1384 -1396.
[4]張增林,郁曉慶.基于無線傳感器網(wǎng)絡的土壤信息采集系統(tǒng)[J].節(jié)水灌溉,2011(12):41-43.
[5]呂濤,周燕媚.基于2.4G的檢測數(shù)據(jù)無線傳輸模塊設計[J].儀器儀表學報,2006(6):2062-2064.
[6]劉卉,汪懋華,王躍宣,等.基于無線傳感器網(wǎng)絡的農(nóng)田土壤溫濕度監(jiān)測系統(tǒng)的設計與開發(fā)[J].吉林大學學報:工學版,2008,38(3):604-608.
[7]王粉花,年忻,郝國梁,等.物聯(lián)網(wǎng)技術(shù)在生命狀態(tài)監(jiān)測系統(tǒng)中的應用[J].計算機應用研究,2010,27(9):3375 -3377.
[8]何世鈞,陳中華,張雨,等.基于物聯(lián)網(wǎng)的海洋環(huán)境監(jiān)測系統(tǒng)的研究[J].傳感器與微系統(tǒng),2011,30(3):13 -15.