


摘? 要:為了增強門鎖的安全性,在傳統門鎖的基礎上,設計了一種基于“互聯網+”的智能門鎖控制系統,該系統以STC8單片機為核心,擴展了關門檢測、步進電機、藍牙和Wi-Fi無線接口,實現了一種無線智能門鎖控制系統。該門鎖可以借助智能手機通過串口藍牙模塊或Wi-Fi模塊進行控制,具有智能上鎖、遠程上鎖、無法及時開鎖、關門檢測等功能,它可以極大地提高門鎖的安全性、可靠性、方便性和智能化,對保障人們的生命和財產安全有著重要的意義。
關鍵詞:智能門鎖;“互聯網+”;STC8單片機;ESP8266
中圖分類號:TP273;TP368.2? ? ? ?文獻標識碼:A 文章編號:2096-4706(2020)17-0038-04
Abstract:In order to enhance the safety of door locks,on the basis of traditional door locks,a smart door lock control system based on the “internet plus” is designed. With STC8 as the core,the system extends the door closing detection,stepping motor,Bluetooth and Wi-Fi wireless interface,and realizes a wireless intelligent door lock control system. The door lock can be controlled by Bluetooth or Wi-Fi device of smart phone. It has the functions of intelligent locking,remote locking,non technical unlocking and door closing detection. It can greatly improve the safety,reliability,convenience and intellectualization of the door lock,and it is great significance to protect people's life and property safety.
Keywords:intelligent door lock;“internet plus”;STC8 microcontroller;ESP8266
0? 引? 言
門鎖是與人們日常生活聯系最為緊密的物品之一,它對保護人們的生命和財產安全有著極其重要的意義。近年來,因鑰匙丟失、技術開鎖等原因造成的刑事案件屢見不鮮,除了門鎖本身的安全性和可靠性之外,該類案件的發生主要是因為當事人的忽略,以及門鎖不具備智能上鎖或者報警提示的功能導致的。同時,隨著社會的發展、科技的進步,人們對門鎖的安全性、可靠性、便捷性等要求也越來越高,傳統機械門鎖的安全性已經越來越不能滿足人們的需求。為了提高門鎖的安全性、可靠性,提高其智能化程度,本文作者采用STC8單片機、藍牙和Wi-Fi、步進電機等模塊設計了一種無線智能門鎖控制系統,該門鎖是在原有門鎖的基礎上又增加的第二道“智能生命防線”,它具有智能上鎖、遠程上鎖、無法被技術開鎖、門未關好報警提示等功能,可以通過智能手機或機械鑰匙開鎖、閉鎖等操作。
1? 系統總體設計
智能門鎖控制系統采用宏晶科技公司最新生產的STC8單片機(STC8A8K64S4)為核心,以“互聯網+”技術為依托,擴展了Wi-Fi模塊(ESP8266)、串口藍牙模塊(CC25 41)、步進電機、機械鑰匙分離裝置、關門檢測等模塊設計而成的。系統總體設計框圖如圖1所示。
STC8單片機通過Wi-Fi模塊接入到互聯網中,智能手機可通過互聯網即可實現上鎖、開鎖等操作,智能手機也可以通過串口藍牙模塊實現同樣的功能。關門檢測采用的是鐵感應接近開關,當門完全閉合時,感應接近開關檢測到門框上的鐵質材料而輸出關門信號,此時門鎖上鎖,當在設定的時間內沒有檢測到關門信號時,報警器發出報警信號,同時單片機通過互聯網向綁定的手機推送門未鎖好的信息。智能手機通過Wi-Fi模塊或串口藍牙模塊和STC8單片機通信時采用3DES加密算法對數據進行加密,單片機檢測開鎖信號的合法性,檢測到合法的開鎖信號后才會驅動步進電機工作,帶動齒輪轉動打開門鎖。為了防止系統停電等原因造成智能手機無法開鎖,在門鎖機械鑰匙之間設計了一個電磁分離裝置,系統正常工作時,單片機控制電磁分離裝置使得機械鑰匙和門鎖分離,從而使機械鑰匙失效,若系統停電,電磁分離裝置在彈簧的作用下自動復位,使得機械鑰匙恢復開門功能。
2? 系統硬件設計
2.1? 系統電源設計
考慮到系統的步進電機可能需要較大的電流,電源模塊采用的是MP1584大電流穩壓模塊,MP1584具有4.5 V ~28.0 V的寬輸入電壓,它可以輸出高達3 A的電流,此處,它把12.0 V電源轉換為穩定的5.0 V電源,供給STC8單片機、步進電機、藍牙模塊等,但Wi-Fi模塊(ESP8266)需要3.3 V工作電壓,因此,采用一個3.3 V的REG-1117電源模塊把5.0 V電壓再轉換為3.3 V電壓,給Wi-Fi模塊供電。系統電源設計原理圖如圖2所示。
2.2? 系統主控電路及Wi-Fi模塊接口設計
系統主控模塊采用的STC8單片機STC8A8K64S4進行設計的,STC8A8K64S4是宏晶科技公司最新開發的超高速8051單片機,它內部有8 K RAM,64 K Flash,4個串行口,12位ADC等豐富資源,并在內部集成了高精度的晶振電路,ISP編程時5 MHz~30 MHz范圍可設置,具有速度快、功耗低、抗干擾、資源模塊豐富、性價比高、設計方便等優點,可用在智能控制、智能儀器儀表等應用場合。該單片機工作電壓為2.0 V~5.5 V,并有多種封裝可選,此處采用的是LQFP48引腳的封裝,5.0 V工作電壓。系統主控電路及無線模塊接口原理圖如圖3所示。
STC8單片機通過串行口3連接Wi-Fi模塊ESP8266,通過串行口2連接藍牙模塊。ESP8266是一款超低功耗的UART-Wi-Fi透傳模塊,它具有超低能耗技術,專為移動設備和物聯網應用設計,可將用戶的物理設備連接到Wi-Fi無線網絡上,進行互聯網或局域網通信,實現聯網功能。此處ESP8266工作在STA+AP模式,ESP8266既可以通過路由器連接互聯網,也可以作為無線接入點,實現與智能手機的互聯。Wi-Fi模塊主要用于通過互聯網和智能手機連接,而藍牙模塊主要是實現與智能手機的點對點連接。圖3中的電阻R1、R2、R3是為了實現單片機5.0 V電平和Wi-Fi模塊3.3 V電平接口而設置的,如果STC8單片機的I/O口配置在準雙向口模式,則該三個電阻可以省去。
在圖3中D1、D2為2個LED狀態指示燈,可以用來指示系統的工作狀態;按鍵KEY1接在STC8單片機的P3.2引腳,該按鍵可用做在屋內開鎖的開關,在門鎖關閉的情況下,按下此開關可以實現開鎖,并且該按鍵的功能可通過智能手機軟件進行屏蔽,進一步增加了系統的安全性、方便性和靈活性。STC8單片機的P3.3口接關門檢測的鐵感應接近開關,如果門沒有鎖好,它會向STC8單片機輸出低電平信號。STC8單片機定時檢測P3.3口是否有關門信號,如果在用戶設定的時間內沒有檢測到關門信號,則STC8單片機驅動報警器發出報警信號,同時,通過網絡向用戶綁定的手機推送門未鎖好的提示信息。
2.3? 系統步進電機設計
控制門鎖開關的步進電機采用的是4相5線減速步進電機24BYJ,使用ULN2003驅動,STC8單片機的P1.3~P1.6四個I/O口通過ULN2003驅動步進電機。ULN2003是高耐壓、大電流達林頓晶體管陣列,它工作電壓高,工作電流大,可以驅動蜂鳴器、繼電器、步進電機等大電流器件。采用步進電機除了計步準確之外,還一個好處是如果門鎖的主控電子芯片受到人為強電場的干擾等原因而損壞,沒有了主控芯片的控制步進電機是不會自動轉動的,因而也不會自動打開門鎖。STC8單片機的P2.2口通過ULN2003驅動蜂鳴器發出報警信號。P1.2口通過ULN2003產生SOUT信號驅動一個電磁分離裝置,該裝置主要用來分離門鎖的機械鑰匙,也就是說STC8單片機上電后在SOUT口輸出一個低電平,使得電磁分離裝置分離機械鑰匙孔上的齒輪,使得機械鑰匙無法開鎖;當系統停電時,電磁分離裝置上的彈簧會拉動鎖栓控制裝置復位,使得機械鑰匙功能恢復正常,用戶可以使用機械鑰匙打開門鎖。系統步進電機驅動原理圖如圖4所示。
3? 系統軟件設計
系統軟件設計主要包括門鎖控制下位機軟件設計和智能手機端APP設計,這里主要論述門鎖控制下位機軟件設計流程,下位機主要在Keil C開發環境中用C語言編寫,并把3DES算法移植到STC8單片機中。
如果系統停電或者系統嚴重故障,則電磁分離裝置在彈簧的作用下自動復位,機械鑰匙自動恢復開門功能。如果系統上電正常,則進行系統自檢及系統初始化工作,STC8單片機從EEPROM中讀取系統的各種參數信息并進行初始化工作。系統初始化完成之后,STC8單片機通過串行口3和Wi-Fi模塊連接,并通過Wi-Fi模塊連接到互聯網,STC8單片機通過串行口發送AT指令對Wi-Fi模塊進行配置。首先使用AT指令把模塊配置成STA模式,并設置模塊要加入的路由信息,如路由器名稱及秘密等,為了保證網絡數據的可靠性,此處Wi-Fi模塊和路由器之間配置為TCP連接方式,之后Wi-Fi模塊進入透傳模式,等待用戶從網絡發回的命令。STC8單片機和Wi-Fi模塊之間的數據通信是以包為單位的,一包數據包括:包頭、數據長度、命令字及CRC校驗。STC8單片機的串行口3一直處于中斷接收狀態,一旦檢測到串行口輸入數據,則進入串行口3中斷服務子程序,如果檢測到數據包頭0xAA,則再連續接收2個字節的數據包長度,之后根據數據包的長度,在規定的時間內接收數據及CRC校驗。
系統連接網絡成功之后,首先檢測關門傳感器的返回信號是否正常,如檢測到關門信號不正常(即門未安全關門),系統即通過報警器發出報警信號,并通過互聯網把報警信號推送到綁定的智能手機。當系統檢測到關門檢測傳感器信號正常之后就會實時檢測通過Wi-Fi模塊或串口藍牙模塊傳回來的3DES加密信號,如檢測到合法的信號,STC8單片機就會調用DES Decrypt函數對數據進行解密,并從解密后的數據中分離出命令碼,根據命令碼執行相應的操作,如開鎖、閉鎖、參數設置等。下位機軟件設計流程圖如圖5所示。
4? 結? 論
本設計在傳統機械門鎖的基礎上增加了智能檢測功能,并通過“互聯網+”實現一種智能門鎖控制系統,“互聯網+”智能門鎖是未來鎖業發展的必然趨勢,它可以極大地提高門鎖的安全性、可靠性、方便性和智能化程度。該類門鎖系統在保障人們的生命和財產安全、減少因門鎖安全造成的各種刑事案件的發生等方面所帶來的間接經濟效益更是無法估算的。因此,該智能門鎖的研發和推廣應用有較高的經濟效益和顯著的社會效益,具有廣泛的應用前景。
參考文獻:
[1] 陳劍棟,張林,彭國文.基于ZigBee技術的智能門鎖系統設計 [J].現代信息科技,2019,07.
[2] 宏晶科技公司.STC8A8K64S4系列單片機器件手冊 [EB/OL].(2020-07-26).http://www.stcmcudata.com/STC8F-DATASHEET/STC8A-STC8F-20201016.pdf.
[3] 樂鑫信息科技(上海)股份有限公司.ESP8266技術參考手冊 [DB/OL].(2020-07-26).https://www.espressif.com/zh-hans/support/documents/technical-documents.
[4] 趙景波,張偉.Protel 99 SE實用教程:第3版 [M].北京:人民郵電出版社,2017.
[5] 徐愛鈞.單片機原理與應用——基于C51及Proteus仿真 [M].北京:清華大學出版社,2015.
作者簡介:常國權(1973—),男,漢族,河南清豐人,副教授,碩士,研究方向:嵌入式技術應用與開發。