ZigBee是基于IEEE802.15.4無線標(biāo)準(zhǔn)研制開發(fā)的有關(guān)組網(wǎng)、安全和應(yīng)用軟件方面的技術(shù)標(biāo)準(zhǔn),其特點(diǎn)是近距離、低復(fù)雜度、自組織、低功耗、低數(shù)據(jù)速率、低成本。美國(guó)TI公司的CC2530芯片集成了51單片機(jī)內(nèi)核,其開發(fā)平臺(tái)具有基于2004/2006/2007/PRO協(xié)議棧的開發(fā)模板。針對(duì)CC2530芯片的ZigBee開發(fā)平臺(tái)可與IAR for MCS-51集成開發(fā)環(huán)境無縫連接,操作和連接方便。系統(tǒng)中主協(xié)調(diào)器負(fù)責(zé)啟動(dòng)整個(gè)網(wǎng)絡(luò),由USB接口直接供電;終端節(jié)點(diǎn)由自帶電池供電;主協(xié)調(diào)器與遠(yuǎn)程智能監(jiān)控平臺(tái)通過USB直接串口連接,并通過CC2530的射頻模塊實(shí)現(xiàn)與終端設(shè)備的無線通信。
3.1.2 CC2530開發(fā)平臺(tái)
TI CC2530開發(fā)平臺(tái)采用Z-Stack微操作系統(tǒng)進(jìn)行應(yīng)用程序的開發(fā)。Z-Stack是由TI公司推出的業(yè)界領(lǐng)先的ZigBee協(xié)議棧,支持多種平臺(tái)。Z-Stack包含了網(wǎng)狀網(wǎng)絡(luò)拓?fù)涞膸捉谌δ艿膮f(xié)議棧,采用操作系統(tǒng)的思想來構(gòu)建,采用事件輪循機(jī)制,當(dāng)各層初始化之后,系統(tǒng)進(jìn)入低功耗模式;當(dāng)事件發(fā)生時(shí),喚醒系統(tǒng),開始進(jìn)入中斷處理事件,結(jié)束后繼續(xù)進(jìn)入低功耗模式。如果同時(shí)有幾個(gè)事件發(fā)生,則判斷優(yōu)先級(jí),逐次處理事件。這種軟件構(gòu)架可以極大地降低系統(tǒng)功耗。整個(gè)Z-Stack的主要工作流程大致分為系統(tǒng)啟動(dòng)、驅(qū)動(dòng)初始化、OSAL初始化和啟動(dòng)、進(jìn)入任務(wù)輪循幾個(gè)階段。
在本系統(tǒng)中,由于傳感節(jié)點(diǎn)少、傳輸距離短,選擇星型網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),協(xié)調(diào)器采用廣播的方式發(fā)送信息,而終端節(jié)點(diǎn)采用單播發(fā)送方式數(shù)據(jù)。CC2530平臺(tái)支持避免沖突的載波偵聽多路存取(CSMA/CA)功能,在無線傳感器網(wǎng)絡(luò)啟動(dòng)后,主協(xié)調(diào)器處于監(jiān)聽狀態(tài),終端節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的發(fā)送,如果偵聽信道狀態(tài)空閑則傳送數(shù)據(jù)包,否則等待并延時(shí),直到信道狀態(tài)空閑數(shù)據(jù)包發(fā)送成功為止。無線傳感器網(wǎng)絡(luò)中終端節(jié)點(diǎn)內(nèi)部程序流程如圖2所示。
3.2 遠(yuǎn)程智能監(jiān)控平臺(tái)
本系統(tǒng)中實(shí)現(xiàn)與無線傳感器網(wǎng)絡(luò)中主協(xié)調(diào)器進(jìn)行通信的遠(yuǎn)程智能監(jiān)控平臺(tái)是Web系統(tǒng)。連接程序在MyEclipse2013環(huán)境下用Java編寫,RXTXcomm.jar函數(shù)庫(kù)支持串口通信。頁(yè)面程序通過JSP實(shí)現(xiàn),可以對(duì)波特率及COM端口等進(jìn)行設(shè)置調(diào)整,并可以進(jìn)行遠(yuǎn)程監(jiān)控。該平臺(tái)實(shí)現(xiàn)了對(duì)無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)接收,并按照設(shè)置好的數(shù)據(jù)格式進(jìn)行數(shù)據(jù)采集,通過Java編寫的存儲(chǔ)程序存入遠(yuǎn)程服務(wù)器的數(shù)據(jù)庫(kù)。接口程序流程如圖3所示。
本系統(tǒng)通過一個(gè)結(jié)構(gòu)體對(duì)各個(gè)節(jié)點(diǎn)的數(shù)據(jù)包進(jìn)行規(guī)范,以便于數(shù)據(jù)采集。數(shù)據(jù)包格式如表1所示。數(shù)據(jù)頭使用的是“&&”字符,數(shù)據(jù)尾采用1個(gè)“&”。
例如路由節(jié)點(diǎn)采集溫度時(shí)使用如下填充數(shù)據(jù)的方式,如表2所示。設(shè)備名稱temp表示設(shè)備是溫度設(shè)備;節(jié)點(diǎn)類型ROU表示節(jié)點(diǎn)是路由節(jié)點(diǎn);后面緊跟路由器的網(wǎng)絡(luò)地址;傳感器數(shù)據(jù)值字段采集的是含1位小數(shù)的4位溫度值。
3.3 Web應(yīng)用服務(wù)系統(tǒng)
利用JSP和前端Ajax框架ExtJs,使用MySQL數(shù)據(jù)庫(kù)和Tomcat服務(wù)器,開發(fā)的Web應(yīng)用服務(wù)系統(tǒng)可以與遠(yuǎn)程智能監(jiān)控平臺(tái)和云服務(wù)平臺(tái)進(jìn)行快速整合,界面操作簡(jiǎn)單、美觀,且能夠大大縮短系統(tǒng)的研發(fā)周期,降低開發(fā)成本。
該系統(tǒng)實(shí)現(xiàn)人性化監(jiān)控,包括室內(nèi)環(huán)境監(jiān)控?cái)?shù)據(jù)顯示、終端節(jié)點(diǎn)控制以及對(duì)數(shù)據(jù)通過云服務(wù)層處理進(jìn)行室內(nèi)環(huán)境舒適度評(píng)分,并列出所在服務(wù)系統(tǒng)中的排名。系統(tǒng)界面如圖4所示。
系統(tǒng)中只對(duì)溫度(T)、濕度(H)和光照(I)3個(gè)參數(shù)進(jìn)行監(jiān)測(cè)。Web應(yīng)用服務(wù)系統(tǒng)中排名算法為:Ri=|Ti-T|+|Hi-H|+|Ii-I|,其中T、H、I是設(shè)定的參考值,再經(jīng)過與系統(tǒng)中各R值進(jìn)行比較得出。參數(shù)狀態(tài)及舒適度算法采用模糊理論,對(duì)應(yīng)參數(shù)狀態(tài)如表3所示,熱舒適度評(píng)判如表4所示,光舒適度評(píng)判如表5所示,室內(nèi)環(huán)境舒適度評(píng)判如表6所示。