蘇靜池 韓改寧 李永鋒 張潔 石妍



摘 要:為了實現水資源合理利用,發展節水供水,改善生態環境,設計一種基于無線傳感器網絡的智能灌溉系統。該設計以無線傳感器網絡為基礎,采用基于CortexTM-A8體系結構的S5PV210處理器芯片作為應用網關的核心處理器,使用ZigBee模塊進行無線短距離通信,并且利用傳感器獲取土壤信息,控制層每個節點都是使用基于Cortex-M3t體系的STM32F103RBT6單片機作為主控CPU,最終控制水閥開關以及噴水時間,實現農業中的智能控制。實驗表明,該設計達到了預期目標。
關鍵詞:CortexTM-A8;STM32;ZigBee;智能灌溉;無線傳感器;網關
中圖分類號:TP39文獻標識碼:A文章編號:2095-1302(2020)10-00-05
0 引 言
水資源已成為21世紀可持續發展的一個關鍵問題。中國水資源已處于相當匱乏的狀態,并且全國大量的廢、污水未經處理或處理未達標就直接排放造成了嚴重的水污染,少量的河流水質低于農田供水標準。水是農業的命脈,是生態環境的控制性要素,同時又是戰略性的經濟資源[1]。為了實現水資源合理利用,發展節水供水,改善生態環境,采用智能灌溉系統抽取地下水灌溉農田,是我國目前物聯網農業的關鍵,也是實現可持續發展的基礎。運用先進的物聯網技術、計算機和控制技術可以有效地提高農業灌溉用水效率和生產效率。利用智能灌溉系統,使傳統的灌溉模式得以突破和發展,是當今世界供水、節水技術發展的總趨勢。智能灌溉系統在一些發達國家起步也較早應用較廣泛,技術發展相對成熟,特別是以色列、美國和加拿大等國。
1 系統總體設計方案
本文設計的基于無線傳感器網絡的智能灌溉系統功能強大,最主要的是價格低廉,非常適用于普通農戶和城市基礎設施。本系統通過傳感器獲取田地的環境參數信息并且通過ZigBee傳送給處理器(CortexTM-A8),處理器做出相應的信息處理并將處理完成后的信息再次通過ZigBee傳送給主控CPU(Cortex-M3t),CPU發出相應的指令控制水閥(電機)的運轉。系統架構如圖1所示。
2 系統硬件設計
系統硬件整體可分為4個模塊,分別是數據處理模塊(嵌入式處理器系統)、數據傳輸模塊(無線傳感網絡ZigBee或者WiFi)、數據采集模塊(末端傳感器)和被控模塊(控制水閥及營養液輸送)。
數據處理模塊:采用基于CortexTM-A8體系結構的Samsung公司S5PV210處理器芯片做為應用網關的核心處理器。
數據傳輸模塊:采用ZigBee。
傳感器模塊:采用溫濕度傳感器AM2321。
被控模塊:每個節點都使用基于Cortex-M3體系的STM32F103RBT6單片機作為主控CPU。另外還配備有電機驅動。
2.1 數據處理模塊
數據處理時處理器采用基于CortexTM-A8體系結構的S5PV210處理器芯片作為應用網關的核心處理器。于此同時應用網關配備有種類豐富的外圍接口,可以通過多種方式獲取傳感器數據,并進行本地處理,如果有需要,也可通過WiFi或者3G的方式將數據上傳至更上層的網絡服務器或者云端服務器。
S5PV210是一個16/32位RISC微處理器,是Samsung公司為移動電話和通用產品設計的低成本,低功耗,高性能的應用處理器方案。S5PV210具有高質量的外部存儲器接口,用來適應高端通信服務所要求的高存儲器帶寬。存儲器系統具有兩個外部存儲器接口,其中DRAM接口可配置成支持LPDDR1(MobileDDR),DDR2和LPDDR2內存IC顆粒;而FLASH/ROM 接口可支持NOR FLASH,NAND FLASH,OneNAND,RAM和ROM類型的外設。S5PV210基于ARMCortex-A8核,包括32 KB指令和32 KB數據Caches,512 KB L2Cache,MMU以支持虛擬內存管理。S5PV210的工業標準特征支持多種工業標準操作系統[2]。
2.2 數據傳輸模塊
ZigBee無線通信方式的核心是圍繞美國TI公司提供的CC2530 型單片機(硬件)以及滿足 ZigBee 2006標準的Z-Stack協議棧實現。
2.2.1 處理器CC2530
CC2530為美國TI公司推出的支持ZigBee協議的單片機,屬于ZigBee開發時的硬件資源。CC2530-EB核心板主要包括CC2530單片機、天線接口、晶振以及I/O擴展接口。CC2530-EB核心板原理如圖2所示。
CC2530的FLASH容量具有選擇性,并且CC2530片上系統解決方案包括若干設備,表1提供了每個設備不同外設,內存大小等的概述和信息。
CC2530中的存儲器可映射到代碼和外部數據的存儲器空間。這樣除了保證程序代碼和常量的正確性,還可以允許非易失性存儲器保存應用程序必要的數據,這樣保證了數據在設備重啟后的重復利用性。并且在開發人員使用此功能時,也可以用來保存具體的網絡參數,當系統再次上電后此保存的網絡參數可以直接加入網絡中。
2.2.2 協議棧
Z-Stack是ZigBee的協議棧,并且ZigBee無線網絡的實現,是建立在此協議棧基礎上的。協議棧定義了通信軟件和硬件在不同級如何協同工作,并且通信雙方需要遵循協議棧的標準進行正常的數據收發。協議棧采用分層的的結構使各層相對對立,每一層都提供特定的服務,使開發者可以更高效率地進行開發。Z-Stack具體分為兩部分:IEEE 802.15.4定義的物理層和MAC層技術規范;網絡層,安全層和應用層技術規范。Z-Stack協議棧就是將各層定義的協議都集合在一起,以函數的形式實現,并給用戶提供一些API,供用戶學習使用。使用Z-Stack協議棧進行開發步驟如下:
(1)用戶對ZigBee無線網絡的應用層程序開發設計,采用C語言實現;
(2)在ZigBee網絡中采集數據時,只需要在應用層加入讀取傳感器的函數即可完成ZigBee網絡中的數據采集;
(3)為了提高系統的節能性,可以定時喚醒ZigBee的終端節點,然后自動完成傳感器數據采集,并將采集到的數據發送給ZigBee協調器。
此模塊采用廣州飛瑞敖電子科技有限公司生產的IOT-L02-06型物聯網開發應用實驗設備,如圖3所示。
2.3 傳感器模塊
在傳感器模塊中使用溫濕度傳感器AM2321。AM2321數字溫濕度傳感器是含有己校準數字信號輸出的溫濕度復合型傳感器。該傳感器包括一個電容式感濕元件和一個高精度集成測溫元件,并與一個高性能微處理器即8位單片機相連接。AM2321傳感器進行過極為精確的濕度校驗,無需對數字進行二次計算,也無需對濕度進行溫度補償,便可得到準確的數據[3]。因其本身具有超小的體積、極低的功耗,信號傳輸距離可達20 m以上,成為開發者的首選。產品為3引線(單總線接口)連接方便。AM2321的響應時間約2 s,相比一般溫濕度傳感器的響應時間更快[5]。
2.3.1 AM2321原理圖及引腳參數
溫濕度傳感器的電路原理圖如圖4所示,其SDA口連接到的STM32的PA4引腳上進行單總線通信,R11為上拉電阻。各PIN的分配見表2所列。
2.3.2 AM2321單總線通信協議
SDA可用于微處理器與AM2321溫濕度傳感器之間的通信和同步,并且采用單總線通信。單總線即只有一根數據線,系統中的數據和控制信號均由數據線完成。單總線通信格式一次傳輸即可傳送40位數據,并且采用高位先出的規則,具體如圖5所示。
單總線格式定義如下:當起始信號發出時,微處理器把數據總線(SDA)拉低一段時間(至少800 μs),通知傳感器準備數據。此時響應信號發出,傳感器把數據總線(SDA)拉低80 μs,再拉高80 μs以響應主機的起始信號。在收到主機起始信號后,傳感器一次性從數據總線(SDA)串出40位數據,高位先出。其中溫濕度的分辨率都為16 bit,并且高位在前;傳感器傳出的溫濕度值是實際溫濕度值的10倍[4]。
總線數據說明[5]:接收到的40位數據見表3所列。
濕度及溫度的值計算見表4所列。
2.3.3 外部設備讀取溫濕度流程
外部設備讀取溫濕度流程如圖6所示。
2.4 控制模塊
控制模塊CPU采用基于Cortex-M3內核的高性能32位處理器—STM32,它的特點是,功耗低,時鐘頻率高,中斷延遲短。STM32微處理器在結構上可以分為4個部分,這4個部分包括處理器的內核,存儲單元,總線接口以及跟蹤調試單元[4]。
STM32系列的芯片眾多,可供選擇的型號多在使用時可以根據自己系統的需求來選擇自己所需要的芯片型號。STM32的硬件資源豐富而且又具有低功耗的功能,是開發項目的首要之選,本次項目根據實驗需求選擇的是STM32F103RBT6。
2.5 被控模塊
被控模塊應用L298電機驅動芯片[5-6]。該芯片具有兩個TTL/CMOS兼容電平的輸入,并且具有良好的抗干擾性能;可用I/O口提供控制信號,支持5 V和3.3 V邏輯電平,而且一塊L298芯片可以驅動2個減速電機;電路簡單,易用,穩定,具有較高的性價比[5]。
2.6 總體電源模塊
STM32電源電壓需要3.3 V的電源供電,還需要5 V電壓給ZigBee模塊及S5PV210處理器供電,使用AMS1117芯片將5 V電壓轉化成3.3 V供給STM32以及其他的芯片使用,如圖7所示。
3 系統軟件設計
系統軟件總體分為3個部分,分別是無線ZigBee網絡連接,水閥控制程序與Qt顯示界面。系統軟件主要提供了用戶端的顯示界面,水閥的自動控制與數據的傳輸控制。
3.1 無線ZigBee網絡連接
ZigBee基于IEEE 802.15.4協議,是一種功耗低、短距離的通信技術。系統控制器與節點之間的通信通過ZigBee無線網絡實現。
ZigBee節點有3種類型,分別是路由器、協調器和終端設備。ZigBee的網絡形式有樹狀,星狀和網狀類型。ZigBee模塊無線通信流程如圖8所示。
3.2 水閥控制程序的設計
管道中水流的大小通過水閥控制,即通過電機的啟動與否對水閥進行控制。電機控制命令需使用傳感器節點采集到的數據,將判斷是否進行調節的程序寫入處理器,通過處理器判斷,即超過參考值停止放水或者低于參考值則放水,之后由ZigBee模塊發送到主控CPU,主控CPU接收到信息(是否啟動電機進行控制)后發出指令,控制電機實現水閥的開關,實現智能調節,也可通過后臺發出指令,人工控制水閥開關。
3.3 顯示界面設計
本界面主要實現的功能有:當彈出對話框時,在對話框中填寫用戶名和密碼,并按下登錄按鈕;如用戶名和密碼正確則進入主窗口,假設有錯,則彈出警告對話框。具體設計效果如圖9~圖12所示。
4 測試結果及分析
為了驗證系統的性能,本文進行了如下實驗:實驗中將1個溫濕度傳感器節點與PC機相連,并放置在選取的土壤中,同時將傳感器節點與步進電機節點進行ZigBee組網,人工測試后進行系統測試。從測試結果來看,數據傳輸穩定,顯示界面正常顯示,系統可正常運轉,表明此系統具有極高的準確性和可靠性。
5 結 語
本文結合最新的ZigBee技術,設計了一款智能化灌溉系統。系統通過布置AM2321傳感器,對土壤中的溫度及濕度進行檢測,檢測的數據經CC2530處理后通過無線網絡傳送給主控CPU,利用Cortex-M3對接收到的數據進行保存及處理。管理員可通過系統處理結果對土壤環境進行針對性的處理。系統具有檢測精度高,誤差小及可靠性高的優點,適用于農業園林等環境,具有較大的推廣價值和廣闊的市場前景。
參考文獻
[1]李時輝.基于無線傳感器網絡的溫室智能監測系統研究[J].江西理工大學學報,2013,33(1):70-73.
[2]王濤,夏路易.基于ZigBee2007的無線網絡控制系統的構建[J].機械管理開發,2011,25(4):11-12.
[3]佚名.溫濕度數字傳感器AM2302.pdf[EB/OL].[2017-10-19]. http://www.Datasheet4U.com.
[4]何友國,袁朝春.基于SIM908的冷藏車箱內溫濕度監測系統設計[J].制造業自動化,2015,37(22):138-142.
[5]朱武,涂祥存,操瑞發,等.基于L6506/L298芯片細分步進電機驅動系統設計[J].電氣自動化,2011,33(1):10-12.
[6]夏葉媚,徐松,吳晨彤,等.基于STM32單片機的直流電機調速電源設計[J].河南科技,2017,41(17):73-74.
[7]劉海龍,宿宏毅,郭浩.基于物聯網關聯的光照監控與節水灌溉系統設計[J].現代電子技術,2016,39(20):149-153.
[8]張育斌,魏正英,張磊,等.非充分灌溉下精量灌溉決策方法研究[J].現代電子技術,2017,40(1):115-118.
[9]毛威,來智勇,耿楠.基于WSN的溫室智能灌溉系統軟件設計[J].現代電子技術,2017,40(16):5-9.
[10]呂坤,吳瓊,閆偉.基于ARM的物聯網智能灌溉系統的研究[J].物聯網技術,2019,9(11):57-58.