龍凱思+黃天星+韋世勇

【摘 要】缺水是農村地區的一個普遍現象,為了解決農村的缺水問題,保證農村生活的質量,為此研究農村水柜無線監控系統是很有意義的。本文研究的農村水柜無線監控系統主要分成四大模塊:以ZIGBEE為核心的無線傳輸模塊、以STM32為核心的控制模塊、以WINFORM為上位機監控中心模塊以及傳感器模塊。通過傳感器采集水柜的數據,利用ZIGBEE網絡把數據傳輸到STM32,STM32對信息進行處理以及顯示后再把數據通過串口發送給上位機。用戶也可利用上位機檢測和控制水柜的狀態。
【關鍵詞】ZIGBEE;STM32;農村水柜;無線監控
【Abstract】Water shortage is a common phenomenon in rural areas, in order to solve the problem,make sure the quality of life.Therefore,the research of the wireless monitoring system is very meaningful.In this paper,we have four modules:ZigBee module,STM32 module,PC monitor and sensor module.The sensor collect the data,then using ZigBee network transmit to STM32,STM32 display the data and through the serial port send to host computer.User can use computer detect and control the state of the water tank.
【Key words】ZIGBEE; STM32; Water tank; Wireless monitor
0 前言
近年來,隨著信息化社會的到來,國家對農村的現代化建設越來越重視。在用水方面,經常性的缺水是農村用水方面所面臨最大的問題。為了解決農村的缺水問題,提高農村生活的質量,為此對農村水柜無線監控系統的研究是很有意義的。
本文主要研究以ZIGBEE為無線傳輸核心的多節點水柜無線監控系統,STM32和上位機組成的人機交互系統。期間解決ZIGBEE無線數據的發送與接收問題,ZIGBEE與STM32的串口傳輸問題,STM32與上位機的串口傳輸問題。實現上位機、STM32遠程控制水柜節點。
1 系統設計
整個系統設計主要由四大功能模塊組成(圖1):
傳感器模塊包括溫度和壓力傳感器,溫度傳感器用于采集水柜液體的溫度,壓力傳感器用于采集水柜水位的狀態。
ZIGBEE無線傳輸模塊主要包括ZIGBEE協調器和ZIGBEE節點。協調器負責創建網絡、收發節點數據包、串口發送數據至STM32。節點負責采集數據、發送數據、接收協調器命令。
STM32模塊作為系統的主控模塊,負責顯示和控制節點信息,并把數據上傳至協調器。
上位機監控中心模塊負責處理、顯示各個節點的信息。
2 系統硬件設計
系統硬件設計主要由3個部分組成。
2.1 STM32主控模塊
采用F103系列的RCT6作為微型處理器,RCT6有256KB的Flash和32KB的RAM。相對于RBT6增加了一個16位普通IC/OC/PWM和2個16位基本IC/OC/PWM,1個STI以及2個USART,符合本次設計需求。
2.2 ZIGBEE無線傳輸模塊
ZIGBEE無線傳輸技術是一種距離短、速率低的無線網絡技術。ZIGBEE模塊采用的是CC2530微型處理芯片。CC2530集成了先進的RF收發器,工作頻率在2400MHz~2483.6MHz之間,芯片內置中斷控制器,為每個中斷源提供服務。
2.3 LCD12864液晶顯示屏
LCD12864顯示模塊是漢字圖形型液晶顯示模塊,芯片內置8192個漢字,液晶屏的分辨率為128*64,最多可以顯示32個16*16點陣大小的中文漢字,也可顯示圖形。提供串行和并行兩種連接方式與微型處理器連接。
3 系統軟件設計
本系統的軟件設計部分主要由3大部分組成。
3.1 ZIGBEE協議棧軟件設計
協調器主要工作是創建ZIGBEE網絡、接收不同節點發送來的數據包、串口發送數據給STM32以及串口接收STM32的指令并且控制節點。創建ZIGBEE網絡前修改好信道號和PANID號,只有節點的信道和PANID與協調器相同時才會加入協調器創建的網絡。為了防止協調器掉電重啟后PANID自增一的問題,筆者在宏定義中加入了NV_RESTORE=1的預編譯選項。協調器還需判斷簇ID區分不同節點。終端節點主要是采集傳感器的信息封裝好后發送給協調器以及接收協調器的控制指令。路由器節點與終端節點基本功能一致,就是多了路由轉發的功能,當終端節點連接不到協調器時可以先發數據給路由器,再由路由器轉發給協調器。
3.2 STM32軟件設計
STM32軟件設計包括按鍵驅動、液晶屏顯示驅動、串口數據傳輸等。在進行串口傳輸時,數據幀統一采用字符“$”作為幀頭,幀頭緊接著第二個字符是地址符、數據信息,一直等到回車換行符出現,就表示一個完整的數據幀接收完成。為了保證傳輸的正確性、穩定性,傳輸的過程中還會對接收的數據域字符數進行統計判斷,出錯直接丟棄重新接收。最后把數據顯示到液晶屏上。
3.3 上位機軟件設計
上位機軟件設計使用的是.NET平臺下的WINFORM編寫出的一個窗體程序,使用戶能在電腦直觀地觀察節點信息,而且可以通過簡單的操作就可以控制節點抽水機工作。串口接收STM32的數據時也是根據幀頭、幀尾以及地址符判斷是哪個節點的信息,將信息進行數據處理分析后動態顯示在窗體上。
4 結論
本系統以ZIGBEE作為無線傳輸模塊,利用ZIGBEE的無線通信網絡對水柜水位信息、水柜水溫信息進行實時傳送。系統的實時性強、安全性高,并且可連接的設備極多,用戶可根據需要添加其它功能,實用性和擴展性強。以上位機軟件作為中心控制部分,降低了系統的操作難度。總體系統設計規范,可靠性高,運行穩定。
【參考文獻】
[1]廖義奎.Cortex-M3之STM32嵌入式系統設計[M].北京:中國電力出版社,2012.
[2]周立功,等.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出版社,2005,1.
[3]王小強.ZigBee無線傳感器網絡設計與實現[M].北京:化學工業出版社,2012,6.
[4]林小茶.C語言程序設計[M].北京:中國鐵道出版社,2010,12.
[責任編輯:湯靜]