宋 躍, 范王壯遠(yuǎn), 陳 衛(wèi), 譚愛群
(1.東莞理工學(xué)院 a.電子工程學(xué)院; b.圖書館,廣東 東莞 523808)
0 引 言
近年來,家居智能化研究發(fā)展迅猛,家居防盜產(chǎn)品種類眾多,早期多為基于嵌入式技術(shù)的視頻防盜產(chǎn)品,以MCU作為主控芯片,配以相關(guān)模塊來實現(xiàn)基本安防功能[1-3],最近研究則是朝著智能化、遠(yuǎn)程化、語音交互方向發(fā)展[4-5]。本文介紹一種基于指紋技術(shù)、熱釋人體紅外與GSM移動網(wǎng)絡(luò)組合在一起的遠(yuǎn)程智能安防系統(tǒng)。
1 系統(tǒng)設(shè)計
圖1中系統(tǒng)由MCU控制部分、指紋電路、GSM電路、熱釋人體紅外電路、液晶顯示及鍵盤、報警等部分組成。

圖1 系統(tǒng)框圖
選擇STC12C5A60S2單片機(jī)作為系統(tǒng)的MCU,通過串口1、2分別實現(xiàn)與指紋電路和GSM電路的通信。通過I/0口控制2個人體感應(yīng)電路,室外人體感應(yīng)電路用來檢測室外是否有人,若有人則系統(tǒng)將給指紋模塊發(fā)送指紋識別命令,室內(nèi)人體感應(yīng)電路用來判斷是否有人已進(jìn)入室內(nèi),P2口完成鍵盤識別。
圖2系統(tǒng)工作中定義了一個變量flag_finger_pass,當(dāng)來者通過指紋儀開鎖后,變量flag_finger_pass為1,此時系統(tǒng)將忽略室內(nèi)人體紅外的檢測結(jié)果;當(dāng)來者不是通過指紋匹配進(jìn)去的,則flag_finger_pass為0,系統(tǒng)將啟動室內(nèi)人體紅外的檢測,若檢測到紅外輸出為高電平即有人已進(jìn)入,同時室內(nèi)之前又沒有人,系統(tǒng)則將判斷為有人非正常進(jìn)入室內(nèi)。MCU將給GSM模塊發(fā)送電話相關(guān)AT命令,GSM模塊將撥打系統(tǒng)之前設(shè)定的電話號碼以報警。

圖2 系統(tǒng)工作流程
2 硬件設(shè)計
指紋電路主要選取TFS_M12(B)二次指紋開發(fā)模塊,用1∶N的對比方式, 采用的8B命令,設(shè)計定時器1為19.2 kb/s波特率發(fā)生器,與單片機(jī)實現(xiàn)半雙工異步串口通信。MCU先發(fā)送協(xié)議命令給指紋模塊,指紋模塊接收到命令后則做出相應(yīng)動作,執(zhí)行結(jié)果通過串口傳送給MCU[5-7]。
熱釋人體紅外電路采用DYP-ME003,根據(jù)引腳2的電平輸出判斷是否有人體出現(xiàn)在其區(qū)域。當(dāng)紅外探頭檢測到人體出現(xiàn)時,引腳2輸出3.3 V的高電平,否則則輸出0 V電平。系統(tǒng)2個人體傳感器的輸出引腳分別連至MCU的P33和P10,置于門外處的紅外用來檢測是否有人要進(jìn)行開鎖,若檢測到有人,則系統(tǒng)將給指紋模塊發(fā)送指紋識別命令,來者需將手指放到指紋儀上完成指紋采樣與識別[8-11]。
GSM電路主要采用了Simense-TC35模塊,利用GSM網(wǎng)絡(luò)實現(xiàn)給屋主撥打電話以示警訊,系統(tǒng)提供為4.1 V,TC35與單片機(jī)串口2通信,采取雙232的接法,提高系統(tǒng)工作穩(wěn)定性。設(shè)計獨立波特率發(fā)生器BRT作為其波特率發(fā)生器,通過BRT初值裝載實現(xiàn)9600 bps的波特率[9,12-15]。
液晶顯示采用12864液晶屏,實現(xiàn)四行顯示,每行16個字符。12864的數(shù)據(jù)/命令選擇端(H/L)、讀/寫選擇端(H/L)、使能信號端引腳分別與MCU的P35、P36、P34口連接,數(shù)據(jù)端口與MCU的P0口連接。
鍵盤采用4×4,分功能鍵與數(shù)字鍵,功能鍵主要設(shè)計為如匹配、增加、刪除用戶,設(shè)置電話號、改變密碼、密碼驗證等指紋模塊與系統(tǒng)使用安全方面的要求,便于MCU通過按鍵信息來執(zhí)行相應(yīng)動作。

圖3 系統(tǒng)硬件圖
3 接口軟件設(shè)計
軟件開發(fā)工具是KEIL USION3,采用C51語言與匯編混合編程,本軟件設(shè)計主要包含指紋鎖功能部分、外部功能模塊與MCU之間的通信。首先MCU先判斷變量flag_zhiwen_pass是否為1,若為1則忽略室內(nèi)紅外檢測,否則則通過室內(nèi)紅外判斷室內(nèi)是否有人,若有則撥打設(shè)定好的電話號報警,同時將flag_zhiwen_pass置1,避免系統(tǒng)一直撥號。 軟件流程見圖2。
3.1 指紋電路接口
指紋電路與MCU通過串口1實現(xiàn)通信,MCU定時器1設(shè)計為波特率發(fā)生器,波特率定為19.2 kb,源程序片段如下:
MOV TMOD,#20H;定時器1方式2,C/T=1,GATE-0
MOV TH1,#0FDH
MOV TL1,#0FDH;設(shè)計波特率為19200比特
SETB TR1;啟動定時器1
SETB SM1
CLR SM0;串口方式2
SETB REN;允許接收
ORL PCON,#80H;波特率加倍
3.2 GSM-TC35接口
GSM-TC35與單片機(jī)的通信通過串口2來實現(xiàn),以BRT獨立波特率發(fā)生器為波特率發(fā)生器,串口2初始化源程序片段為:
Mov brt,#0dch; 設(shè)波特率為9600b
Mov s2con,#50h;串口2方式1,允許接收
Mov auxr,#14h;打開BRT,BRTR每一個時鐘計數(shù)一次
3.3 指紋比對
當(dāng)系統(tǒng)檢測到門外有人則進(jìn)行指紋匹配開鎖,首先是MCU給指紋電路發(fā)送指紋匹配命令,由指紋窗提示來者進(jìn)行指紋匹配,指紋電路在獲取來者的指紋信息后通過分析,分析的結(jié)果通過串口上傳至單片機(jī),1:N指紋比對源程序片段如下:
void compare()
{ uint f,u[3];
blk=0;
uc_send_8byte(0x0C,0x00,0x00,0x00);
mcu_receive_8byte();
delay_1ms(3000);
if(reveive_data[4]==0x01) //識別成功,液晶屏上顯示“識別成功”并附有該用戶在系統(tǒng)中的編號
{ f=0;
lcd_pos(2,0);
while(dis5[f]!='