楊雪梅, 王民慧
(貴州大學 電氣工程學院, 貴陽 550025)
包包是人們的生活必需品,男女老少皆會用到,因為出門攜帶的所有物品人們基本上都會裝入其中,諸如各種證件、工作文件、衣物等。出門在外都希望將物品防護周全,然而目前市場上的包包(雙肩包或者單肩包)90%以上都是拉鏈鎖和機械密碼鎖,這些鎖件卻都存在被破譯、輕易破解的風險,安全性能較弱[1]。因此設計一款高安全性的智能包包很有必要。基于此,提出了以GSM通信,BD+GPS雙模全球定位和指紋識別為核心技術的智能包包設計方案。該包通過刷指紋唯一生物特征認證開鎖,提高物品防盜安全性,全球實時定位,包一旦丟失,還可迅速找回,若主人失聯,警方也可以根據包包定位信息找到一些破案的線索,保障了用戶出游的生命財產安全。如發生被盜行為,背包也可以通過GSM進行自動遠程報警。
本系統主要由STM32芯片、GSM模塊、BD+GPS雙模定位模塊、指紋識別模塊、獨立按鍵模塊、顯示屏模塊及必要的外圍電路構成,系統總體框圖如圖1所示。由圖1可知,控制器 STM32 模塊在設計上可分為如下部分:STM32 微控制器、數據存儲器、晶振電路和復位電路等,主要用于實現控制系統所有信息的處理[2]。GSM模塊主要用于自動遠程報警。指紋模塊主要用于刪錄指紋和刷指紋開鎖。BD+GPS主要用于實時位置定位,顯示屏主要用于顯示相關操作信息。獨立按鍵主要用于功能選擇。
本系統采用STM32F767IGTb為主控芯片,主要負責整個系統數據信息處理。芯片采用ARM Cortex-M7內核,采用ST獨有的自適應實時加速技術,擁有高達512 KB的片內SRAM,并支持SDRAM,帶有TFTLCD控制器和圖形加速器,運行頻率可達216 MHz,自帶雙精度硬件浮點單元(DFFPU),在做DSP處理的時候具有更好的性能[3]。

圖1 系統硬件結構框圖
生物識別技術就是利用人體生物特征對人體進行身份識別[4]。指紋識別因其唯一性和不變性的獨特優勢而備受研究開發人員青睞,因此為提高防盜性能,設計時選擇了指紋識別來控制智能包的開關。本設計選擇AS608指紋識別芯片,芯片內置 DSP 運算單元,集成了指紋識別算法,能高效快速采集圖像并識別指紋特征,最多可以存儲300個指紋特征。模塊配備了串口、USB 通訊接口,在設計中用串口(串口2)與主控芯片通訊。模塊內置了手指探測電路,可讀取狀態引腳(WAK)判斷有無手指按下。芯片引腳圖由圖2所示,引腳描述見表 1。

圖2 指紋模塊電路圖

表1 指紋模塊引腳描述
GPS導航定位時至少需要4顆以上的可視衛星,山林深谷或樓宇較密集地其信號易受阻擋,GPS系統單獨定位的質量就會大大下降[5]。中國自主研發的北斗衛星導航系統在中國范圍定位精準度較高,還具有慣導性能,即使在隧道也能實時連續精準導航。考慮到用戶出游安全,智能包采用BD+GPS雙模定位,BD+GPS雙系統聯合導航收到的衛星數較多,衛星座構成的幾何圖形最佳,減小誤差因子,從而提高定位精度。本設計中采用SkyTraq 公司的 S1216F8-BD 模組,具有 167 個通道,追蹤靈敏度高達-165 dBm,測量輸出頻率可達 20 Hz。可通過串口進行各種參數設置,并可保存在內部 FLASH,使用方便,自帶可充電后備電池,可以掉電保持星歷數據,定位速度快,且準確。本實驗中,模塊通過串口與主控芯片連接,通過顯示屏顯示定位模塊的經緯度及海拔信息。定位模塊電路原理圖如圖3所示。

圖3 定位模塊電路原理圖
因GSM模塊具有不受地域影響,覆蓋面積廣,可靠性強等優點[6],在本設計中的通信都采用GSM模塊。研究選擇了SIM800C型號。該款型具有工業標準接口,工作頻率范圍廣,內嵌 TCP/IP 協議,可以低功耗實現語音、SMS(短信)、MMS(彩信)、藍牙數據信息的傳輸。模塊板載了 RTC 后備電池,能維持 RTC的長時間掉電運行。該模塊與主控連接支持串口連接方式和TTL電平直接連接方式,智能包選擇TTL直接連接方式通信,主要用于實現該系統的打電話、接電話和發信息功能。
觸摸屏主要有:電阻式觸控屏、電容式觸控屏和聲波式觸控屏[7]。其中,電容式觸摸屏是所有觸摸屏種類中唯一具備高分辨率、超薄、可手寫等特點,同時實現多點觸控功能的觸摸屏[8]。電容觸摸屏幕的基本結構分為3層,即:保護玻璃、觸控層和顯示面板。本設計中選用了4.3寸RGB接口電容觸摸顯示屏,屏幕分辨率為480*272,最高支持24位真彩顯示,支持5點同時觸摸,具有很好的操控效果,提供背光控制功能。顯示屏主要用來加載、刪錄指紋的虛擬鍵盤,顯示定位信息。
警報模塊主要由蜂鳴器和放大電路構成。當指紋刷錯3次時,蜂鳴器響起。警報模塊電路圖如圖4所示。

圖4 警報模塊電路原理圖
本實驗用的模擬鎖是12 V小型電磁閥鎖,電子鎖門禁電路主要包括繼電器驅動電路和電子鎖開關電路,當電子鎖線圈兩端電壓達到 12 V 時就會上電開鎖[9],主控芯片通過繼電器控制鎖的開啟和關閉。當指紋刷對時,鎖線圈得電,鎖開啟,反之,鎖關閉。鎖模塊電路圖如圖5所示。
系統要實現的主要功能包括如下內容:按下按鍵WK-UP,顯示屏上加載虛擬鍵盤,此時可以刪錄指紋,并保存。當刷指紋3次錯誤后,蜂鳴器報警,GSM發送GPS定位信息和打電話給包包主人,當刷指紋正確時,鎖開啟。按下按鍵0時,在顯示屏上顯示定位信息。按下緊急按鍵時,GSM發送定位信息和打電話給主人的家人。包包落下時,主人打電話給包包,顯示屏上會顯示主人的聯系方式,以便拾主找到主人。在設計時,主程序的整體功能可解析為3個部分,即:指紋模塊子程序,GSM子程序,按鍵子程序。對此可做概述如下。

圖5 鎖模塊電路原理圖
(1)指紋模塊子程序。判斷是否有手指按下,如是則執行相應程序。
(2)GSM子程序。判斷GSM是否收到用戶的信息,如是則執行相應程序。
(3)按鍵子程序。按鍵掃描,判斷哪個按鍵按下,確定后執行相應功能程序。
主程序設計流程如圖6所示。

圖6 主程序流程圖
指紋識別模塊在系統中主要實現錄指紋、刪指紋、刷指紋功能,錄入指紋時。指紋識別模塊與單片機通過串口2通信。錄指紋時,先把手指放到指紋輸入傳感器上,手指離開1 s后再次識別同一手指的指紋,指紋模塊會再次進行錄入,只有2次指紋都成功錄入,才可稱作成功錄入了一個指紋模板[10],此后輸入存儲ID號就可以了。刪指紋時,先選中將要刪除指紋的ID號,再進行刪除。刷指紋就是輸入指紋與指紋庫中已有的指紋進行匹配,若能匹配則刷指紋成功,反之失敗。刷指紋程序設計流程如圖7所示。

圖7 刷指紋程序流程圖
GSM模塊與主控芯片兩者之間的通信數據采用的是AT指令。AT 指令集是從終端設備或數據終端設備向終端適配器或數據電路終端設備發送的一種指令方式。AT指令是以AT這兩個字符為開始,后帶通信設備之間的協議,并以字符作為結束[11]。每個TA命令行中只能包含一條AT指令。該設計中GSM模塊主要用來發送信息、打電話和接聽電話。發送信息設計流程如圖8所示。

圖8 發送信息流程圖
本系統采用的是機械按鍵,當有按鍵按下時,會有抖動,這時就需要消抖,研究采用延時消抖法進行消抖,接下來再判斷是否有按鍵按下,在此基礎上判斷是哪個按鍵按下,返回按鍵值。程序設計流程如圖9所示。

圖9 按鍵程序流程圖
系統上電后,開始按主程序設計執行,本次研發設計的各項功能均能實現,系統運行穩定,GSM模塊通訊良好,BD+GPS雙模定位精準,指紋識別準確,按鍵反應靈敏,供電穩定,顯示屏清晰。包包給主人打電話效果圖如圖10(a)所示,包包給主人發送定位信息效果圖如圖10(b)所示。

(a)包包給主人打電話 (b)包包給主人發送定位信息
(a) The bag calls the owner (b) The bag sends the location information to the owner
圖10 系統設計效果展示
Fig. 10 System design effect
本文所設計的智能包包可防止貴重物品被盜,即使被盜,也可根據包包自動定位信息迅速幫助主人找回貴重物品;緊急情況下,包包可成為主人的呼救工具,主人出游更方便安全。此系統應用領域很廣,適用于各類包包,設計簡單,易于實現和推廣。