任 合,盧 鑫
(哈爾濱工業(yè)大學電子信息工程學院,黑龍江哈爾濱150001)
無論社會發(fā)展如何進步,偷盜行為不可避免。車站、機場短暫離開,貴重物品時刻隨身攜帶極不方便。又例如目前大學校園大都是開放式管理,筆記本電腦丟失現(xiàn)象也時有發(fā)生。如果不慎遺失,除了本身的經(jīng)濟損失外,其內部的數(shù)據(jù)也存在被訪問或刪改的風險。許多同學在短暫離開教室去食堂用餐的過程中,提心吊膽害怕被盜,或為了防止被盜事件發(fā)生而不得不隨身攜帶,給學習生活帶來了很大不便。
目前市面上防盜產(chǎn)品品種多樣,最基本的機械鎖,在發(fā)生偷盜后只需損毀鎖頭本身即可達到目的;手機防盜大多采用指紋、圖形、數(shù)字等解碼方式,且偷盜或遺失行為已經(jīng)發(fā)生;車輛、家庭門鎖等防盜系統(tǒng)與本系統(tǒng)屬于不同的應用范疇。本系統(tǒng)更適合應用于稍許離開一定距離而不必將一些貴重物品隨身攜帶的場景,意在有偷盜行為不幸發(fā)生的過程中及時發(fā)現(xiàn),避免偷盜事件發(fā)生。目前,采用嵌入式防盜系統(tǒng)設計的防盜產(chǎn)品具有體積小功耗低的特點,受到電子設計愛好者的追捧[1-5]。文獻[1]中也是一種基于單片機系統(tǒng)的嵌入式防盜系統(tǒng)設計,但所選用單片機型號與本文不同,文章通過讀取防盜器的藍牙RSSI值,依據(jù)手機與防盜器的距離判斷被盜事件的發(fā)生,文章通過解決測距精度提高防盜報警的可靠性;文獻[2]采用了多種傳感器,主要采用視頻紅外等技術,應用于防火防盜系統(tǒng),與本文設計應用背景有所差異。本文借鑒了這些文章的部分設計思路,開發(fā)了一種具有防誤報算法的防盜報警裝置。
Arduino是一款基于Atmel公司AVR系列單片機的開發(fā)板,配合Arduino IDE開發(fā)環(huán)境便于進行二次開發(fā)。其主要功能特點有:
1)可依據(jù)官方提供開放源代碼的電路圖設計,簡化Arduino模組,完成獨立運行的微處理控制;
2)使用低價格的微處理控制器,可采用USB接口供電,不需外接電源方便調試,也可以使用外部9VDC輸入獨立工作,運行功耗在10~20 mA;
3)支持ISP燒入,將Bootloader固件燒入芯片;
4)可簡單地與傳感器,各種電子元件連接,應用于不同目的。
因此,本課題首先選用Arduino平臺完成本系統(tǒng)的開發(fā),之后完成基于AVR Atmega16A單片機的防盜系統(tǒng)設計。系統(tǒng)總體結構圖如圖1所示。
圖1 系統(tǒng)總體結構圖
當物品發(fā)生被盜事件時,必然將發(fā)生移動,產(chǎn)生角位移。角位移檢測部分比較簡單,采用滾珠開關HDX-2801感知物品是否被人移動,HDX-2801可以與Arduino的模擬端直接相連,通過讀取Arduino模擬口電壓值后進行判斷。若發(fā)生傾斜,則電壓值必然與當初人離開時發(fā)生變化,通過采集滾珠開關的電壓變化情況,可以判斷是否有偷盜行為的發(fā)生。
在本系統(tǒng)設計中需重點考慮的是誤報問題,因為在實際情況下由于他人不小心移動了物品,也會造成微小位移,但此時并非被盜情況發(fā)生。本系統(tǒng)設計防誤報算法可以處理區(qū)分系統(tǒng)輕微抖動和被盜兩種情況,減少誤報率。一般由于不小心造成的抖動是無意(隨機)的,屬于高頻抖動,而筆記本被盜時系統(tǒng)會發(fā)生較大位移,屬于低頻信息。通過對系統(tǒng)位移信息進行低通濾波可消除由于無意造成的抖動干擾。
數(shù)字濾波器大致可分為:有限沖激響應(FIR)濾波器和無限沖激響應(IIR)濾波器兩種。FIR沖激響應在有限時間內衰減為零,其輸出僅取決于當前和過去的輸入信號值;FIR濾波器幅頻特性精度較IIR低,但具有線性相位,即不同頻率的信號經(jīng)過FIR濾波器后,其延遲時間相同。而IIR沖激響應理論上會無限持續(xù),其輸出不僅取決于當前和過去的輸入信號值,也取決于過去的信號輸出值。IIR濾波器幅頻特性精度很高,但不具有線性相位特性,因此一般用于對相位信息不敏感的場合。
IIR濾波器公式如式(1)所示。
其中:參數(shù)P是前向反饋階數(shù),bi是前向反饋系數(shù),Q是后向反饋階數(shù),ai是后向反饋系數(shù),x[n]是輸入信號,y[n]是輸出信號。
FIR濾波器公式如式(2)所示。
式中:N是濾波器階數(shù),bi是濾波器系數(shù),x[n]是輸入信號,y[n]是輸出信號。
均值濾波屬于一種特殊的FIR濾波器,對于N階濾波器,所有濾波器系數(shù)都取相同的值1/N,則濾波器的作用就是取輸入序列的均值。在本系統(tǒng)設計中,對信號處理的性能屬于寬范圍要求,因此選擇更易實現(xiàn)的均值濾波算法[3-5]。
均值濾波中的一個重要參數(shù)是濾波滑動窗口的長度L,窗口長度L的設置應該根據(jù)實際場景決定。如果輸入數(shù)據(jù)干擾頻率比較大,L的值就應該較小。如果輸入數(shù)據(jù)干擾頻率較小,窗口長度L的值就應該較大,否則無法有效濾除干擾。均值濾波時域表達和頻域表達式分別如式(3)和式(4)所示。
該濾波器的幅頻特性曲線如圖2所示。均值濾波具有低通特性,低頻段衰減小,高頻段衰減大。從幅頻曲線可以看出均值濾波的阻帶紋波較大,且在低頻段的平坦度也不是太好,但由于本系統(tǒng)主要用于被盜物品的狀態(tài)變化判斷,結果不受影響。
取不同的窗口長度對抖動位移進行均值濾波,將各個窗口長度下的濾波結果對比如圖3所示,可以看出窗口長度越小,濾波后的序列與原序列的趨勢越接近,適合濾除高頻干擾。窗口長度較大,濾波后序列就更加平穩(wěn),該算法能有效濾除低頻干擾。
圖2 不同長度均值濾波的幅頻特性曲線
圖3 不同窗口長度下濾波效果對比
根據(jù)以上分析,取窗口長度為5進行均值濾波。
當防誤報程序結果滿足報警條件,判斷有偷盜行為發(fā)生時,通過軟件將arduino的數(shù)字端口置高,為蜂鳴器提供工作條件,對偷盜者發(fā)出警示。
針對本系統(tǒng)設計應用背景的具體需求,可以選擇藍牙、WIFI等方式實現(xiàn)警情傳送。藍牙具有低成本、低功耗、低復雜度、系統(tǒng)穩(wěn)定等優(yōu)點,目前市場上的智能手機大多支持藍牙2.0,在很大程度上具有推廣應用的價值。
但是藍牙2.0作用距離有限,使得應用場景受限。與2.0相比,藍牙4.0具有功耗低,傳輸距離遠等優(yōu)勢,理論傳輸距離為20~100m,可以覆蓋絕大多數(shù)應用場景。其缺點是,只有部分智能手機支持藍牙4.0,這種傳輸方式對不支持藍牙4.0協(xié)議的手機無能為力[6]。
Wi-Fi具有覆蓋范圍廣,傳輸速度快等特點。就覆蓋范圍而言,Wi-Fi在室外開闊空間里通信半徑可達300 m,在室內有障礙物遮擋時為100 m。本方案實現(xiàn)了采用UART-WiFi透傳模塊ESP8266完成警情信息的傳輸。
為滿足用戶需求,本系統(tǒng)實現(xiàn)了藍牙2.0、藍牙4.0和WIFI3種報警通信模式。
以WIFI通信為例,系統(tǒng)軟件設計流程框圖如圖4所示。
圖4 系統(tǒng)工作流程圖
本項目采用arduino開發(fā)板和以Atmega16A為核心模塊的自制電路板兩種方式實現(xiàn)了防盜系統(tǒng)的設計。考慮到檢測角位移和防誤報算法部分相同,且檢測本身比較簡單,只要對arduino的模擬端進行采樣即可實現(xiàn)檢測功能,而防誤報算法前面已經(jīng)給出計算,系統(tǒng)實現(xiàn)時只需對采集后的數(shù)據(jù)按照文中確定的模型進行處理即可。至于報警部分,當判斷出確有警情出現(xiàn)時,當出現(xiàn)警情時,將連接于arduino的蜂鳴器數(shù)字端口置高,對偷盜者發(fā)出警示。由于篇幅所限,本論文只給出采用開發(fā)板藍牙傳送和以Atmega16A為核心模塊的自制電路板WIFI傳輸警情的開發(fā)實例[7-8]。
將藍牙模塊連接至報警系統(tǒng)之前,首先通過USB轉TTL模塊將藍牙模塊與電腦相連,通過串口調試助手進行AT指令的設置。安裝arduino IDE開發(fā)調試環(huán)境,調試程序功能,電路連接如圖5所示[6-8],下載程序后可實現(xiàn)系統(tǒng)功能。
圖5 電路連接
利用arduino的開發(fā)環(huán)境,調試完成實現(xiàn)系統(tǒng)功能后,用ISP下載到自制系統(tǒng)中,可以完成整個系統(tǒng)的研發(fā)[9-12]。使用ISP向系統(tǒng)板下載電路的部分界面如圖6所示。選擇芯片類型為Atmega16A[13-15]。所研發(fā)的系統(tǒng)實物如圖7。
圖6 使用ISP下載程序
圖7 防盜報警系統(tǒng)(WiFi版)
由試驗結果可以看到,系統(tǒng)較好地實現(xiàn)了防盜報警的功能。
圖8 手機接收結果
本系統(tǒng)完成了利用Arduino開發(fā)板和自制PCB板的防盜系統(tǒng)設計,分別實現(xiàn)了藍牙2.0、藍牙4.0和WIFI 3種通信模式報警。設計了防誤報濾波算法,對角位移信息進行均值濾波,有效減少了誤報率。該系統(tǒng)體積微小,功耗低,價格便宜,易于安裝。適合應用于貴重物品不便隨身攜帶,需要短期外出的防盜報警。
參考文獻: