鄭卓然 單承剛 侯艷艷

【摘 要】針對目前大多數無線環境監測系統采用多線制和總線制的連接方式,存在成本較高,施工復雜,可擴展性差,抗干擾能力差,誤報率很高等問題,本系統是一種基于無線傳感器網絡技術的環境監測系統。環境監測系統圍繞Cortex-M3架構的STM32F107處理器,系統可靠性高,實用性強,大大降低了制作成本,性能和價格上有很強的競爭力,有很大的市場潛力。
【關鍵詞】Cortex-M3;無線傳感器;STM32F107;監測系統
0 引言
物聯網技術已經被廣泛應用到醫療,交通,農業,國防等等領域,而且市場規模不斷擴大。它的無線傳輸技術的使用極大提高了人們的生活質量。作為物聯網領域的無線傳輸技術之一,ZigBee技術是一種近距離、低復雜度、低功耗、低速率、低成本的雙向無線通訊技術,Zigebee技術的應用對無線環境監測是革命性的,市場前景很好,同時ZigBee技術極大的提高了環境監控的質量和效率。
1 系統設計
系統實現uC/OS-2操作系統在STM32F107處理器上的移植,基于ZigBee技術構建無線傳感器網絡,實現了環境信息的采集。本系統分為終端節點部分,網關部分,以及移動用戶端和上位機部分。終端節點主要是采集環境因子發送給協調器,協調器將信息發送給網關,網關將監測節點信息整合發送給上位機和移動終
端,移動終端和上位機可以反向控制終端節點。
1.1 網關硬件設計
網關主要由芯片STM32F107擴展而成,網關底板與CC2530核心板配合使用可以提供豐富的硬件支持資源。網關底板集成了JTAG接口、按鍵、LED和LCD、RS232和RS485接口、蜂鳴器、傳感器模塊、電位器、時鐘模塊和外擴存儲模塊等。JTAG接口是連接仿真器下載調試程序的接口。網關硬件結構圖如圖1所示。
圖1 網關硬件結構圖
1.2 ZigBee監測節點硬件設計
圖2 ZigBee監測節點硬件結構圖
ZigBee監測節點采用CC2530單片機,CC2530結合了的RF收發器的優良性能,業界標準的8051CPU,8KBRAM和許多其它強大的功能。外部擴展了溫濕度傳感器,光照傳感器,及火焰傳感器。CC2530單片機通過模擬I2C總線的方式對溫濕度進行采集,采用A/D轉換對光照度進行采集,采用IO檢測對火焰傳感器進行數據采集。ZigBee監測節點硬件結構圖如圖2所示。
2 系統軟件設計
ZigBee監測節點通過四種傳感器采集周圍的信息,將接收的信息傳給協調器,協調器將數據用數組封裝起來,將信息用串口0傳送給網關,網關利用串口中斷的方式接收來自協調器的數據,同時將數據串口發送至上位機,并且網關UC/GUI界面可以顯示節點的環境數據,并可以實現環境異常預警。移動終端可以接入網關獲取節點環境數據,并可反向控制。
2.1 ZigBee監測節點軟件設計
路由器將采集到的數據發送給協調器,協調器接收到數據后將接收到的數據依次封裝到數組,通過串口將封裝好的數據發送給網關,協調器節點主導無線環境網絡建設的整個過程,主要包括系統初始化、網絡的建立、地址的分配和成員的加入、節點設備數據的更新、數據轉發表、設備關聯表等幾個方面,另一方面作為網關和設備節點之間的橋梁,完成網關和設備節點的通信。
2.2 網關的軟件設計
在uC/OS-2操作系統環境下,網關的軟件設計主要體現為四個任務流。四個任務流分別是startup_task任務,touch_task任務,beep_task任務,ZigBee_task任務。startup_task任務為系統啟動任務,包含觸摸屏任務、蜂鳴器任務、ZigBee數據處理任務的創建。觸摸屏任務touch_task包含初始化GUI界面,每10ms刷新界面顯示功能。蜂鳴器任務beep_task實現ZigBee節點報警功能。ZigBee數據處理任務ZigBee_task將申請UART4中斷產生的節點數據消息郵箱,將數據拆分,在GUI界面上顯示出來。
2.3 上位機軟件設計
上位機軟件由VB程序語言設計,能夠實時顯示溫度,濕度,光照,火焰數據,同時溫度、光照度數據超過設定數值,上位機能夠報警,并能反向控制節點預警。
3 實驗現象
在液晶屏上有三個NO號分別代表三個節點,第一列是溫度顯示框,當溫度大于25°時第一列文本框里的數字會變紅而且發出蜂鳴聲,小于25°轟鳴聲消失。第二列是光照顯示框,數值越大光照強度越高。第三列是火焰顯示框,當檢測到火焰時數值變成1,文本數值變成紅色,實現火災報警。第四列是濕度文本框,數值越高反映環境濕度越高。最下端三個Beep按鈕,分別控制三個節點,點擊相應的Beep按鈕對應的節點會發出報警聲。
在上位機界面的監測節點顯示文本框現象與網關實驗圖一致,在發送區如果輸入1點擊節點報警按鈕,對應1號的終端節點會發出報警聲。輸入2或者3,對應的節點會發出報警聲。溫度如果大于25°則溫度報警提示旁的圖片會變紅,小于25°就恢復原狀。
4 小結
本文介紹的是采用無線傳感器網絡技術(ZigBee)實現數據的采集與控制。其中監測節點實現對環境溫度、光照度、火焰和濕度的數據的采集,將接收的信息傳給協調器,協調器將數據用數組封裝起來,將信息用串口COM0傳送給網關,網關利用中斷的方式接受協調器發送信息整合,在液晶屏上顯示,同時將信息利用串口2傳給上位機,在上位機上顯示,上位機也可以反控監測節點,最后在液晶屏上顯示出4種監測因子的數據。
【參考文獻】
[1]徐君麗,劉冀偉,王志良.基于無線網絡的智能監控系統設計與實現[J].微計算機信息,2005(21)6.
[2]夷文玉,陳維.無線環境遠程監控系統[J].現代電子技術,2010,33(09):75-77.
[3]崔然,馬旭東,彭呂海.基于無線傳感技術的樓宇環境監測系統設計[J].現代電子技術,2010,33(07):61-63,66.
[4]孫利民,李建中,陳渝,等.無線傳感器網絡[M].清華大學出版社,2005年5月第1版.
[5]蒙博宇.STM32自學筆記[M].北京:北京航空航天大學出版社,2014.2.
[6]任哲.嵌入式實時操作系統μC/OS-II原理及應用[M].北京:北京航空航天大學出版社,2009.10.
[責任編輯:王楠]