一種基于ZigBee技術(shù)的遠程監(jiān)控系統(tǒng)設(shè)計
由于終端節(jié)點有多個,故而采用順序綁定的方法,即先設(shè)置綁定節(jié)點1,成功之后設(shè)置綁定節(jié)點2,依此類推直到綁定所有終端節(jié)點。在函數(shù)void zb_BindConfirm(uint16 commandId,uint8 status)中,標志位count每完成一次協(xié)調(diào)器到終端節(jié)點的綁定,其值增一,以此記錄該綁定哪個終端節(jié)點。再利用if語句實現(xiàn)對終端節(jié)點的設(shè)置綁定事件,進而完成綁定工作。
本文引用地址:http://2s4d.com/article/256594.htm在正常工作狀態(tài)下的協(xié)調(diào)器,當有按鍵按下時,會進入應用層進行處理。調(diào)用函數(shù)zb_SendDataRequest(uint16 destination,uint16 commandId,uint8 len,uint8*pData,uint8 handle,uint8 txOptions,uint8 radius)向終端節(jié)點發(fā)送數(shù)據(jù),由于不同終端節(jié)點的comma ndId不同,因此協(xié)調(diào)器只向commandId相匹配的終端節(jié)點發(fā)送數(shù)據(jù)。終端節(jié)點根據(jù)接收到的數(shù)據(jù)去做相應處理。
3.2 ZigBee終端節(jié)點
終端節(jié)點上電后,進行初始化,然后去發(fā)現(xiàn)網(wǎng)絡(luò)并加入網(wǎng)絡(luò)、進行綁定等操作。之后進入正常丁作狀態(tài),終端節(jié)點每隔10S采集一次傳感器數(shù)據(jù),將數(shù)據(jù)存儲在數(shù)組pData中,然后調(diào)用發(fā)送函數(shù)zb_SendDataRequest(OxFFFE,SENSOR_REPORT_CMD_ID,12,pData,0,AF_ACK_ REQUEST,0),將所有數(shù)據(jù)一次性發(fā)送給協(xié)調(diào)器節(jié)點。圖5是終端節(jié)點程序流程圖。
4 嵌入式web服務器
嵌入式Web服務器以linux為操作系統(tǒng),通過搭建BOA服務器,實現(xiàn)對瀏覽器頁面訪問請求響應以及數(shù)據(jù)的發(fā)送等功能。此外,結(jié)合CCI技術(shù)編寫HTML靜態(tài)網(wǎng)頁和CGI程序,移植了嵌入式數(shù)據(jù)庫SQlite,用以存儲合法用戶的用戶名和密碼,實現(xiàn)對登錄用戶的客戶驗證功能;并且還能存儲由串口傳送來的傳感器數(shù)據(jù),通過CGI程序調(diào)用數(shù)據(jù)庫的最新數(shù)據(jù),由BOA服務器返回給瀏覽器實現(xiàn)對家庭傳感器數(shù)據(jù)的實時顯示。
ARM9除了BOA服務器一直在運行,還有串口應用程序也在不斷監(jiān)聽是否有數(shù)據(jù)需要接收或者發(fā)送。設(shè)計所用ARM9開發(fā)板有3個UART,選用串口1,主要寄存器設(shè)置如下:
CPHCON=0xa00;
ULCON1=0x03;//數(shù)據(jù)格式為8位,一停止位,無校驗位
UCON1=0x05;//時鐘源為pclk,查詢方式
UBRDIV1=(PCLK/(115200 x 16)-1);//設(shè)置波特率115200
5 系統(tǒng)測試
本設(shè)計以一個協(xié)調(diào)器和5個終端節(jié)點為例進行測試,5個終端節(jié)點分別放在5個房間-客廳、主臥室、次臥室、衛(wèi)生間、廚房內(nèi),協(xié)調(diào)器節(jié)點和嵌入式Web服務器放在主臥室。在PC機上打開瀏覽器,輸入http://192.168.1.230,即出現(xiàn)登陸頁面,輸入用戶名、密碼認證成功后,即出現(xiàn)主頁面,如圖6,是本系統(tǒng)默認主頁面,顯示內(nèi)容為房間名稱、電池電量、溫濕度、是否有人活動等情況,默認情況下空調(diào)、加濕器都是關(guān)閉的。
如圖7所示,通過選擇頁面上空調(diào)的開啟選項,瀏覽器將命令傳給CGI程序,CGI程序調(diào)用應用程序,使ARM9經(jīng)由串口發(fā)送2個字節(jié)控制命令給ZigBee網(wǎng)絡(luò)協(xié)調(diào)器,1個字節(jié)裝載的是房間編號信息,即ZigBee終端節(jié)點的網(wǎng)絡(luò)地址,另一個字節(jié)裝載的是控制命令數(shù)據(jù)。網(wǎng)絡(luò)協(xié)調(diào)器將命令下發(fā)給客廳中的ZigBee終端節(jié)點,ZigBee終端節(jié)點將控制命令數(shù)據(jù)譯成對P2.1口輸出低電平,相當于空調(diào)遙控器開關(guān)按鍵按下,空調(diào)相應打開。再在頁面上選擇空調(diào)調(diào)節(jié)溫度選項“降溫”,然后點擊“提交”按鈕,經(jīng)由相似過程,ZigBee終端節(jié)點控制P1.2輸出低電平,相當于空調(diào)遙控器降溫按鍵按下,客廳溫度降低,在網(wǎng)頁上點擊3次按鈕“提交”,客廳溫度降至25℃。
通過實驗,可以知道本系統(tǒng)能能實現(xiàn)以下功能:對家庭各個房間的溫度和濕度實時顯示,能遠程調(diào)節(jié)溫度和濕度,遠程打開熱水器開關(guān)對其加熱,當房間有人活動時能在監(jiān)控頁面顯示出來,廚房煙霧濃度是否超標也能在頁面顯示。
6 結(jié)束語
文中所述的遠程監(jiān)控系統(tǒng)應用在家庭環(huán)境中,既能實現(xiàn)遠程監(jiān)測家中各個房間的溫濕度狀況,也能控制家中空調(diào)、加濕器的打開或者關(guān)閉狀態(tài)從而調(diào)節(jié)溫濕度,營造一個舒適宜人的環(huán)境。煙霧傳感器能實現(xiàn)煙霧濃度超標檢測,使用人體紅外模塊可實現(xiàn)家庭安防功能。電池電量檢測能即時提醒更換電池。若對本設(shè)計做微小改動,添加房間數(shù)量或減少數(shù)量,或者改變傳感器類別實現(xiàn)其他功能,可擴展性較強。
紅外遙控器相關(guān)文章:紅外遙控器原理萬能遙控器相關(guān)文章:萬能遙控器代碼
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
超聲波清洗機相關(guān)文章:超聲波清洗機原理
土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理
評論