翁連娟 蔡沖 陳錫愛 姜建中
摘要:桑樹在食用、生態、藥用等方面都有很高的價值,為能使桑樹達到高產高質,必須要精確地檢測和綜合地調控桑樹生長環境。設計一套基于ZigBee技術的環境監控系統,以CC2530作為主控制芯片完成桑園環境信息的采集、處理和無線傳輸,傳輸到PC機上后通過上位機來顯示實時信息并完成數據的存儲。該系統以IAR Embedded Workbench作為開發平臺編寫ZigBee無線自組網、信息收集、信息傳輸和信息處理的C程序,并且通過模糊控制策略,自行開啟或關閉灌溉系統和光補償系統。結果表明,該系統功能完善、功耗低、性能穩定,可以較好地改善桑園的環境。
關鍵詞:ZigBee;桑園環境;CC2530;監控系統;模糊控制
中圖分類號: S126;TP277.2? 文獻標志碼: A? 文章編號:1002-1302(2019)03-0198-05
我國是世界上種桑養蠶最早的國家,桑樹的栽培已有 7 000 多年的歷史,桑樹品種繁多,品質優良,全身都具有很好的功效,被譽為“樹種之王”[1]。桑樹不僅是家蠶的主要飼料,還有巨大的生態功能[2]。控制環境因子能夠有效提高桑樹光合效率,確保獲得更大的經濟利益。影響光合作用的環境因子主要有光照度、土壤水分等[3]。
隨著科學技術、信息技術、網絡技術的發展,現代通信技術已經在各個領域得到極為廣泛的應用[4],但是傳統網絡存在許多的局限性,許多特殊環境下網絡難以覆蓋,而無線通信技術正好解決了這一難題。目前無線傳感器網絡協議主要有無線局域網、超寬帶通信、藍牙、紅外線數據通信及ZigBee技術等[5]。ZigBee技術的無線傳感網以其低成本、低功耗以及良好的自組網特性和網絡管理功能,被廣泛應用于軍事、智能家居、遠程監控以及遠程工業控制等領域[6]。
近年來,設施農業已經逐漸滲透到傳統農業中,其在大棚溫室中的應用已經成熟,但針對于桑園的設施農業卻很少有研究。桑農思想觀念落后、桑園種植規模小、對設施農業的宣傳引導不夠等因素制約了桑園設施化農業的發展。在這一背景下,設計一種基于ZigBee技術的桑園環境監控系統。該系統充分利用ZigBee的優點并結合桑樹生長的特性,能夠較好地將桑園環境控制在適合桑樹生長的環境內。
1 環境監控系統整體設計
本系統由數據采集、數據傳輸、數據處理和環境控制4個模塊組成。該系統的核心處理器選用的是CC2530,數據采集模塊中的傳感器選用的是DHT11、5506光敏電阻和土壤濕度檢測器。ZigBee網絡包含協調器((zigbee coordinator,簡稱ZC)、路由器(zigbee router,簡稱ZR)、終端(zigbee endpoint,簡稱ZE)3種設備類型。協調器是整個設備的啟動和控制網絡。協調器存儲關于網絡的信息,包括作為認證中心和作為安全密鑰的貯藏所。路由器可以擴展網絡覆蓋面,在障礙周圍動態路由,并且提供備份路由以防護網絡擁擠和設備失敗。終端設備有發送或接收1個信息的作用,但是不執行任何路由操作,它們必須被連接到1個協調器或者1個路由器,終端設備不支持子設備。本系統設有3個終端節點和1個協調器,協調器同時收集3個終端節點采集到的環境信息,整理好以后通過串口傳到電腦上。ZigBee作為一種無線網絡技術,有距離短、功耗低、數據傳輸速率低的特點,它可以形成星型、樹型、網狀等3種zigbee網絡。本系統選取最為簡單的星型拓撲形式來作為該系統的網絡結構,即終端設備和協調器之間進行直接通訊。數據處理模塊主要包括數據顯示、數據存儲。環境控制模塊主要是桑園灌溉系統和光補償系統(圖1)。
2 系統硬件設計
2.1 主控制模塊
本系統選用CC2530作為核心處理器,CC2530是TI公司在2.4 GHz頻段推出的第2代支持IEEE 802.15.4和RF4CE的片上系統[7]。該芯片的工作頻率范圍是2 400~2 483.6 MHz,支持數據傳輸到250 kb/s,其內部集成51控制器、射頻收發器,具有低功耗、節點設計簡單、功能強等特點[8]。CC2530有16個信道可供選擇,完美支持z-stack 2007Pro協議棧,具有多種模式選擇,完全符合該系統需求。
2.2 傳感器的選擇
2.2.1 溫濕度傳感器 本系統選用一款含有已校準數字信號輸出的溫濕度復合傳感器DHT11。DHT11傳感器包括1個電阻式感濕元件和1個NTC測溫元件,并與1個高性能8位單片機相連接。因此,該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高、體積超小、功耗極低[9]、信號傳輸距離可達20 m以上等優點,使其成為各類應用甚至最為苛刻的應用場合的最佳選擇。
2.2.2 光敏電阻 本系統選用的光敏電阻為5506光敏電阻。該電阻是一種由半導體材料制成的電阻,其導電率隨著光照度的變化而變化(光線強阻值變弱,光線弱阻值變強)。5506光敏電阻具有反應速度快、體積小、靈敏度高、可靠性好等特點,被廣泛應用于各種光控設備中[10]。
2.2.3 LM393 本系統選用以LM393電壓比較器做成的濕度檢測器來測量土壤濕度。該檢測器表面采用鍍鎳處理,有加寬的感應面積,可以提高導電性能,防止接觸土壤容易生銹的問題,延長使用壽命。該檢測器結構簡單、使用壽命長、靈敏度高,很適合用于本系統中。濕度檢測器的內部結構如圖2所示。
2.3 ZigBee協調器節點的硬件設計
協調器主要負責啟動和配置網絡,這些完成后相當于路由器,協助網絡內的終端節點和PC機相互通信。為方便起見,本系統直接采用PC機對協調器進行供電。協調器和終端節點在硬件上基本相同,只是協調器不需要傳感器節點和繼電器等電路,而終端節點大多時候都會有這些電路模塊。協調器硬件結構如圖3所示。
2.4 ZigBee終端節點的硬件設計
ZigBee技術是一種具有低功耗、低成本、安全可靠、時延短、自動組網能力強等特點的無線通信技術[11]。本系統終端節點由電源模塊、串口電路、CC2530芯片、天線、仿真模塊、鍵盤模塊、環境控制模塊組成,其主要作用是獲得桑園中的各種環境信息。環境信息由上述3種傳感器獲得,并通過ZigBee無線網絡將有效信息發送到協調器中。在終端節點中光敏電阻、溫濕度傳感器、土壤濕度檢測器與CC2530主控芯片的硬件接口分別為P0.5、P0.7、P0.6。另外,ZigBee終端上還連有液晶顯示屏,用于顯示實時的環境信息。本設計使用OLED12864液晶顯示屏,該顯示屏制造工藝簡單、成本低、能耗低、低溫特性好、顯示屏幕更大,而且該顯示屏可以自身發光,有利于使用者在夜間觀察,很適合用于本系統中。此外,在本系統中,每個終端節點均帶有一套環境控制裝置,當終端節點接收到協調器發出的開啟環境控制裝置的命令時,開啟灌溉裝置或光補償裝置。
3 系統軟件設計
系統軟件設計包括ZigBee網絡中終端設備與協調器設備的軟件設計、上位機監控軟件的設計2個部分。本系統軟件是基于TI公司的Z-Stack協議棧開發的。Z-Stack實質上就是一套ZigBee系統程序,是TI公司為自己的開發板量身定做的,提供了符合ZigBee2007協議棧體系結構所要求每層操作相關的各種事件處理函數和1個名為操作系統抽象層OSAL的協議棧調度程序[12]。ZigBee終端和協調器共同的協議棧相同,不同的地方通過#ifdef來選擇編譯。Z-Stack的main()函數做2件事:(1)系統初始化;(2)開始執行輪轉查詢式操作系統。Main()函數在一開始關閉所有中斷,然后進行一系列的硬件初始化,之后調用osal_init_system()函數對操作系統進行初始化。在osal_init_system()函數中最重要的是任務初始化函數osalInitTasks(),在該函數中又進行一系列的任務初始化,最后進行用戶創建的任務初始化SampleAPP_Init(taskID)。在一系列的初始化完成以后,main()函數最后調用osal_start_system()函數執行操作系統,并不再返回。如下程序為main()函數的程序。
int main(void)
{
osal_int_disable(INTS_ALL);//關閉所有中斷
HAL_BOARD_INIT();//初始化系統時鐘
zmain_vdd_check();//檢查芯片電壓是否正常
.......//一系列的硬件初始化
osal_init_system();//操作系統初始化
osal_int_enable(INTS_ALL);//使能全部中斷
InitBoard(OB_READY);//最終板載初始化
zmain_dev_info();//顯示設備信息
#ifdef LCD_SUPPORTED
zmain_lcd_init();
#endif
#ifdef WDT_IN_PM1
WatchDogEnable(WDTIMX);
#endif osal_start_system(); //正式開始執行操作系統,進入后不再返回
return 0;
}
3.1 ZigBee協調器節點的軟件設計
協調器節點是ZigBee網絡的第1個開始的設備,或者是1個ZigBee網絡的啟動或建立設備。協調器工作的主要流程結構如圖4所示。上電之后,首先進行CC2530和協議棧的初始化,然后協調器節點會嘗試建立網絡,并指定該網絡的ID號。建立網絡的2個主要步驟是網絡初始化和節點加入網絡[13]。
網絡初始化首先要確定網絡協調器,協調器節點通過調用NLME_NetworkFormationRequest()函數請求組建1個新網絡并允許自己成為該網絡的協調器,若該節點沒有加入到其他網絡中并且具有協調器功能,則進行下一步信道掃描工作,掃描1個合適的信道并為新網絡配置網絡參數,然后網絡層管理實體通過MLME_START.request原語通知MAC層啟動并運行新網絡,至此,網絡初始化基本完成。
1個節點加入網絡有2種方法:(1)通過使用MAC層關聯進程加入網絡;(2)通過與先前指定父節點連接而加入網絡。本系統的終端節點是通過使用MAC層關聯進程加入網絡的。首先,終端節點通過NLME_NETWORK_DISCOVERY.request原語發起加入網絡的進程,網絡層接收到這個請求后進行信道掃描來搜索周圍是否存在協調器,若周圍有協調器的存在,網絡層管理實體發送1個MLME_ASSOCIATE.request原語到MAC層,地址參數設置為該協調器的地址,嘗試加入網絡。協調器通過MLME_ASSOCIATE.indication原語通知網絡層管理實體1個節點正嘗試加入網絡,如果協調器的地址資源足夠,它就會同意該節點加入網絡并給該節點分配1個16位的短地址,至此終端節點和協調器連接成功并可以相互通信(圖4)。
3.2 ZigBee終端節點的軟件設計
本系統的終端節點包括數據采集、環境控制等2個模塊,環境控制模塊又包括灌溉模塊、光補償模塊等2個部分。終端節點對桑園溫度、濕度、光照度信息實時采集,若是采集到的數據格式正確,終端節點則把數據打包傳送給協調器,協調器處理完數據后產生相應的命令發回給終端節點。為方便采集環境信息的實時查看,每個終端節點都配有OLED顯示屏,上面顯示實時的環境信息和網絡的連接狀態。
土壤濕度處于50%~60%時,桑樹葉片凈光合速率高于其他的濕度范圍,且光量子通量密度在500~2 000 μmol/(m2·s)范圍內,桑樹葉片凈光合速率維持在較高值,且沒有光抑制現象。影響桑樹凈光合速率的主導因子由土壤濕度過渡到光照度,土壤濕度的臨界值為51.17%[3]。桑園光補償過程:在指定時間區域內,桑園光量子通量密度低于600 μmol/(m2·s)時,開啟光補償裝置,光量子通量密度高于1 000 μmol/(m2·s)時,光補償裝置關閉。由于桑樹吸收水分的根系主要分布在地表以下20~40 cm深處,地表灌溉水需要經過較長時間才能滲透到桑樹吸收水分根系的主要分布區,導致灌溉系統產生一定的時滯,所以停止灌溉時不能用簡單的閾值分析來控制灌溉系統。為解決桑園控制環境具有大慣性、非線性和時延且很難建立精確的數學模型的特點[14],本設計采用模糊控制的原理作為灌溉系統的理論基礎。
該模糊控制器為雙輸入單輸出的模糊控制器,其輸入變量為土壤水分的誤差e和誤差變化率ec,輸出變量為灌溉時間長度u。模糊控制系統的操作流程是先將輸入變量模糊化,在此將輸入變量e模糊化結果記為E,將ec模糊化結果記為EC。接著根據E、EC及模糊控制規則R,按模糊推理合成規則計算控制量,再通過清晰化算法將輸出量反模糊,得到精確的控制量u,根據控制量u來判定電磁閥和水泵的開閉時間。模糊控制系統框如圖5所示。
3.3 上位機軟件設計
本設計以Visual studio 2013軟件作為上位機軟件的開發平臺。該上位機軟件可以實時顯示每個節點的溫度、濕度、光照度,并將環境信息以曲線圖的形式顯示出來,所有采集到的環境信息均能存儲到Access中。此外,上位機還可以顯示灌溉系統或光補償系統的開啟時長,并且上位機有按鈕,可以直接在上位機上操作,進行環境控制系統的開啟與關閉。
上位機軟件采用定時器的方式來讀取串口數據,設定timer4的定時器間隔為100 ms,即每100 ms調用1次定時器。在定時器函數中讀取并處理串口數據,使環境數據顯示到相應的textbox空間當中。上位機程序流程如圖6所示。
4 測試結果
測試3個終端節點和1個協調器的桑園環境監控系統,該系統的協調器直接用數據線連接在PC機上,終端節點均勻地分散在桑園中。在給終端上電之前先給協調器上電,上電后協調器D3是長亮的,終端上電后D1閃爍,入網成功后D3常亮,入網成功后按下終端S1鍵開始上傳數據。打開上位機,將波特率改成與協調器程序相對應的波特率并打開串口,設置上位機更新數據的速率,可以監測到桑園的環境信息,圖7為上位機接收到的1號終端數據生成的溫濕度曲線。
5 結論
本研究設計1種基于ZigBee技術的桑園環境監控系統,充分利用ZigBee無線技術的低功耗、低復雜度、可靠性高等優點,結合桑樹生長特性,成功實現對桑園土壤水分和光照度
的控制。現場實際測試結果表明,本系統能很好地采集桑園的溫度、濕度、光照度等環境信息,并將其上傳到上位機中,以便用戶實時查看。根據采集到的環境信息,CC2530芯片通過模糊控制的理論基礎進行分析后,系統能很好地控制灌溉系統和光補償系統,使桑樹能夠處于適合于其生長的環境當中。
參考文獻:
[1]王鈺婷,李瑞雪,夏家鳳,等. 桑樹的經濟價值及其在生態保護中的應用[J]. 中國市場,2017(11):239-240.
[2]吳海平,周金錢. 蠶桑產業的生態價值[J]. 蠶桑通報,2015,46(1):1-4.
[3]耿 悅,楊重法,王 穎. 桑樹光合速率對土壤水分和光照強度的響應[J]. 熱帶生物學報,2015,6(4):403-407.
[4]程 坤,朱 勇,趙劍楠,等. 基于PIC單片機的無線數據傳輸系統設計[J]. 無線電通信技術,2016,42(5):35-37.
[5]余向陽. 無線傳感器網絡研究綜述[J]. 單片機與嵌入式系統應用,2008(8):8-12.
[6]鄧 然,朱 勇,詹 念,等. 基于ZigBee技術的溫濕度數據采集系統設計[J]. 無線電通信技術,2017,43(3):81-84.
[7]余 歡,王運圣,徐識溥,等. 基于ZigBee技術的葡萄溫室環境數據采集系統研究[J]. 上海農業學報,2016,32(1):72-75.
[8]章偉聰,俞新武,李忠成. 基于CC2530及ZigBee協議棧設計無線網絡傳感器節點[J]. 計算機系統應用,2011,20(7):184-187,120.
[9]徐文文. 基于STM32的無線網絡數據采集系統設計及應用[J]. 機電信息,2015(33):130-131.
[10]何乾偉,張 鈺,趙 瑩. 光敏電阻頻率特性測定實驗及分析[J]. 科技創新與應用,2015(24):183.
[11]胡培金,江 挺,趙燕東. 基于zigbee無線網絡的土壤墑情監控系統[J]. 農業工程學報,2011,27(4):230-234.
[12]李建勇,李 洋,劉雪梅. 基于ZigBee的糧庫環境監控系統設計[J]. 電子技術應用,2016,42(1):65-67,71.
[13]郝曉萌. 基于ZigBee的無線糧情監測系統中路由協議的研究[D]. 北京:北京郵電大學,2009.
[14]郭正琴,王一鳴,楊衛中,等. 基于模糊控制的智能灌溉控制系統[J]. 農機化研究,2006(12):103-105,108.