基于Wi-Fi的無線智能門鈴系統(tǒng)設(shè)計
在信息、通信、智能不斷發(fā)展的今天,人們對于門鈴的要求已經(jīng)不僅僅是簡單的提醒功能,門鈴系統(tǒng)發(fā)展成為具提醒、防盜、安全等為一體的一個完整的智能系統(tǒng)。通過無線智能系統(tǒng)的管理,可以使我們能夠更輕松方便的使用門鈴及其附屬功能。無線智能系統(tǒng)是以無線網(wǎng)絡(luò)為主干,利用計算機(jī)、嵌入式系統(tǒng)和通信網(wǎng)絡(luò)技術(shù),將門鈴系統(tǒng)與計算機(jī)等終端設(shè)備有機(jī)的結(jié)合起來。與普通的門鈴系統(tǒng)相比,無線智能系統(tǒng)不僅使門鈴系統(tǒng)保持了原來門鈴的一系列功能,還增添了遠(yuǎn)程控制等新功能, 并且無線智能系統(tǒng)脫離了各種線纜的羈絆,有很強(qiáng)的擴(kuò)展性,本文僅是以門鈴系統(tǒng)為例子說明。在合適的條件下,還可以將其它的家電并入無線智能系統(tǒng),形成以住宅為平臺,兼?zhèn)浣ㄖ?、網(wǎng)絡(luò)通信、信息家電、設(shè)備自動化,集系統(tǒng)、結(jié)構(gòu)、服務(wù)、管理為一體的高效、舒適、安全、便利、環(huán)保的居住環(huán)境,也就是人們常說的智能家居(SmartHome)。無線智能系統(tǒng)的無線網(wǎng)絡(luò)可以大致分為數(shù)據(jù)網(wǎng)絡(luò)和控制網(wǎng)路兩大部分,本文針對它的控制網(wǎng)絡(luò)相關(guān)技術(shù)進(jìn)行研究,建立了一種基于 Wi-Fi技術(shù)的無線智能門鈴。
一、Wi-Fi技術(shù)
1·Wi-Fi概述
Wi-Fi全稱WirelessFidelity,又稱802·11b標(biāo)準(zhǔn),它的最大優(yōu)點就是傳輸速度較高,可以達(dá)到11Mbps,另外它的有效距離可達(dá)100m,完全滿足了無線門鈴的數(shù)據(jù)傳輸。
2·Wi-Fi技術(shù)的優(yōu)勢
第一,Wi-Fi的覆蓋范圍廣。在已應(yīng)用的技術(shù)中,其有效半徑可達(dá)100m。而一些新型交換機(jī)的覆蓋范圍更是要加倍。
第二,Wi-Fi的速度快。根據(jù)無線網(wǎng)卡使用的標(biāo)準(zhǔn)不同,Wi-Fi的速度也有所不同。其中IEEE802·11b最高為11Mbps(部分廠商在設(shè)備配套的情況下可以達(dá)到22Mbps),IEEE802·11a為54Mbps、IEEE802·11g也是54Mbps。
第三,Wi-Fi的可兼容性好。現(xiàn)在計算機(jī)的無線網(wǎng)卡均是以Wi-Fi為標(biāo)準(zhǔn)的連接設(shè)備,而新型的智能手機(jī)也大部分具有Wi-Fi終端。
第四,安全性與穩(wěn)定性。雖然Wi-Fi有某些安全性的缺陷,但在智能無線門鈴設(shè)計中,只要設(shè)定一系列的密鑰,還是可以接受的。而Wi-Fi的穩(wěn)定性是在無線網(wǎng)絡(luò)中比較有質(zhì)量保證的,完全可以滿足設(shè)計的需要。
二、基于Wi-Fi的無線智能門鈴系統(tǒng)
1·總體設(shè)計方案本系統(tǒng)的結(jié)構(gòu)(見圖1)
從圖1可以看出,無線智能門鈴系統(tǒng)主要由家庭網(wǎng)關(guān)、監(jiān)控服務(wù)終端(包括計算機(jī)終端和手機(jī)終端)以及監(jiān)控現(xiàn)場組成。網(wǎng)絡(luò)主要分為兩個部分,室內(nèi)網(wǎng)絡(luò)和室外網(wǎng)絡(luò)。
室內(nèi)網(wǎng)絡(luò)由監(jiān)控現(xiàn)場和無線路由之間的IEEE802·11標(biāo)準(zhǔn)的無線網(wǎng)絡(luò)組成,家庭網(wǎng)關(guān)和計算機(jī)終端的有線或無線聯(lián)接。
室外部分由計算機(jī)終端和遠(yuǎn)程控制頁面(即Web頁面)之間的Internet網(wǎng)絡(luò)組成。
系統(tǒng)工作原理:首先由摁下門鈴按鈕,門鈴震動或發(fā)出聲響,提醒戶主。戶主啟動監(jiān)控服務(wù)終端,經(jīng)由IEEE802·11b無線網(wǎng)絡(luò),發(fā)送指令到確定的IP地址,即監(jiān)控現(xiàn)場電源開關(guān),監(jiān)控現(xiàn)場開始工作。在監(jiān)控現(xiàn)場,打開攝像機(jī)、麥克風(fēng)等輸入終端,采集現(xiàn)場模擬信號。采集后的信號送入視頻服務(wù)器中,視頻服務(wù)器對模擬信號進(jìn)行壓縮編碼,并且將數(shù)據(jù)送入緩沖區(qū),等待家庭網(wǎng)關(guān)發(fā)來的聯(lián)接請求。當(dāng)家庭網(wǎng)關(guān)調(diào)用聯(lián)接請求程序時,視頻服務(wù)器讀出緩沖區(qū)的音視頻數(shù)據(jù), 同時啟動發(fā)送模塊,發(fā)送時,采用RTP協(xié)議①打包。模塊讀取緩沖區(qū)的視頻流最好是以一幀為最小單位,如果數(shù)據(jù)比較長,在網(wǎng)絡(luò)中傳輸不穩(wěn)定,可以在打包前將幀進(jìn)行分割,再進(jìn)行打包處理。數(shù)據(jù)按照RTP協(xié)議打包完成之后,通過UDP協(xié)議②傳送到家庭網(wǎng)關(guān)中進(jìn)行傳送。數(shù)據(jù)經(jīng)由家庭網(wǎng)關(guān),繼續(xù)進(jìn)行無線傳送至監(jiān)控服務(wù)終端。監(jiān)控服務(wù)終端接收數(shù)據(jù)之后,按照數(shù)據(jù)傳送的順序和標(biāo)志,重新對數(shù)據(jù)進(jìn)行解壓、組裝,形成完整的幀結(jié)構(gòu)。通過監(jiān)控服務(wù)終端中的相對應(yīng)的視頻軟件,對數(shù)據(jù)進(jìn)行MPEG-4③解碼,解碼后的數(shù)據(jù)就是視頻數(shù)據(jù);同時對音頻數(shù)據(jù)也進(jìn)行相應(yīng)的操作,得到相應(yīng)的音頻數(shù)據(jù)。通過監(jiān)控服務(wù)終端調(diào)用播放模塊的軟件,進(jìn)行實時播放,并且調(diào)用存儲模塊進(jìn)行存儲,以達(dá)到實時監(jiān)控的目的。
2·監(jiān)控現(xiàn)場的設(shè)計
設(shè)計思路:監(jiān)控現(xiàn)場是由一個普通門鈴、攝像機(jī)、麥克風(fēng)和視頻服務(wù)器組成的。普通門鈴的作用是提示戶主,進(jìn)行監(jiān)控。視頻服務(wù)器是整個監(jiān)控現(xiàn)場的關(guān)鍵,它主要是負(fù)責(zé)講攝像機(jī)和麥克風(fēng)采集到的模擬信號進(jìn)行編碼壓縮、網(wǎng)絡(luò)傳輸,并且負(fù)責(zé)客戶服務(wù)端對攝像機(jī)和麥克風(fēng)的控制。其結(jié)構(gòu)圖如圖2所示:
監(jiān)控現(xiàn)場無線接收裝置采用ARMLinux嵌入式系統(tǒng)。
采用這樣的芯片作為接收裝置是因為Linux系統(tǒng)具備有完整UNIX所有的功能如多任務(wù)處理、虛擬內(nèi)存、程序資源豐富、按照應(yīng)用加載執(zhí)行文件、執(zhí)行程序共享,內(nèi)存管理和TCP/IP網(wǎng)絡(luò),而ARMLinux正在被移植或已經(jīng)移植到超過100種以上的不同種類機(jī)器,包括個人電腦、網(wǎng)絡(luò)電腦和發(fā)展工具,適合作為IEEE802·11b標(biāo)準(zhǔn)的網(wǎng)絡(luò)處理器。
3·家庭網(wǎng)關(guān)的設(shè)置
家庭網(wǎng)關(guān)是無線網(wǎng)絡(luò)的中繼傳輸裝置,可以由一個無線路由和一個配套的ARMLinux嵌入式系統(tǒng)組成。ARMLinux嵌入式系統(tǒng)的作用是設(shè)定監(jiān)控現(xiàn)場無線路由的IP地址,并且接收監(jiān)控現(xiàn)場的數(shù)據(jù),并傳送給無線路由。無線路由是目前常用的一種無線傳輸裝置,通過它分配所有系統(tǒng)涉及的IP地址,并且將接收到的數(shù)據(jù)傳送給監(jiān)控服務(wù)終端。
4·監(jiān)控服務(wù)終端的設(shè)置
監(jiān)控終端分為兩種:手機(jī)終端和計算機(jī)終端。
?。?)手機(jī)終端設(shè)置:調(diào)整手機(jī)Wi-Fi網(wǎng)卡,設(shè)置IP,連接無線路由,調(diào)用相應(yīng)的播放軟件,對監(jiān)控現(xiàn)場進(jìn)行實時監(jiān)控。并且可以進(jìn)行互動交流。
(2)計算機(jī)終端設(shè)置分為兩種情況:室內(nèi)進(jìn)行監(jiān)控和室外進(jìn)行監(jiān)控。
室內(nèi)監(jiān)控:調(diào)整計算機(jī)Wi-Fi網(wǎng)卡,對計算機(jī)設(shè)置無線IP,接收無線路由傳送數(shù)據(jù),調(diào)用相應(yīng)的播放軟件,即可實現(xiàn)對監(jiān)控現(xiàn)場的實時監(jiān)控。并且如果計算機(jī)終端附帶麥克風(fēng)和攝像機(jī),還可以對監(jiān)控現(xiàn)場進(jìn)行雙向交流。
室外監(jiān)控:可以通過設(shè)定家庭網(wǎng)關(guān),對監(jiān)控現(xiàn)場實施監(jiān)控。家庭網(wǎng)關(guān)是一個人機(jī)交互的Web界面,使用戶可以通過Internet了解監(jiān)控現(xiàn)場信息,實施實時監(jiān)控。
5·軟件設(shè)計思路
?。?)網(wǎng)關(guān)設(shè)置,網(wǎng)關(guān)流程圖如圖3所示:
網(wǎng)關(guān)設(shè)置涉及的函數(shù)大約有如下幾個:
Main(); 主函數(shù), 網(wǎng)關(guān)的入口地址
CenterGateWay; 實例化的ClientManage和DeviceManage對象
getServerManage; 返回ServerManage對象,用于監(jiān)聽客戶端的控制指令
getDeviceManage;返 回DeviceManage對象,用于監(jiān)管設(shè)備信息
(2)監(jiān)控現(xiàn)場設(shè)置,監(jiān)控現(xiàn)場流程圖如圖4所示:
?。?)監(jiān)控服務(wù)端設(shè)置
Configure類的主要作用:根據(jù)配置文件的信息,解析并提取相應(yīng)的Socket連接參數(shù)。該類所用的方法及其功能如下所示:
Configure();該方法是類的構(gòu)造,調(diào)用了readConfigurePropertyFile()
getConfigure();實例化的Configure類的對象
readConfigurePropertyFile();從Configure,ProperTIes文件中讀取數(shù)據(jù)
?。?)服務(wù)器端程序DeviceManager類的設(shè)計
DeviceManager類的主要作用:提取存儲在db4o數(shù)據(jù)庫中的設(shè)備信息,并把它轉(zhuǎn)化為便于網(wǎng)絡(luò)傳輸?shù)膞ml文件,同時該類還有實現(xiàn)添加和刪除設(shè)備信息的功能。該類所用的方法及其功能如下所示:
DeviceManager();構(gòu)造函數(shù),調(diào)用initDevice()方法
initDevice();初始化設(shè)備信息;
getDevicesManager();實例化DeviceManager,用于網(wǎng)關(guān)類調(diào)用
getAllDevices();從數(shù)據(jù)口中獲取設(shè)備
DeviceObjeceToXML();把設(shè)備對象信息轉(zhuǎn)化為XML文件,用于設(shè)備傳輸
AddDevice();添加設(shè)備到數(shù)據(jù)庫中
DelDevice();從數(shù)據(jù)庫中刪除指定的設(shè)備
?。?)服務(wù)器端程序ServerManager類的設(shè)計
ServerManager類的主要作用:根據(jù)Configure類返回Socket連接參數(shù)創(chuàng)建ServerSocket端口監(jiān)聽,然后再根據(jù) CenterGateWay調(diào)用DeviceManager類初始化設(shè)備信息返回的xml文件信息,向客戶端(手機(jī))發(fā)送設(shè)備信息以便客戶端進(jìn)行UI初始化,同時監(jiān)聽客戶端發(fā)送的操作指令進(jìn)行相應(yīng)的設(shè)備操作,并返回反饋信息給客戶端。該類所用的方法及其功能如下所示:
ServerManager();構(gòu)造函數(shù),用于開辟一個端口監(jiān)聽客戶端的連接請求
getServerManager();實例化類ServerManager
startMonitorClinet();開始監(jiān)聽客戶端的請求
Run();該線程用于實現(xiàn)連接請求
ClientThread用于向客戶端發(fā)送設(shè)備信息,同時調(diào)用analyzeAndExcuteCommand();
analyzeAndExcuteCommand();用于解析客戶端發(fā)送的控制指令
6·軟件的使用
?。?)系統(tǒng)運行的軟件環(huán)境
對于此類嵌入式設(shè)備,需要JAVA虛擬機(jī)CVM??梢酝ㄟ^ARM-LINUX工具鏈來編譯此虛擬機(jī),也可以用現(xiàn)成的虛擬機(jī)。jdk1·4·2(LINUX下的版本),CVM源代碼等。
此類實現(xiàn)的CVM手冊上有詳細(xì)的介紹。同時嵌入式設(shè)備必須裝載外圍的驅(qū)動程序。
?。?)軟件運行的硬件環(huán)境
客戶端:對于手機(jī)平臺,要求該手機(jī)能支持JAVA平臺運行環(huán)境,并且需要手機(jī)有Wi-Fi網(wǎng)卡及其相關(guān)設(shè)備。對于計算機(jī)平臺,要求其具有微軟WINDOWS2000或其以上版本的操作系統(tǒng),并且安裝Wi-Fi網(wǎng)卡及其驅(qū)動設(shè)備。
服務(wù)器:需要具有InterXscalePxa270芯片的處理器或其高版本設(shè)備。
?。?)軟件安裝
客戶端程序是把手機(jī)模塊的可執(zhí)行程序裝入能支持JAVA平臺的手機(jī)中。計算機(jī)的需要確定操作系統(tǒng)支持JAVA系統(tǒng),安裝JAVA虛擬機(jī)。
網(wǎng)關(guān)程序的安裝就是把嵌入式系統(tǒng)模塊的可運行程序與CVM一起燒到嵌入式系統(tǒng)中的Flash中,同時也要把外圍設(shè)備的驅(qū)動程序燒到32M的Flash中。
(4)軟件程序的操作
根據(jù)我們制定此系統(tǒng)的目的,減輕客戶端操作時間和空間。操作的主要步驟是客戶終端中,而功能的實現(xiàn)全部在網(wǎng)關(guān)中實現(xiàn)。預(yù)期目標(biāo)是視頻數(shù)據(jù)的流暢傳輸和實時同步傳輸。操作步驟如下:
?、賳铀性O(shè)備。②連接網(wǎng)絡(luò),通過路由器自動分配給每個系統(tǒng)獨立的網(wǎng)址。③操縱客戶端軟件,打開門鈴系統(tǒng)的攝像機(jī)和麥克風(fēng),并且進(jìn)行監(jiān)聽。④如果操作正常,可以同步流暢的觀察監(jiān)控現(xiàn)場的實時圖像。否則,返回相應(yīng)的出錯提示。
三、結(jié)束語
本文通過將Wi-Fi標(biāo)準(zhǔn)和ARM芯片結(jié)合起來,形成一個以ARM芯片為載體,Wi-Fi標(biāo)準(zhǔn)為傳輸標(biāo)準(zhǔn)的一個家用無線智能門鈴系統(tǒng),本系統(tǒng)集門鈴、監(jiān)控、報警等功能于一身,具有很強(qiáng)的實用性能,也為以后家庭建立局域網(wǎng)做一個示范。在以后的應(yīng)用中,不僅僅是家庭中的門鈴系統(tǒng),其他一切智能家電產(chǎn)品都可以納入到這個無線網(wǎng)絡(luò)中,因此具有良好的擴(kuò)充性能。另外,由于Wi-Fi標(biāo)準(zhǔn)的實用性和ARM系統(tǒng)的穩(wěn)定性,本文中論述的系統(tǒng)還可以應(yīng)用于商場、公共汽車等公共場合和交通工具中,成為以后公共局域網(wǎng)和移動局域網(wǎng)的一個發(fā)展方向。