龍凱思+黃天星+韋世勇

【摘 要】缺水是農(nóng)村地區(qū)的一個普遍現(xiàn)象,為了解決農(nóng)村的缺水問題,保證農(nóng)村生活的質(zhì)量,為此研究農(nóng)村水柜無線監(jiān)控系統(tǒng)是很有意義的。本文研究的農(nóng)村水柜無線監(jiān)控系統(tǒng)主要分成四大模塊:以ZIGBEE為核心的無線傳輸模塊、以STM32為核心的控制模塊、以WINFORM為上位機監(jiān)控中心模塊以及傳感器模塊。通過傳感器采集水柜的數(shù)據(jù),利用ZIGBEE網(wǎng)絡(luò)把數(shù)據(jù)傳輸?shù)絊TM32,STM32對信息進行處理以及顯示后再把數(shù)據(jù)通過串口發(fā)送給上位機。用戶也可利用上位機檢測和控制水柜的狀態(tài)。
【關(guān)鍵詞】ZIGBEE;STM32;農(nóng)村水柜;無線監(jiān)控
【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 前言
近年來,隨著信息化社會的到來,國家對農(nóng)村的現(xiàn)代化建設(shè)越來越重視。在用水方面,經(jīng)常性的缺水是農(nóng)村用水方面所面臨最大的問題。為了解決農(nóng)村的缺水問題,提高農(nóng)村生活的質(zhì)量,為此對農(nóng)村水柜無線監(jiān)控系統(tǒng)的研究是很有意義的。
本文主要研究以ZIGBEE為無線傳輸核心的多節(jié)點水柜無線監(jiān)控系統(tǒng),STM32和上位機組成的人機交互系統(tǒng)。期間解決ZIGBEE無線數(shù)據(jù)的發(fā)送與接收問題,ZIGBEE與STM32的串口傳輸問題,STM32與上位機的串口傳輸問題。實現(xiàn)上位機、STM32遠程控制水柜節(jié)點。
1 系統(tǒng)設(shè)計
整個系統(tǒng)設(shè)計主要由四大功能模塊組成(圖1):
傳感器模塊包括溫度和壓力傳感器,溫度傳感器用于采集水柜液體的溫度,壓力傳感器用于采集水柜水位的狀態(tài)。
ZIGBEE無線傳輸模塊主要包括ZIGBEE協(xié)調(diào)器和ZIGBEE節(jié)點。協(xié)調(diào)器負責(zé)創(chuàng)建網(wǎng)絡(luò)、收發(fā)節(jié)點數(shù)據(jù)包、串口發(fā)送數(shù)據(jù)至STM32。節(jié)點負責(zé)采集數(shù)據(jù)、發(fā)送數(shù)據(jù)、接收協(xié)調(diào)器命令。
STM32模塊作為系統(tǒng)的主控模塊,負責(zé)顯示和控制節(jié)點信息,并把數(shù)據(jù)上傳至協(xié)調(diào)器。
上位機監(jiān)控中心模塊負責(zé)處理、顯示各個節(jié)點的信息。
2 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件設(shè)計主要由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,符合本次設(shè)計需求。
2.2 ZIGBEE無線傳輸模塊
ZIGBEE無線傳輸技術(shù)是一種距離短、速率低的無線網(wǎng)絡(luò)技術(shù)。ZIGBEE模塊采用的是CC2530微型處理芯片。CC2530集成了先進的RF收發(fā)器,工作頻率在2400MHz~2483.6MHz之間,芯片內(nèi)置中斷控制器,為每個中斷源提供服務(wù)。
2.3 LCD12864液晶顯示屏
LCD12864顯示模塊是漢字圖形型液晶顯示模塊,芯片內(nèi)置8192個漢字,液晶屏的分辨率為128*64,最多可以顯示32個16*16點陣大小的中文漢字,也可顯示圖形。提供串行和并行兩種連接方式與微型處理器連接。
3 系統(tǒng)軟件設(shè)計
本系統(tǒng)的軟件設(shè)計部分主要由3大部分組成。
3.1 ZIGBEE協(xié)議棧軟件設(shè)計
協(xié)調(diào)器主要工作是創(chuàng)建ZIGBEE網(wǎng)絡(luò)、接收不同節(jié)點發(fā)送來的數(shù)據(jù)包、串口發(fā)送數(shù)據(jù)給STM32以及串口接收STM32的指令并且控制節(jié)點。創(chuàng)建ZIGBEE網(wǎng)絡(luò)前修改好信道號和PANID號,只有節(jié)點的信道和PANID與協(xié)調(diào)器相同時才會加入?yún)f(xié)調(diào)器創(chuàng)建的網(wǎng)絡(luò)。為了防止協(xié)調(diào)器掉電重啟后PANID自增一的問題,筆者在宏定義中加入了NV_RESTORE=1的預(yù)編譯選項。協(xié)調(diào)器還需判斷簇ID區(qū)分不同節(jié)點。終端節(jié)點主要是采集傳感器的信息封裝好后發(fā)送給協(xié)調(diào)器以及接收協(xié)調(diào)器的控制指令。路由器節(jié)點與終端節(jié)點基本功能一致,就是多了路由轉(zhuǎn)發(fā)的功能,當終端節(jié)點連接不到協(xié)調(diào)器時可以先發(fā)數(shù)據(jù)給路由器,再由路由器轉(zhuǎn)發(fā)給協(xié)調(diào)器。
3.2 STM32軟件設(shè)計
STM32軟件設(shè)計包括按鍵驅(qū)動、液晶屏顯示驅(qū)動、串口數(shù)據(jù)傳輸?shù)取T谶M行串口傳輸時,數(shù)據(jù)幀統(tǒng)一采用字符“$”作為幀頭,幀頭緊接著第二個字符是地址符、數(shù)據(jù)信息,一直等到回車換行符出現(xiàn),就表示一個完整的數(shù)據(jù)幀接收完成。為了保證傳輸?shù)恼_性、穩(wěn)定性,傳輸?shù)倪^程中還會對接收的數(shù)據(jù)域字符數(shù)進行統(tǒng)計判斷,出錯直接丟棄重新接收。最后把數(shù)據(jù)顯示到液晶屏上。
3.3 上位機軟件設(shè)計
上位機軟件設(shè)計使用的是.NET平臺下的WINFORM編寫出的一個窗體程序,使用戶能在電腦直觀地觀察節(jié)點信息,而且可以通過簡單的操作就可以控制節(jié)點抽水機工作。串口接收STM32的數(shù)據(jù)時也是根據(jù)幀頭、幀尾以及地址符判斷是哪個節(jié)點的信息,將信息進行數(shù)據(jù)處理分析后動態(tài)顯示在窗體上。
4 結(jié)論
本系統(tǒng)以ZIGBEE作為無線傳輸模塊,利用ZIGBEE的無線通信網(wǎng)絡(luò)對水柜水位信息、水柜水溫信息進行實時傳送。系統(tǒng)的實時性強、安全性高,并且可連接的設(shè)備極多,用戶可根據(jù)需要添加其它功能,實用性和擴展性強。以上位機軟件作為中心控制部分,降低了系統(tǒng)的操作難度。總體系統(tǒng)設(shè)計規(guī)范,可靠性高,運行穩(wěn)定。
【參考文獻】
[1]廖義奎.Cortex-M3之STM32嵌入式系統(tǒng)設(shè)計[M].北京:中國電力出版社,2012.
[2]周立功,等.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2005,1.
[3]王小強.ZigBee無線傳感器網(wǎng)絡(luò)設(shè)計與實現(xiàn)[M].北京:化學(xué)工業(yè)出版社,2012,6.
[4]林小茶.C語言程序設(shè)計[M].北京:中國鐵道出版社,2010,12.
[責(zé)任編輯:湯靜]