一種基于ZigBee技術(shù)的遠程監控系統設計
由于終端節點(diǎn)有多個(gè),故而采用順序綁定的方法,即先設置綁定節點(diǎn)1,成功之后設置綁定節點(diǎn)2,依此類(lèi)推直到綁定所有終端節點(diǎn)。在函數void zb_BindConfirm(uint16 commandId,uint8 status)中,標志位count每完成一次協(xié)調器到終端節點(diǎn)的綁定,其值增一,以此記錄該綁定哪個(gè)終端節點(diǎn)。再利用if語(yǔ)句實(shí)現對終端節點(diǎn)的設置綁定事件,進(jìn)而完成綁定工作。
本文引用地址:http://dyxdggzs.com/article/256594.htm在正常工作狀態(tài)下的協(xié)調器,當有按鍵按下時(shí),會(huì )進(jìn)入應用層進(jìn)行處理。調用函數zb_SendDataRequest(uint16 destination,uint16 commandId,uint8 len,uint8*pData,uint8 handle,uint8 txOptions,uint8 radius)向終端節點(diǎn)發(fā)送數據,由于不同終端節點(diǎn)的comma ndId不同,因此協(xié)調器只向commandId相匹配的終端節點(diǎn)發(fā)送數據。終端節點(diǎn)根據接收到的數據去做相應處理。
3.2 ZigBee終端節點(diǎn)
終端節點(diǎn)上電后,進(jìn)行初始化,然后去發(fā)現網(wǎng)絡(luò )并加入網(wǎng)絡(luò )、進(jìn)行綁定等操作。之后進(jìn)入正常丁作狀態(tài),終端節點(diǎn)每隔10S采集一次傳感器數據,將數據存儲在數組pData中,然后調用發(fā)送函數zb_SendDataRequest(OxFFFE,SENSOR_REPORT_CMD_ID,12,pData,0,AF_ACK_ REQUEST,0),將所有數據一次性發(fā)送給協(xié)調器節點(diǎn)。圖5是終端節點(diǎn)程序流程圖。

4 嵌入式web服務(wù)器
嵌入式Web服務(wù)器以linux為操作系統,通過(guò)搭建BOA服務(wù)器,實(shí)現對瀏覽器頁(yè)面訪(fǎng)問(wèn)請求響應以及數據的發(fā)送等功能。此外,結合CCI技術(shù)編寫(xiě)HTML靜態(tài)網(wǎng)頁(yè)和CGI程序,移植了嵌入式數據庫SQlite,用以存儲合法用戶(hù)的用戶(hù)名和密碼,實(shí)現對登錄用戶(hù)的客戶(hù)驗證功能;并且還能存儲由串口傳送來(lái)的傳感器數據,通過(guò)CGI程序調用數據庫的最新數據,由BOA服務(wù)器返回給瀏覽器實(shí)現對家庭傳感器數據的實(shí)時(shí)顯示。
ARM9除了BOA服務(wù)器一直在運行,還有串口應用程序也在不斷監聽(tīng)是否有數據需要接收或者發(fā)送。設計所用ARM9開(kāi)發(fā)板有3個(gè)UART,選用串口1,主要寄存器設置如下:
CPHCON=0xa00;
ULCON1=0x03;//數據格式為8位,一停止位,無(wú)校驗位
UCON1=0x05;//時(shí)鐘源為pclk,查詢(xún)方式
UBRDIV1=(PCLK/(115200 x 16)-1);//設置波特率115200
5 系統測試
本設計以一個(gè)協(xié)調器和5個(gè)終端節點(diǎn)為例進(jìn)行測試,5個(gè)終端節點(diǎn)分別放在5個(gè)房間-客廳、主臥室、次臥室、衛生間、廚房?jì)?,協(xié)調器節點(diǎn)和嵌入式Web服務(wù)器放在主臥室。在PC機上打開(kāi)瀏覽器,輸入http://192.168.1.230,即出現登陸頁(yè)面,輸入用戶(hù)名、密碼認證成功后,即出現主頁(yè)面,如圖6,是本系統默認主頁(yè)面,顯示內容為房間名稱(chēng)、電池電量、溫濕度、是否有人活動(dòng)等情況,默認情況下空調、加濕器都是關(guān)閉的。

如圖7所示,通過(guò)選擇頁(yè)面上空調的開(kāi)啟選項,瀏覽器將命令傳給CGI程序,CGI程序調用應用程序,使ARM9經(jīng)由串口發(fā)送2個(gè)字節控制命令給ZigBee網(wǎng)絡(luò )協(xié)調器,1個(gè)字節裝載的是房間編號信息,即ZigBee終端節點(diǎn)的網(wǎng)絡(luò )地址,另一個(gè)字節裝載的是控制命令數據。網(wǎng)絡(luò )協(xié)調器將命令下發(fā)給客廳中的ZigBee終端節點(diǎn),ZigBee終端節點(diǎn)將控制命令數據譯成對P2.1口輸出低電平,相當于空調遙控器開(kāi)關(guān)按鍵按下,空調相應打開(kāi)。再在頁(yè)面上選擇空調調節溫度選項“降溫”,然后點(diǎn)擊“提交”按鈕,經(jīng)由相似過(guò)程,ZigBee終端節點(diǎn)控制P1.2輸出低電平,相當于空調遙控器降溫按鍵按下,客廳溫度降低,在網(wǎng)頁(yè)上點(diǎn)擊3次按鈕“提交”,客廳溫度降至25℃。

通過(guò)實(shí)驗,可以知道本系統能能實(shí)現以下功能:對家庭各個(gè)房間的溫度和濕度實(shí)時(shí)顯示,能遠程調節溫度和濕度,遠程打開(kāi)熱水器開(kāi)關(guān)對其加熱,當房間有人活動(dòng)時(shí)能在監控頁(yè)面顯示出來(lái),廚房煙霧濃度是否超標也能在頁(yè)面顯示。
6 結束語(yǔ)
文中所述的遠程監控系統應用在家庭環(huán)境中,既能實(shí)現遠程監測家中各個(gè)房間的溫濕度狀況,也能控制家中空調、加濕器的打開(kāi)或者關(guān)閉狀態(tài)從而調節溫濕度,營(yíng)造一個(gè)舒適宜人的環(huán)境。煙霧傳感器能實(shí)現煙霧濃度超標檢測,使用人體紅外模塊可實(shí)現家庭安防功能。電池電量檢測能即時(shí)提醒更換電池。若對本設計做微小改動(dòng),添加房間數量或減少數量,或者改變傳感器類(lèi)別實(shí)現其他功能,可擴展性較強。
紅外遙控器相關(guān)文章:紅外遙控器原理萬(wàn)能遙控器相關(guān)文章:萬(wàn)能遙控器代碼
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
超聲波清洗機相關(guān)文章:超聲波清洗機原理
土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理
評論