韓曉雨
(南通大學(xué),江蘇 南通226019)
隨著社會經(jīng)濟(jì)、科技的發(fā)展,電子技術(shù)逐漸深入人們的生產(chǎn)生活。傳統(tǒng)的機(jī)械化門鎖在安全性、便捷性方面已不能滿足人們?nèi)粘P枨蟆D壳笆袌錾现髁鏖T鎖有機(jī)械門鎖、電子密碼智能門鎖、IC卡門鎖、指紋門鎖。機(jī)械門鎖在安全性、便捷性遠(yuǎn)遠(yuǎn)不如智能門鎖,具有易丟失、易竊取等缺點。而IC卡和指紋門鎖往往用在部分極其私密性場所,成本高、運用不廣泛。因此電子密碼智能門鎖逐漸成為人們生活首選之舉。本文設(shè)計了一種基于STM32的智能門鎖系統(tǒng)。
芯片控制的電子智能門鎖系統(tǒng)主要由硬件和軟件兩個部分組成。硬件要求:由主控STM32G431RBT6芯片及其周邊電路構(gòu)成。密碼通過按鍵模塊進(jìn)行輸入。同時存儲模塊將管理者設(shè)置的密碼與輸入密碼比對。LCD顯示屏可以實時顯示輸入部分狀態(tài)功能,無線通信模塊進(jìn)行與上位機(jī)的實時通信,通過PWM控制門鎖開關(guān),以及光報警模塊這四部分構(gòu)成了系統(tǒng)輸出模塊。
軟件功能要求如下:
1) 三個按鍵控制輸入三位密碼大小,按鍵1實現(xiàn)第一位數(shù)自增,以此類推。另外按鍵4實現(xiàn)確認(rèn)功能。
2) 設(shè)置3位初始密碼(系統(tǒng)默認(rèn)111),未輸入時顯示@@@三個字符。輸入密碼時LCD顯示輸入的密碼。密碼輸入正確時,LCD顯示歡迎回家,LED1常亮5S后自動熄滅,同時PWM輸出占空比50%的2 kHz方波信號使得門鎖打開;密碼輸入錯誤時,LED2燈亮起閃爍,同時向上位機(jī)發(fā)出“ERROR”字符。超過三次輸入錯誤,向上位機(jī)發(fā)送“Danger!”字符。
3) 修改密碼是通過上位機(jī)直接發(fā)送三位數(shù)字從而重置密碼。安全性極高,易于修改。
4) 密碼鎖具有存儲功能??蓪崿F(xiàn)掉電保護(hù)功能。密碼鎖鎖定后,若已輸入系統(tǒng)突然斷電則可防止重新輸入密碼的機(jī)械性操作,對智能電子鎖起到掉電安全保護(hù)的作用。大大方便了操作實現(xiàn)。
如圖1所示,給出了本文硬件圖。硬件電路分為:STM32G431RBT6為主控芯片、AT24C02儲存模塊、按鍵電路、TFT-LCD屏、報警電路、無線通信電路等。
圖1 系統(tǒng)硬件圖
目前市場常見的電子門鎖芯片為STC89C51系列芯片。雖然其價格適中,但是其IO32位接口有限,不適合再將其擴(kuò)展,同時內(nèi)存也有限制,不利于后續(xù)的擴(kuò)展升級等。還有FPGA芯片雖然性能很好,但是其價格昂貴,不利于市場擴(kuò)展??v觀下來還是STM32系列芯片合適。STM32系列單片機(jī),是一款性價比超高、功能強(qiáng)大的系列單片機(jī)。它基于專為須要高性能、低成本和低功耗的嵌入式應(yīng)用而設(shè)計的arm Cortex-M內(nèi)核,擁有最好的外設(shè):1 μS雙12位ADC、4 Mbit/s UART、18 Mbit/s SPI等,在功耗和集成度上也有不錯的表現(xiàn)[1]。同時其開發(fā)板具備晶振、存儲器等設(shè)備,極大地節(jié)省了成本。
2.4×2.8 TFF-LCD顯示模塊為國信長天的UC8230s控制芯片,可實現(xiàn)10×20的字符顯示。該顯示模塊的性價比高,使用方便。因此,在設(shè)計智能門鎖時,綜合衡量,選擇該款芯片作為顯示模塊。
EEPROM硬件引腳綁定如圖2所示。AT24C02是低功耗CMOS型EEPROM,內(nèi)含256×8位存儲空間。具有讀寫速度快、可擦寫次數(shù)多、抗干擾性強(qiáng)、體積小、數(shù)據(jù)不易丟失等特點[2]。采用IIC總線讀寫方式進(jìn)行數(shù)據(jù)的傳輸。占用較少的內(nèi)存和IO接口,節(jié)省了資源,十分的方便,綜上所述選擇AT24C02是不二之選。
圖2 AT24C02硬件引腳綁定
選擇HC-05藍(lán)牙串口穿透模塊作為無線傳輸模塊,是因為HC-05藍(lán)牙穿透模塊的無線工作頻段在2.4 GHz左右,屬于全球的免付費免申請的ISM頻段之間;模塊最大發(fā)射功率為4 dBm,接近于2.5 mW,接收靈敏度-85 dBm,由此看出較弱的藍(lán)牙信號都能接收到;通訊接口為UART 3.3 V TTL電平;板載的蛇形PCB天線可以實現(xiàn)大約10 M距離的無線通信傳輸[3]。HC-05具有6個引腳,VCC、GND、EN、STATE、RXD、TXD。其中VCC接5 V電壓,GND接地,RXD和TXD接STM32G431的PA9與PA10。藍(lán)牙模塊連接如圖3所示。
圖3 HC-05引腳連接
按鍵模塊使用4個獨立按鍵,與STM32G431的PB0~2和PA0接口連接。通過與定時器連用,實現(xiàn)消抖功能。每次單擊實現(xiàn)密碼的自增功能(0·~9循環(huán)自增)。
LED燈與STM32G431的PC8和PC9接口連接。使能信號與PD2連接。使能引腳拉高則可點亮,LED共陽極,PC8、9引腳拉低點亮。
智能門鎖控制系統(tǒng)的軟件設(shè)計主要分為主程序、TFF-LCD顯示程序、AT24C02讀寫存儲程序、無線串口通信程序、按鍵電路、LED電路及中斷服務(wù)程序的設(shè)計。實現(xiàn)密碼輸入、實時顯示、修改密碼、報警設(shè)備、開關(guān)鎖設(shè)備的功能。系統(tǒng)流程圖如圖4所示。
圖4 系統(tǒng)流程圖
按鍵1~3實現(xiàn)輸入密碼功能。按鍵4實現(xiàn)確認(rèn)密碼功能。
頁面設(shè)計分為三個頁面,頁面一為:“請輸入三位密碼:@@@”。頁面二為“輸入密碼為:123”。頁面三為:“welcome home”。默認(rèn)為頁面一。當(dāng)有按鍵按下,執(zhí)行頁面二。密碼正確進(jìn)入頁面三。
1) 若輸入密碼正確,流程如圖5所示。a) 初始為頁面一“@@@”;b) 檢測有按鍵按下則到頁面
二“顯示相應(yīng)數(shù)字”;c) 與設(shè)置密碼比較,成功進(jìn)入頁面三“welcome home”并發(fā)送PWM信號持續(xù)5 s,打開門鎖4.5 s后返回頁面一。
圖5 密碼正確顯示流程
2) 若輸入密碼失敗,如圖6所示。a) 初始為頁面一“@@@”;b) 檢測有按鍵按下則到頁面二“顯示相應(yīng)數(shù)字”;c) 與設(shè)置密碼比較,錯誤后直接返回頁面一,若一次錯誤則向上位機(jī)傳輸“ERROR”,三次則傳輸“dangerous?。?!”
圖6 密碼輸入錯誤上位機(jī)收到消息
智能門鎖經(jīng)過不斷調(diào)試和優(yōu)化,準(zhǔn)確率高達(dá)100%。當(dāng)然這也是一個門鎖必備的功能。目前市場上的電子智能門鎖各種各樣,功能也是層出不窮。智能門鎖相比機(jī)械鎖的突出優(yōu)點就是安全性高、便攜性好、不易丟失。按鍵式的智能門鎖市場廣泛;IC卡式,容易丟失、損壞、成本高;生物識別式電子鎖的成本高,多用于私密性強(qiáng)的地帶。但是智能門鎖也有一定的缺點,若遺忘密碼,且不會掌握上位機(jī)的老年用戶使用較為困難。但是我相信隨著一次一次的進(jìn)步,必然會變得更好。