基于無線傳感器網絡的家庭安防報警系統(tǒng)設計
現代化居住格局使家庭生活的封閉性越來越強,安全問題顯得尤為重要。當前安全防范及報警系統(tǒng)是確保住宅、住戶安全的極為重要的途徑之一,同時也是數字化家庭的重要組成部分。遇到匪警、火警、煤氣泄漏等緊急情況時,及時通過電話完成對外報警求助十分必要。
本文介紹了一種由嵌入式報警主機、無線傳感器網絡節(jié)點構成的智能電話報警系統(tǒng)。采用無線傳感器網絡技術,使家庭的安防傳感器形成一個無線網絡;利用雙音多頻編解碼技術實現了主動撥號、語音報警及簡單的電話控制;采用以S3C2410為核心處理器的嵌入式開發(fā)平臺,構建了一個配置容易、功能強大、覆蓋范圍大的新型嵌入式報警系統(tǒng)。 1 系統(tǒng)的硬件結構和工作原理
1.1 系統(tǒng)的硬件結構
該系統(tǒng)由一個報警主機和無線傳感器網絡節(jié)點組成。圖1是系統(tǒng)的總體結構簡圖,圖中的無線通訊模塊結構完全相同。報警主機由基于S3C2410的32位嵌入式微控制器的開發(fā)平臺和無線通訊模塊組成。報警主機與無線傳感器網絡節(jié)點構成星型拓撲無線網絡。
利用S3C2410本身所具有的IIS接口,通過擴展UDAl341構成音頻處理模塊[1],實現了兩個通道的音頻輸入和一個通道的音頻輸出,報警主機通過IIS接口來交換音頻數據,音頻信號經過音頻功率放大后由音頻變壓器耦合進入電話線路以盡可能減小對雙音多頻DTMF(DualTone Multi Frequency)信號的影響。
振鈴檢測模塊[2]首先將電話線的信號通過整流濾波后送入S3C2410的外部中斷輸入端,S3C2410根據不同的鈴音信號控制電話接口電路實現不同的操作,同時識別信號的類型和次數并提供給上層應用程序。當摘掛機控制模塊接收到CPU發(fā)出的摘掛機控制信號時,模塊中的繼電器接入或斷開一個300Ω電阻以實現自動摘掛機[3]。
該系統(tǒng)中,DTMF編解碼電路采用MT88L89作為DTMF信號的編解碼核心器件。遠端用戶的電話按鍵產生的DTMF信號經耦合電容的隔直流后,由MT88L89接收并進行譯碼,結束后由中斷控制端發(fā)送中斷信號,通知CPU數據準備好以備讀取,MT88L89輸出的四位并行二進制數據通過Local Bus與CPU相連,此時CPU可獲取鍵值信息;CPU通過Local Bus向MT88L89依次發(fā)送要撥打的電話號碼,經MT88L89轉換為DTMF信號實現撥號功能。
1.2 系統(tǒng)的工作原理
當發(fā)生盜情、火災、煤氣泄漏等安全隱患時,傳感器通過無線傳感器網絡向報警主機發(fā)射經數字編碼的報警信號。報警主機立即發(fā)出警笛聲,同時主動撥通用戶預先設置的電話號碼,將警情以語音的形式通知用戶。語音提示用戶以按鍵形式確認收到報警信息,智能電話報警器識別用戶按鍵的鍵值后確定下一步動作。系統(tǒng)還具有遠程布/撤防功能,即主人在身份驗證后,能通過電話遠程對系統(tǒng)進行布/撤防控制。具備被叫搶線功能,當用戶家中無人、電話占線或有人從外面打入電話企圖占住報警線路行竊,盜警發(fā)生時,系統(tǒng)會自動搶線撥號報警。 2 無線傳感器網絡節(jié)點設計
在不同的應用中,無線傳感器網絡節(jié)點的組成不盡相同,但一般都由數據采集、數據處理、數據傳輸和電源這四部分組成[4]。被監(jiān)測物理信號的形式決定了傳感器的類型。處理器通常選用嵌入式CPU,如Motorola公司的68HCl6、C51系列單片機等。數據傳輸單元主要由低功耗、短距離的無線通信模塊組成,如訊通公司的PTR8000、ZigBee無線模塊等。圖2描述了節(jié)點的組成,其中,實心箭頭的方向表示數據在節(jié)點中的流動方向。
2.1 處理器
選用AT89C2051芯片作為無線傳感器網絡節(jié)點的處理器。并且采用I/O口模擬SPI口方式與nRF905通訊,配置存儲器接口也采用I/O口模擬。
2.2 傳感器
要求居家安全,應確保被監(jiān)視的區(qū)域(陽臺、門窗、過道、金庫等)置于傳感器的敏感區(qū)域內。現有的傳感器產品很多,如紅外熱釋電探頭、微波多普勒效應探頭、微波紅外復用探頭等,用于檢測盜賊侵入很靈敏。離子煙感器和半導體氣敏傳感器用于監(jiān)視火警及煤氣泄漏。
2.3 無線通訊模塊
外圍MCU通過SPI總線配置PTR8000的內部寄存器和數據收發(fā)[5]。PTR8000的SPI總線包括四個引腳:CSN(SPl使能)、SCK(SPI時鐘)、MISO(主人從出)和MOSI(主出從入)。SPI總線的每次操作都必須在使能引腳CSN的下降沿開始。CSN低電平有效,總線上的數據在時鐘的上升沿有效。MCU對SPI總線的操作不外乎兩種方式:讀和寫。在進行讀操作時,先把CSN置低,然后在MOSI數據線上輸出一個表示讀命令的字節(jié),與此同時,PTR8000會在:MISO數據線上輸出1字節(jié)表示狀態(tài)信息的數據,隨后輸出1字節(jié)地址,后面跟隨有效數據。在進行寫操作時比較簡單,MCU先把CSN拉低,然后在MOSI線上輸出寫命令字節(jié)和數據字節(jié)即可。
2.4 電源
在該系統(tǒng)中,nRF905為低電壓器件,電壓要求為3.3V,為了與之接口,AT89C2051也工作在3.3V(AT89C2051是寬電壓器件)電壓下。該系統(tǒng)用+5V電源供電,經過板上LT1117-3.3V轉換得到3.3V電源。
3 報警主機的設計
在該系統(tǒng)中,報警主機作為連接公共電話網(PSTN)和無線傳感器網絡之間的協議轉換網關。其硬件采用優(yōu)龍FS2410的核心板,并根據需要重新設計了外設板。FS2410核心板上集成了ARM9 2410處理器、64MB SDRAM、64MB NAND FLASH、2MB NOR FLASH以及以太網控制器,為軟件開發(fā)提供了足夠的空間。
外設板上提供了一個10M/100M以太網接口、三個RS-232串口、兩個USB接口、一個RJ11接口,擴展了一個無線通訊模塊、一個電話報警模塊及電源模塊等。外設板上的以太網接口可以直接與Internet相連,外設板上的RS-232串口通過MAX232與元線傳輸模塊PTR8000相連。
報警主機選用ARM Linux操作系統(tǒng),以此為基礎,移植了嵌入式數據庫SQLite,并開發(fā)了智能電話報警軟件,具有主動語音報警、遠程撤防/設防、遠程設置報警電話等功能。
4 系統(tǒng)軟件設計
整個系統(tǒng)軟件設計包括無線傳感器網絡節(jié)點(下位機)和報警主機系統(tǒng)端(上位機)的軟件設計。由于篇幅有限,這里僅介紹數據無線通信策略及無線傳感器網絡節(jié)點系統(tǒng)主程序。
4.1 上位機與下位機的數據通信策略
該系統(tǒng)中,報警主機與每個無線傳感器網絡節(jié)點之間均采用無線方式傳輸數據。通信協議采用如表1所示的幀格式。
表1中,前導字符可采用0xAA、0xAA、0xAA、0xAA、0xFF、0x00共6字節(jié),其中前4字節(jié)為同步信號,后2字節(jié)為幀起始標志;幀的總長度不允許也不會超過256字節(jié),如果超過就分為多個256字節(jié)的幀傳輸;幀類型字段用于定義命令和響應的幀格式,該字段為8bit,協議幀分為初始化幀、確認幀、數據幀、控制命令幀等多種類型;地址標明數據幀的目的地址;校驗為CRCl6校驗碼。
系統(tǒng)中,無線傳感器網絡節(jié)點與報警主機組成一個單跳星型拓撲網絡。每個無線傳感器網絡節(jié)點都有唯一的節(jié)點號,該節(jié)點號由報警主機分配,可以被報警主機尋址。無線傳感器網絡節(jié)點開機后進入待機狀態(tài),報警主機按照上述協議封裝查詢命令發(fā)送給下位機。下位機接收到數據后,先判斷前導字符以確定是否為有效數據,然后校驗。通過校驗后,判斷地址是否是本機地址;若是,則解開封包進行相應操作;若為查詢命令,則按上述協議封裝報警信息返回給報警主機,否則此下位機丟棄該數據包。報警主機收到報警協議幀后,主動撥打預先設置好的電話號碼,并把報警通過語音播放出去。報警主機則按照同樣的方式繼續(xù)查詢下位機,直到找到所要通信的下位機為止。整個網絡時序由主站統(tǒng)一控制,保證了不會出現訪問沖突。
4.2 無線傳感器網絡節(jié)點系統(tǒng)程序設計
無線傳感器網絡節(jié)點系統(tǒng)程序由主程序、數據采集子程序、與上位機通信的子程序等部分組成。這里主要介紹主程序的設計。
主程序是下位機測控系統(tǒng)的核心,主要完成對各子程序的調用,從而實現報警數據的采集、存儲及向上位機發(fā)送數據。當下位機接收到上位機發(fā)送的指令時,就按照指令去執(zhí)行相應的操作。主程序流程圖如圖3所示。
系統(tǒng)采用無線傳感器網絡技術,將家庭安防傳感器組成一個星型拓撲無線傳感器網絡,當有煙霧報警或紅外報警信號時,可以主動撥打主人的電話,使主人能在第一時間了解家庭的安全隱患。用戶也可以通過電話遠程設置新的報警電話號碼以及遠程布防和撤防等,實現了對報警主機的簡單控制。增加系統(tǒng)的控制功能可以實現對家電設備的遠程電話控制,將大大促進家庭的網絡化、數字化、智能化進程。