智能家居監(jiān)控原型系統(tǒng)設(shè)計(jì)
在主控制器硬件設(shè)備基礎(chǔ)上,對Linux系統(tǒng)進(jìn)行裁剪、修改及交叉編譯,生成合適的嵌入式Linux操作系統(tǒng)。在操作系統(tǒng)基礎(chǔ)之上,再移植嵌入式Web服務(wù)器軟件。針對主控制器的2個(gè)主要任務(wù),分別編寫循環(huán)監(jiān)測程序和CGI腳本予以實(shí)現(xiàn)。圖4所示為主控制器軟件結(jié)構(gòu)。本文引用地址:http://www.ex-cimer.com/article/159900.htm
循環(huán)監(jiān)測程序從串口發(fā)送命令,通過家庭無線網(wǎng)絡(luò)傳遞至終端節(jié)點(diǎn),終端節(jié)點(diǎn)接收命令,并在讀取傳感器數(shù)據(jù)或執(zhí)行控制操作之后發(fā)送返回?cái)?shù)據(jù),循環(huán)監(jiān)測程序再由串口讀取返回?cái)?shù)據(jù)。若返回?cái)?shù)據(jù)異常,主控制器將向另外一個(gè)串口發(fā)送命令,而與該串口相連的TC35模塊則會根據(jù)命令執(zhí)行相應(yīng)操作,如向某個(gè)手機(jī)號發(fā)出報(bào)警短信。圖5為循環(huán)監(jiān)測程序流程圖。
CGI(通用網(wǎng)關(guān)接口)定義了Web服務(wù)器與CGI腳本之間的接口標(biāo)準(zhǔn)。由于用戶能傳遞不同的參數(shù)給CGI腳本,所以CGI技術(shù)使得客戶端和服務(wù)器之間具有交互性。在主控制器接收到手機(jī)發(fā)送的HTTP請求之后,腳本程序?qū)⒘⒖虉?zhí)行,利用CGI標(biāo)準(zhǔn)接口函數(shù)來提取URL中附帶的參數(shù)并由串口發(fā)送相應(yīng)命令。圖6所示為CGI腳本程序流程圖。
循環(huán)采集程序和CGI腳本程序的區(qū)別是,前者是隨著系統(tǒng)開機(jī)自動(dòng)啟動(dòng)并不斷循環(huán)執(zhí)行,且只負(fù)責(zé)監(jiān)測各傳感器數(shù)據(jù),而后者只有在接到手機(jī)的HTTP請求時(shí),才會立即執(zhí)行一次,可以獲取傳感器的監(jiān)測數(shù)據(jù)或者執(zhí)行對家庭設(shè)備的控制。
評論