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