<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于ZigBee的溫度監(jiān)控系統(tǒng)

          基于ZigBee的溫度監(jiān)控系統(tǒng)

          作者: 時間:2012-11-21 來源:網(wǎng)絡(luò) 收藏

          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

          c.JPG


          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所示。

          d.JPG



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();