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