李宇航,秦紅星,史苗紅,蔡佳宸,張墨涵
(唐山學(xué)院 河北省智能裝備數(shù)字化設(shè)計及過程仿真重點實驗室,河北 唐山 063000)
經(jīng)調(diào)查,國內(nèi)多數(shù)高校宿舍仍采用較為傳統(tǒng)的木門和掛鎖,樓道內(nèi)也未能覆蓋監(jiān)控系統(tǒng),這對學(xué)生的財產(chǎn)安全來說是一個很大的隱患[1]。大多數(shù)高校禁止學(xué)生在宿舍內(nèi)對基礎(chǔ)設(shè)施進行相關(guān)改造,諸如禁止更換門鎖和門窗、墻上釘釘、私拉電線等。同時學(xué)校為了方便宿管和其他管理人員在白天無人時進行查宿,禁止使用一些諸如門塞、阻門器等器件將門鎖死。此外,部分高校還存在晚上斷電、網(wǎng)絡(luò)條件有限等問題,安裝為家庭設(shè)計的防盜系統(tǒng)具有較大的局限性。因此需要一套簡單的設(shè)備來防盜。經(jīng)調(diào)查,目前市場上暫無相關(guān)產(chǎn)品,本文設(shè)計可以在上述限制條件下發(fā)揮作用。
本文就上述現(xiàn)象提出一種簡單的方案:使用STM32作為主控芯片,通過電容指紋識別技術(shù)對進入人員進行身份核驗,輔以外接雷達模塊、干簧管模塊、網(wǎng)絡(luò)模塊、服務(wù)端和用戶APP,可以在夜間斷電或網(wǎng)絡(luò)條件限制的情況下,為高校宿舍提供簡單的、低成本的、符合規(guī)定的宿舍防盜解決方案,以期為學(xué)生的財產(chǎn)安全提供有效的保護,對校內(nèi)治安乃至社會層面的治安都會產(chǎn)生較為深遠(yuǎn)的影響。
宿舍智能防盜系統(tǒng)具有監(jiān)測門狀態(tài)、監(jiān)測室內(nèi)人員狀態(tài)、指紋識別、語音播報、日志記錄和上報等功能。服務(wù)端具有接收和儲存事件日志、上報APP通知等功能。用戶APP具有查詢?nèi)罩?、接收報警信息等功能?/p>
本設(shè)計的主體部分為主控制器,通過前面板按鍵,手動設(shè)置布防或設(shè)定自動定時布防后,設(shè)備在最后一次關(guān)門后進入布防狀態(tài)。雷達電源開啟,此時門若再次打開,則語音提示進入的人員刷取指紋進行身份核驗;核驗成功后,設(shè)備進入待機模式,雷達電源關(guān)閉以降低輻射。如果未能根據(jù)指引進行身份核驗,在宿舍內(nèi)部行走,被雷達檢測到后,則會觸發(fā)報警程序,系統(tǒng)通過網(wǎng)絡(luò)模塊,將信息上報給遠(yuǎn)程服務(wù)器,并通知手機APP,同時擴大音量報警并警告離開。
本系統(tǒng)硬件部分包含主控制板、擴展板、24 GHz毫米波雷達模塊、干簧管模塊和指紋模塊。主控制器模塊如圖1所示。其中主控制板搭載STM32F302RBT6單片機,包含一個3.5寸LCD液晶屏、4個按鍵、外圍穩(wěn)壓電路和內(nèi)外擴展接口電路。擴展板包含2G模塊接口、WiFi模塊接口、語音模塊接口、2S鋰電池充電電路和DC-DC降壓電路。主控制板線路如圖2所示。
圖1 主控制器功能框圖
圖2 主控制板線路
指紋具有相對的唯一性,即每個個體的指紋都是獨一無二的,因此通過指紋方式識別進入人員具有較高的安全性和可靠性[2]。綜合體積、識別率、用戶體驗等因素,本設(shè)計采用R502A電容式指紋識別模塊,其具有體積小、識別率高、協(xié)議簡單等特點,通過TTL串口和STM32進行通信[2]。
檢測流程如下:當(dāng)手指按下指紋模塊,觸摸檢測引腳電平改變,觸發(fā)STM32外部中斷,在中斷服務(wù)函數(shù)中通過DMA發(fā)送采集圖像指令,此時模塊采集指紋圖像進入自身的圖像緩沖區(qū);如果采集成功,反饋結(jié)果到主控,主控繼續(xù)發(fā)送提取特征指令,并等待結(jié)果;若提取成功,則發(fā)送指紋搜索指令,等待最終識別結(jié)果,并生成相關(guān)事件。其流程如圖3所示。
圖3 指紋模塊識別流程
本系統(tǒng)通過毫米波雷達技術(shù),檢測人員流動情況,具有較高的抗干擾性和準(zhǔn)確度[3]。系統(tǒng)所選用的毫米波雷達模塊HLK-LD303-24G,其發(fā)射頻率為24.000~24.250 GHz,天線視角為水平43°、垂直116°,延遲時間經(jīng)實際測試大于等于60 ms,通過TTL串口與上位機進行通信。探測距離為10~350 cm,盲區(qū)為10 cm。相比于行業(yè)內(nèi)常用的諸如人體紅外檢測模塊,其具有靈敏度高、安裝方便、體積小、功耗低、抗干擾性極強的特點[4]。本系統(tǒng)充分利用其優(yōu)點,將其應(yīng)用在禁區(qū)檢測中。
實測中,基本延時在200 ms以內(nèi),且可以穩(wěn)定持續(xù)地檢測到人員流動。無誤報漏報,達到要求。同時為了保證檢測效果,模塊需要縱向安裝。安裝示意圖如圖4所示。
圖4 模塊安裝示意圖(俯視圖)
系統(tǒng)需要保證在檢測線附近的縱向盲區(qū)盡可能小且橫向盲區(qū)不干擾正常掃指紋的人員。經(jīng)計算,在檢測線上的盲區(qū)以模塊為中心分布在上下兩側(cè)、與墻呈32°夾角的范圍內(nèi)。盲區(qū)側(cè)視示意圖如圖5所示。
圖5 模塊盲區(qū)側(cè)視圖
盲區(qū)寬度計算公式如下:
故當(dāng)模塊安裝高度h=1 000 mm、房屋高度H=2 800 mm時,代入式(1)和(2)求得:地面盲區(qū)為一個高1 000 mm、寬630 mm的直角三角形,頂部為高1 800 mm、寬1 126 mm的直角三角形。在入侵人員不知情的情況下極難越過雷達監(jiān)測進入室內(nèi)而不觸發(fā)報警裝置。當(dāng)房屋寬度D取3 000 mm時,模塊的橫向檢測區(qū)域是以模塊為頂點、寬2 363.46 mm,高3 000 mm的等腰三角形。其中D=1 500 mm(即門的中心線位置)時寬度為1 181.72 mm(考慮到人員進入動作和指紋識別動作等)。
本系統(tǒng)使用的是單觸點常開式干簧管[5],使用兩個干簧管來檢測門的開關(guān),使用干簧管將3.3 V電源和MCU引腳相連,MCU內(nèi)部將引腳拉低。將干簧管端貼于門框上,磁鐵貼于門上同樣高度,安裝示意圖如圖6所示。
圖6 干簧管安裝示意圖
當(dāng)門關(guān)閉后,磁鐵和干簧管靠近,干簧管吸合,此時擴展引腳電平為高電平,不易受到干擾。門打開后,干簧管斷開,等效擴展引腳懸空,由于MCU內(nèi)部下拉的作用,此時讀取引腳狀態(tài)為低電平,合理設(shè)置中斷,進而判斷門的狀態(tài)。
擴展板主要包含三部分,即網(wǎng)絡(luò)模塊、語音模塊和電池管理模塊。網(wǎng)絡(luò)模塊分為2G模塊和WiFi模塊。2G模塊使用Tastek-E16,通過上位機設(shè)置IP地址、端口等信息,可以在上電后自動連接到服務(wù)器,并拉低LINKA和LINKB引腳,同時進入透傳模式。WiFi模塊使用ESP8266-01S模組,通過自編固件,上電后自動連接WiFi,連接服務(wù)器[6],IO2作為模塊的LINK引腳顯示網(wǎng)絡(luò)狀態(tài)[7]。底板同時只能插一個模塊,輸出單片機通過檢測LINK引腳電平狀態(tài),即可獲取當(dāng)前網(wǎng)絡(luò)狀態(tài),當(dāng)網(wǎng)絡(luò)狀態(tài)為成功連接,即可開啟串口DMA接收定長的自定義協(xié)議數(shù)據(jù)包。語音模塊使用的是JQ8400FL串口音頻模塊[8],其板載D類3W功放和W25Q64 FLASH。通過USB將預(yù)定的語音播報內(nèi)容拷貝進入FLASH,即可通過串口協(xié)議控制進行語音播報。設(shè)備使用2S 2 100 mAh鋰電池,可以在斷電條件下續(xù)航3 h左右,充電電路使用的是CS5086E解決方案。降壓電路使用的是TPS5430方案,可滿足設(shè)備用電要求[9]。
用戶交互界面主要包含屏幕、按鍵。屏幕選用ILI9488驅(qū)動的3.5寸LCD液晶屏,分辨率為320×480;采用SPI總線與STM32主控進行通信,總線時鐘頻率為10.5 MHz。
系統(tǒng)軟件設(shè)計在STM32平臺主要包含系統(tǒng)狀態(tài)模塊、用戶交互模塊、日志查詢模塊、系統(tǒng)界面模塊、網(wǎng)絡(luò)通信模塊及各個器件的底層驅(qū)動;在服務(wù)器平臺主要包含JAVA服務(wù)端、PHP后端和APP前端。系統(tǒng)軟件設(shè)計框圖如圖7所示。
圖7 系統(tǒng)軟件設(shè)計框圖
系統(tǒng)在啟動后先進行各個器件的初始化,完成后進入待機狀態(tài),可以在主界面通過按鍵來控制進入各個菜單,進行諸如查詢?nèi)罩尽⒃O(shè)置布防狀態(tài)、查看傳感器狀態(tài)等操作。
系統(tǒng)狀態(tài)模塊是單片機模塊部分的整體控制核心,負(fù)責(zé)防盜邏輯的實現(xiàn),其流程如圖8所示。
圖8 防盜邏輯流程
系統(tǒng)狀態(tài)模塊會產(chǎn)生各類事件,并處理輸入的各類控制信號,輸入控制主要是由用戶交互模塊的用戶按鍵或APP內(nèi)設(shè)定定時任務(wù)產(chǎn)生。事件主要由傳感器產(chǎn)生,當(dāng)系統(tǒng)狀態(tài)模塊感知到各類傳感器狀態(tài)發(fā)生改變,諸如報警、布防、撤防、掉電、電池電量低等,各類事件會經(jīng)過日志模塊記錄到FLASH里,并通過網(wǎng)絡(luò)模塊將事件傳遞到服務(wù)器。
用戶交互模塊主要包含按鍵信號處理和屏幕顯示驅(qū)動。
按鍵信號處理主要是在STM32的GPIO中斷服務(wù)函數(shù)內(nèi)部,觸發(fā)自定義的事件函數(shù),并在函數(shù)內(nèi)部設(shè)置 flag,配合1 kHz TIM中斷來達到長按、短按監(jiān)聽的效果,區(qū)分長按短按等事件。
屏幕顯示驅(qū)動主要是由若干結(jié)構(gòu)體構(gòu)成的狀態(tài)機來儲存界面信息,通過按鍵設(shè)置切換到不同的界面,在主循環(huán)內(nèi)不斷刷新;當(dāng)狀態(tài)機更新后,對屏幕顯示內(nèi)容進行更新。
主控制器和PHP服務(wù)器之間通過TCP連接進行通信,在TCP連接成功、LINK引腳電平拉低后,使用自定義協(xié)議進行通信。數(shù)據(jù)協(xié)議見表1所列。
表1 自定義協(xié)議數(shù)據(jù)包格式
每個宿舍有一個4位的宿舍號,MCU向服務(wù)器透傳登錄包,諸如當(dāng)宿舍號為0xABCDEFAA,則內(nèi)容為0xEE、0xA0、0x04、0xAB、0xCD、0xEF、0xAA、0xB5、0xFE。服務(wù)器收到后標(biāo)記宿舍號,向主控反饋包類型為0x11的確認(rèn)包,此時連接確認(rèn)建立。
當(dāng)系統(tǒng)事件發(fā)生時,將事件類型、時間等信息上報到服務(wù)器,由PHP服務(wù)端進行后續(xù)處理,流程如圖9所示。
圖9 事件記錄流程
日志模塊的核心是一塊W25Q64的FLASH儲存芯片,存儲發(fā)生時間、事件類型、編號等,可以通過屏幕進行查詢。
我開始研究如何去未來。無意間,我發(fā)明了一種藥水——時光藥水。喝了這種藥水,可以穿越到三千年后的某一天,還可以在那里待上一整天。
在PHP服務(wù)端,系統(tǒng)運用PHP+MySQL技術(shù),來完成人員信息的管理和日志信息的存儲。
服務(wù)端擁有一個常駐進程,負(fù)責(zé)監(jiān)聽客戶端TCP連接,同時配合前端HTML5+CSS+JS,使用JQuery和Bootstrap,簡單地通過APP/B/S架構(gòu)[10],實現(xiàn)了一套響應(yīng)式的APP界面,提供手機查詢、控制等功能[11]。
服務(wù)端具有完整的登錄和注冊界面,每個宿舍成員可以注冊一個自己的賬號,并綁定自己所在的宿舍號。通過Post上傳終端的事件,PHP服務(wù)端會進行實時記錄,存入數(shù)據(jù)庫,對于需要通過APP通知反饋給用戶的,則通過CID檢索同一宿舍下所有人員的app_taken并以JSON形式返回給服務(wù)端[12]。
兩個傳感器安裝距離為50 cm,安裝于門的中上部。
實驗持續(xù)9天,24 h誤報次數(shù)表示在關(guān)門狀態(tài)下連續(xù)24 h門狀態(tài)不變,受到外界干擾導(dǎo)致的誤判開門次數(shù)。開門和關(guān)門監(jiān)測成功率指的是連續(xù)開關(guān)門100次有效檢測率。干簧管的實驗數(shù)據(jù)見表2所列。
表2 干簧管實驗數(shù)據(jù)
雷達測試實驗結(jié)果見表3所列。
表3 雷達測試實驗數(shù)據(jù)
最大測量距離取10次平均值2 740 mm 。觸發(fā)寬度范圍指的是以雷達為中線、距離1 200 mm處的觸發(fā)寬度范圍。檢測率指的是距離雷達1 500 mm處越過中線時雷達是否成功檢測到人。下部盲區(qū)監(jiān)測結(jié)果指的是實驗對象為1 800 mm且盡力蹲下貼墻走時盲區(qū)規(guī)避是否成功,試驗次數(shù)為10次時8次成功檢測到即標(biāo)記True。
經(jīng)過實際測試,模塊安裝距離門邊1 300 mm時誤報率降低,最佳的安裝距離為2 000 mm以上。推薦安裝高度h=1 000 mm,同時在盲區(qū)內(nèi)鋪設(shè)桌子等。
本文針對目前高校宿舍安全的問題,基于STM32單片機,配合外圍的傳感器,實現(xiàn)了一套切實可行的防盜報警方案,并對系統(tǒng)的實際運行狀況進行測試。在實際測試中,整個系統(tǒng)能達到防盜報警預(yù)期效果,具有一定的推廣應(yīng)用價值。