基于ZigBee的溫度監(jiān)控系統(tǒng)
3 系統(tǒng)軟件設(shè)計
整個系統(tǒng)的軟件設(shè)計包括數(shù)據(jù)采集、溫度控制、上位機顯示和監(jiān)控三個部分。其中,數(shù)據(jù)采集軟件程序運行在CC2530終端節(jié)點上,主要任務(wù)是對溫度數(shù)據(jù)進行采集和無線轉(zhuǎn)發(fā)。溫度控制軟件程序運行在CC2530協(xié)調(diào)器節(jié)點上,主要任務(wù)是對數(shù)據(jù)的接收和通過上位機對終端節(jié)點發(fā)送控制指令,如采集溫度、加熱等。編程語言均在TI的Z-Stack協(xié)議基礎(chǔ)上運用C語言進行編程。上位機軟件運行在PC機上,以控制節(jié)點工作狀態(tài),并對節(jié)點發(fā)送來的溫度數(shù)據(jù)進行處理和顯示,同時將這些數(shù)據(jù)存儲到服務(wù)器當中,以便為管理者決策提供依據(jù)。
3.1 終端節(jié)點軟件設(shè)計
首先是對終端節(jié)點上電,進行初始化工作,包括對單片機端口初始化、串行數(shù)據(jù)接口初始化、CC2530內(nèi)部存儲器初始化等。其中,CC25 30初始化主要是尋找信道、選擇PANID、選擇源地址等。網(wǎng)絡(luò)建立后,如果收到協(xié)調(diào)器節(jié)點的指令,則開始采集溫度,并將溫度無線發(fā)給協(xié)調(diào)器,否則處于休眠低功耗狀態(tài)。當協(xié)調(diào)器所發(fā)溫度大于環(huán)境溫度時,電熱杯加熱,直至與所設(shè)溫度大致相同為止;當協(xié)調(diào)器所發(fā)溫度小于環(huán)境溫度時,電熱杯不工作。終端節(jié)點軟件的流程圖如3所示。本文引用地址:http://www.ex-cimer.com/article/153719.htm
3.2 協(xié)調(diào)器節(jié)點軟件設(shè)計
協(xié)調(diào)器節(jié)點負責(zé)網(wǎng)絡(luò)的建立,以及等待終端節(jié)點加入網(wǎng)絡(luò)。當終端節(jié)點加入網(wǎng)絡(luò)后,給終端節(jié)點分配網(wǎng)絡(luò)地址。該節(jié)點通過串口接收上位機發(fā)送的指令,并把這些指令以無線方式發(fā)給終端節(jié)點,終端節(jié)點收到指令后,就可執(zhí)行測溫、加熱等任務(wù),并把溫度數(shù)據(jù)反饋給協(xié)調(diào)器,然后通過串口傳給上位機。其協(xié)調(diào)器節(jié)點的軟件流程圖如圖4所示。
評論