葉琪琳,盧愛紅,馮蓉珍
(蘇州經貿職業技術學院,蘇州215009)
傳統農業的信息采集儀器和儀表需要專業技術人員操作,設備購置、安裝、使用、維護和管理成本高,信息處理數理統計方法復雜,效率低,自動控制措施匱乏或應用成本高?,F代農業大力發展智慧農業,以農業物聯網為載體,依托部署在農業生產現場的各種傳感節點感知數據,利用無線通信網絡感知農業生產環境的現場數據,在主控制器端根據采集的實時數據自動進行預警、分析和決策,為農業生產提供精準化種植、可視化管理、智能化決策。智慧農業的典型應用是智慧農田管理系統,系統需要對動植物生命體本質感知,對農業生產環境(空氣、土壤、水質等)在線監測,對突發事件的自動處理能力,和對基于農業生產環境信息的農業裝備的調度能力等。智慧農田管理系統的傳感節點數量龐大,人工成本太大,可利用ZigBee傳感網絡的優勢,在系統前端采集數據,再通過ARM主控制器收集各個傳感節點的數據,并做出統計分析和處理。ZigBee無線傳感網絡因其自組網的穩定性、功耗低、數據速率低等特點,適用于流量要求不高的傳感網絡,在智慧農田管理系統的前端采集部分取得了較大的市場應用。ARM主控制器的CPU處理能力強,芯片接口豐富,能夠適應各種形式接口傳入的傳感網絡數據,并能夠進行復雜的存儲、分析、判斷、決策的功能。選用ARM主控制器和ZigBee網絡能夠搭建功能完善的智慧農田管理系統。智慧農業的發展,使得每個農場都會像使用肥料和水一樣使用實時傳感數據來提高農場的經濟效益,保證農業生產的可持續發展。
智能農田管理系統由ARM主控制器和ZigBee無線傳感網兩部分組成。ARM主控制器選用Cortex-M3芯片,從串口接收ZigBee協調器發送過來的傳感器網絡的數據,數據傳輸依據自定義的ZigBee應用層數據傳輸協議,采集的數據在LCD顯示屏上實時顯示和更新。通過在Cortex-M3芯片上移植uCOS-II實時操作系統,實現多任務的調度管理和任務之間的通信管理,以實現復雜的分析、存儲、判斷和做出實時決策以及上報的多任務功能。ZigBee無線傳感網絡的各個節點選用TI公司推出的CC2530芯片,CC2530芯片集成射頻收發模塊,能夠完成ZigBee無線電波的收發工作,CC2530芯片同時集成51單片機,能夠提供比較簡單的I/O和串口等外設接口,方便接入各種類型的傳感器。在CC2530芯片上加載Z-Stack協議棧,利用Zig-Bee協議棧的自組網的功能,實現穩定的短距離無線通信傳感網絡。
系統設計框圖如圖1所示。

圖1系統框圖
系統的硬件由兩部分組成,一部分是ARM主控制器的設計,另一部分是ZigBee傳感網絡的設計。ARM主控制器選用基于Cortex-M3核的STM32F103芯片,芯片的UART0用于程序的下載和調試,UART5與Zig-Bee網絡的協調器開發板的串口相連。LCD液晶顯示屏采用SPI接口與ARM芯片相連,LCD顯示屏是2.2寸的液晶模塊,分辨率為176×220,模塊可接收3.3V電源輸入。LCD液晶模塊的11pin的硬件連接方法是液晶模塊能夠正常驅動的關鍵,具體定義為:CLK是串行SPI時鐘信號,SDI是串行SPI數據輸入信號,RS是命令(RS=0)/參數(RS=1)選擇,RST 是液晶復位信號,CS是液晶片選信號。ZigBee傳感網絡中協調器、路由器和終端節點的部署,可以根據實際的需求來調整,Zig-Bee網絡中協調器只有一個,且與ARM直接連接,Zig-Bee協調器節點作為ZigBee網絡的核心,能夠收集ZigBee網絡中各個路由器和終端節點的網絡數據和傳感器數據,并能夠將ARM開發板下達的控制指令發送到指定的節點。路由器和終端節點組網時的區別是由ZigBee協議棧的軟件配置的控制的。ZigBee傳感網絡各個節點的傳感器接入的設計,與智慧農田的需求緊密相關。智慧農田的系統接入農田的四種監測值傳感器:土壤墑情監測包括土壤溫度、土壤濕度、光照度和土壤PH值;蟲情監測包括田間蟲情和無公害誘捕殺蟲;孢子監測包括病菌孢子連續動態監測;氣象環境監測包括空氣溫度、空氣濕度、紫外線強度、太陽總輻射、風速、風向、風力、降雨等。智慧農田的聯動控制系統主要有灌溉、風機、卷簾、增溫和水閥等控制設備。智慧農田系統基于精準的農業傳感器進行實時監測,利用ARM主控制器進行多層次分析,做出決策控制聯動系統,提升農業化生產的智能化水平。
智能農田系統的傳感器節點繁多,每個傳感節點都是基于Z-Stack協議棧的OSAL操作系統設計的,通過定義ZigBee無線網絡通信協議,來管理多個傳感器與ZigBee協調器和ARM開發板的通信方式。ZigBee無線網絡通信協議管理了三種命令格式:①周期消息:每個傳感節點都會周期性的發送數據到協調器,協調器對收到的周期性的信息加以處理,無需回復,只需要確認連接正常。②測量類消息:傳感器節點發送測量消息到協調器。③控制類消息:協調器發送控制類消息到傳感器節點,需要在指定時間內收到相應節點的回復,超時沒有回復,協調器需要重發控制類消息。ZigBee應用層用戶自定義的通信協議的數據包格式,包括測量類消息和控制類消息,分別如表1、表2所示。

表1測量類消息數據包格式

表2控制類消息數據包格式
ARM開發板作為智慧農田管理系統的網關,在接收到協調器發送的周期性消息之后,網關通過接收的消息可以確定當前系統中有哪些傳感器節點,在LCD顯示屏上灰化顯示相應各個節點的圖標,以表明各個傳感器節點還未被激活。當網關進一步收到傳感器節點的周期消息或者測量消息之后,節點圖標會用彩色高亮顯示,表明“傳感器模塊開啟”。傳感器模塊啟動后,如果在周期時間內沒有再進一步收到該節點的周期消息,網關上的相應圖標繼續變為灰色,表明傳感器模塊的心跳已停止,需要等待進一步的激活。
ARM開發板的軟件設計以uCOS-II實時操作系統的移植為基礎,uCOS-II實時操作系統是一個占先式的多任務操作系統。將uCOS-II的操作系統的核心代碼加入到系統工程之后,修改與體系架構Cortex-M3相關的,以及與單板配置相關的源碼,再根據實際需求編寫應用層的多任務源碼。在完成uCOS-II內核初始化、LCD初始化、BSP初始化、開啟系統時鐘的基礎上,開始創建多任務,任務設計完成后,啟動uCOS-II操作系統。操作系統開啟多任務工作模式,根據ZigBee自定義的應用層協議將傳感網絡各個節點的數據接收之后,在ARM開發板本地的SD卡保存下來,同時更新到LCD顯示屏上實時顯示。
選用8個ZigBee節點,8個傳感器,1個ZigBee節點作為協調器和1個ARM開發板作為本系統的實驗設備,ZigBee協調器與STM32開發板通過串口直接相連,ZigBee的路由器和終端節點分別燒錄不同的傳感器節點代碼。ARM開發板燒錄uCOS-II操作系統可執行文件,操作系統的應用層設計了界面程序。
系統上電時,首先啟動ZigBee協調器,以便創建一個空的ZigBee網絡,再啟動ZigBee路由器和終端節點,各個節點自動加入協調器創建的網絡號一致的ZigBee網絡,形成樹狀結構。對ARM開發板上電,uCOS-II操作系統和界面程序正常啟動,操作系統接收ZigBee協調器發送過來的周期消息,解析出當前Zig-Bee網絡中各個節點的拓撲結構圖,在顯示屏上用圖標實時顯示出來。ARM開發板利用操作系統中的MySQL數據庫存儲傳感器的數據,方便操作系統的各個任務隨時讀取傳感器的最新數據。ARM開發板的界面程序中設置定時更新功能,定時獲取數據庫中各個節點的最新傳感器數據來實時顯示,ARM開發板的串口在后臺接收到協調器發送過來的消息之后,實時保存到MySQL數據庫。ARM開發板的應用程序可根據各節點的傳感器數據,進行統計分析,若發現不在正常工作范圍的傳感器節點,可以及時發出警告,并自動啟動聯動控制程序,通過控制類消息自動控制ZigBee網絡中的聯動控制節點。
為了適應現代農業的智能化、精細化管理的要求,本系統提供了智慧農田管理系統的設計方案,選用近距離通信的ZigBee傳感器網絡和STM32開發板組合設計了完整的系統。ZigBee網絡的低速率和穩定性能很好地適應農業現場采集數據的特點,ARM主控制器的數據處理能力足夠滿足當前系統的采集、統計和分析的需求,芯片豐富的接口也能為系統的嵌入式開發提供較大的靈活性。系統的軟件設計重點解決了Zig-Bee網絡應用層自定義的通信協議的設計,ARM開發板的uCOS-II操作系統多任務的設計,以及可視化界面程序的設計。系統調試的結果顯示,功能穩定。本系統為智慧農業的智能化發展的解決方案提供了參考。