梁樂彬
?
基于BLE4.2的外置型智能門鎖控制裝置
梁樂彬
(廣東華僑中學(xué))
針對目前傳統(tǒng)機(jī)械門鎖升級為智能門鎖時,需拆除原有門鎖而導(dǎo)致安裝難度大、置換成本高等問題,研制基于BLE4.2的外置型智能門鎖控制裝置。該裝置利用低功耗藍(lán)牙模塊與手機(jī)進(jìn)行交互通信,實(shí)現(xiàn)手機(jī)APP有效控制傳統(tǒng)機(jī)械門鎖;并采用數(shù)字指紋和TEA加密算法、MD5加密算法確保門鎖安全性。該裝置直接加裝在門鎖上,無需更換原有傳統(tǒng)機(jī)械門鎖,即可實(shí)現(xiàn)傳統(tǒng)機(jī)械門鎖智能化控制功能,具有安裝方便、開關(guān)鎖便利、安全可靠等優(yōu)點(diǎn)。
智能門鎖;低功耗藍(lán)牙BLE4.2;控制裝置;加密算法
隨著科技的進(jìn)步、生活水平的提高,人們對生活質(zhì)量的需求也不斷提升,家居環(huán)境舒適性、安全性等需求推動了智能家居的發(fā)展。智能門鎖是智能家居的重要組成部分,其采用改造傳統(tǒng)機(jī)械鎖芯結(jié)構(gòu)的方式,利用嵌入式微芯片電子電路操縱機(jī)械結(jié)構(gòu),完成鎖門動作;同時,使用成熟的非機(jī)械鑰匙作為用戶識別ID,主要有指紋、虹膜識別門禁、磁卡、射頻卡等[1]。目前,市場上智能門鎖價格較高,實(shí)際安裝過程需拆除原有傳統(tǒng)機(jī)械門鎖,置換成本較高、安裝難度較大,需專業(yè)人員完成安裝工作。
本文設(shè)計(jì)基于BLE4.2的外置型智能門鎖控制裝置,在原有傳統(tǒng)機(jī)械門鎖反鎖旋鈕基礎(chǔ)上,通過藍(lán)牙與手機(jī)交互通信,利用上鎖旋鈕軌跡學(xué)習(xí)、反鎖旋鈕旋轉(zhuǎn)機(jī)制、安全機(jī)制等技術(shù),有效控制傳統(tǒng)機(jī)械門鎖,實(shí)現(xiàn)機(jī)械門鎖智能化功能,且裝置安裝簡易。
基于BLE4.2的外置型智能門鎖控制裝置組成框圖如圖1所示,包括鑰匙端和控制端。
鑰匙端是新型開門鑰匙(如手機(jī)、平板電腦),包括APP和藍(lán)牙模塊2部分。藍(lán)牙模塊是通信主端,APP控制藍(lán)牙模塊與控制端通信。
圖1 基于BLE4.2的外置型智能門鎖控制裝置組成框圖
控制端包括藍(lán)牙模塊及微控制器MCU、電機(jī)驅(qū)動模塊、旋鈕轉(zhuǎn)動機(jī)械結(jié)構(gòu)、防拆除監(jiān)測模塊和聚合物鋰電池電源5部分。其中,藍(lán)牙模塊及微控制器MCU實(shí)現(xiàn)與鑰匙端的藍(lán)牙通信、密碼驗(yàn)證開鎖和上鎖功能,MCU加密密碼并記錄旋轉(zhuǎn)軌跡;電機(jī)驅(qū)動模塊提供旋轉(zhuǎn)編碼器、傳感器和步進(jìn)電機(jī)的驅(qū)動電路;旋鈕旋轉(zhuǎn)機(jī)械部分是開啟門鎖的結(jié)構(gòu),該結(jié)構(gòu)可卡入門鎖反鎖旋鈕,并完成開鎖和上鎖動作;防拆除監(jiān)測模塊檢測是否在管理員未授權(quán)的情況下拆除控制端,并反饋至MCU;聚合物鋰電池電源部分為控制端其他部分提供電源,其電池電量也反饋至MCU。
利用一個與MCU連接的旋轉(zhuǎn)編碼器作為旋鈕轉(zhuǎn)動檢測模塊,檢測門鎖反鎖旋鈕的轉(zhuǎn)動。旋轉(zhuǎn)編碼器與大齒輪中心軸相連,當(dāng)反鎖旋鈕轉(zhuǎn)動時可同時轉(zhuǎn)動大齒輪。其還用于喚醒外置型智能門鎖控制端和記錄普通機(jī)械門鎖開鎖上鎖動作,以及轉(zhuǎn)動時到達(dá)位置的檢測。旋轉(zhuǎn)編碼器通過兩相增量式編碼器計(jì)數(shù)脈沖值,可檢查普通機(jī)械門鎖旋鈕轉(zhuǎn)動方向和轉(zhuǎn)動軌跡。
利用一個與MCU連接的步進(jìn)電機(jī)驅(qū)動模塊控制步進(jìn)電機(jī)轉(zhuǎn)動。步進(jìn)電機(jī)與步進(jìn)電機(jī)驅(qū)動模塊連接,并與開啟單元小齒輪相連,帶動開啟單元大齒輪和大齒輪上的旋鈕卡扣轉(zhuǎn)動,使卡入旋鈕卡扣的反鎖旋鈕轉(zhuǎn)動。開啟單元包括小齒輪、大齒輪、旋鈕卡扣和主軸軸承。小齒輪在步進(jìn)電機(jī)傳動軸上,小齒輪與大齒輪之間嚙合,大齒輪被主軸軸承固定在亞克力底板上,大齒輪中心轉(zhuǎn)軸為空心結(jié)構(gòu),用于與旋轉(zhuǎn)編碼器轉(zhuǎn)動軸結(jié)合。旋鈕卡扣固定在大齒輪上,當(dāng)步進(jìn)電機(jī)轉(zhuǎn)動時可帶動小齒輪傳動給大齒輪,從而轉(zhuǎn)動旋鈕卡扣。旋轉(zhuǎn)編碼器同時檢查轉(zhuǎn)動軌跡。
藍(lán)牙BLE4.2協(xié)議棧保存在nRF52832主控制器內(nèi)部Flash中,可在用戶應(yīng)用代碼中調(diào)用相關(guān)函數(shù),實(shí)現(xiàn)藍(lán)牙通信與微控制器在同一芯片中[2]。主控制器可檢測鑰匙端的BLE藍(lán)牙連接,接收鑰匙端APP發(fā)送的特征值命令。同時,它可修改服務(wù)特征值,向鑰匙端APP發(fā)出提示,進(jìn)而實(shí)現(xiàn)鑰匙端APP對控制端進(jìn)行操作。
基于BLE4.2的外置型智能門鎖控制裝置硬件框圖如圖2所示。其微控制器MCU為芯片nRF52832,該芯片為藍(lán)牙低功耗SoC芯片,具有512 kB Flash[3]。主控制器與藍(lán)牙通訊模塊(與主控制器在同一芯片內(nèi))、EEPROM存儲IC、時鐘模塊、步進(jìn)電機(jī)驅(qū)動模塊、霍爾磁場傳感器模塊、電容式觸摸傳感器、旋轉(zhuǎn)編碼器和蜂鳴器模塊相連。同時,裝置配備聚合物鋰電池,用作外置型智能門鎖控制端的供電設(shè)備。
圖2 基于BLE4.2的外置型智能門鎖控制裝置硬件框圖
EEPROM存儲IC(AT24C02)是2 kB串行CMOS EEPROM,內(nèi)部含有256個8位字節(jié),用于儲存用戶密碼、開鎖軌跡數(shù)據(jù)、編碼器計(jì)數(shù)值。外置型智能門鎖控制端被喚醒后將數(shù)據(jù)讀取至相應(yīng)變量,同時在MCU睡眠前保存當(dāng)前數(shù)據(jù)。
時鐘模塊(DS1302)提供秒、分、時、日、星期、月和年信息,具有閏年補(bǔ)償功能[4]。其作用包括:1)計(jì)算實(shí)時時間;2)與鑰匙端連接時校準(zhǔn)時間;3)密碼加密部分。
霍爾磁場傳感器模塊用于檢測門的開關(guān)狀態(tài)、智能控制端是否被拆卸,并反饋至MCU。
電容式觸摸傳感器模塊(TCH223B)是電容式單鍵觸摸按鍵感應(yīng)IC,靈敏度可通過外部電容值來調(diào)整。其用于檢測觸摸金屬門把手,進(jìn)而喚醒開啟外置型智能門鎖控制端。
蜂鳴器模塊在外置型智能門鎖控制端被喚醒、完成命令、驗(yàn)證完成或失敗時,發(fā)出相應(yīng)的提示音。
電池電量檢測模塊可檢測當(dāng)前電池電量,同時反饋至MCU,并通過MCU操作藍(lán)牙通訊模塊發(fā)送至鑰匙端APP,作為電量提示。
電池管理充電模塊與升壓模塊、聚合物電池相連,用于電池充電保護(hù)、過流保護(hù),并通過Micro-USB充電。
升壓模塊與步進(jìn)電機(jī)驅(qū)動模塊、電池管理充電模塊連接,為步進(jìn)電機(jī)驅(qū)動模塊提供足夠電壓,以驅(qū)動步進(jìn)電機(jī)。
聚合物電池作為整個系統(tǒng)的電源,由電池管理充電模塊進(jìn)行保護(hù)和充電。
外置型智能門鎖控制端建模設(shè)計(jì)圖如圖3所示。旋轉(zhuǎn)編碼器設(shè)置在控制端前端;步進(jìn)電機(jī)和蜂鳴器分別置于旋轉(zhuǎn)編碼器后端和前端;旋鈕轉(zhuǎn)動機(jī)械結(jié)構(gòu)置于步進(jìn)電機(jī)底下端,包括小齒輪、大齒輪、旋鈕卡扣和主軸軸承;小齒輪固定在步進(jìn)電機(jī)的電機(jī)軸上,且與大齒輪嚙合;大齒輪通過主軸軸承固定在底板上;旋鈕卡扣固定在大齒輪上,并扣緊門鎖反鎖旋鈕。
1-外殼 2-微控制器 3-藍(lán)牙通訊模塊 4-步進(jìn)電機(jī) 5-電機(jī)驅(qū)動模塊 6-時鐘模塊 7-旋轉(zhuǎn)編碼器 8-蜂鳴器 9-門鎖機(jī)械模塊 10-存儲模塊 11-供電模塊
電機(jī)驅(qū)動模塊、時鐘模塊、存儲模塊和藍(lán)牙通訊模塊設(shè)置在一塊集成板上,該集成板置于供電模塊上方,并在集成板和供電模塊之間設(shè)置微控制器。
基于BLE4.2的外置型智能門鎖控制裝置實(shí)物圖如圖4所示。
圖4 基于BLE4.2的外置型智能門鎖控制裝置實(shí)物圖
控制端軟件設(shè)計(jì)包括門鎖主控軟件和中斷處理軟件2部分。門鎖主控程序流程圖如圖5所示,包括驅(qū)動模塊、數(shù)據(jù)采集模塊、密碼驗(yàn)證模塊、數(shù)據(jù)儲存模塊和藍(lán)牙通訊協(xié)議模塊。中斷處理程序流程圖如圖6所示,包括門鎖動態(tài)激活模塊和編碼器記錄模塊。各程序模塊相對獨(dú)立,便于軟件修改、更新和升級,提高系統(tǒng)安全性和實(shí)用性。
利用C++語言和Arduino IDE編程環(huán)境編寫鑰匙端APP軟件,并運(yùn)用APPINVENTOR2開發(fā)鑰匙端APP軟件,如圖7所示。
由于藍(lán)牙協(xié)議是公開協(xié)議[5],基于BLE4.2的外置型智能門鎖控制裝置采用數(shù)字指紋和加密算法確保門鎖安全性?;贐LE4.2的外置型智能門鎖控制裝置安全性設(shè)計(jì)圖如圖8所示。
圖5 控制端門鎖主控程序流程圖
圖6 控制端中斷處理程序流程圖
圖7 鑰匙端APP軟件界面
圖8 基于BLE4.2的外置型智能門鎖控制裝置安全性設(shè)計(jì)圖
該設(shè)計(jì)方法具有3個優(yōu)點(diǎn):1)不存在被竊而導(dǎo)致密碼泄露的風(fēng)險;2)密碼密文時刻變化,重播攻擊成功率?。?)密碼密文無規(guī)律,加密方法不易被攻破。
具體實(shí)現(xiàn)方法:
1)在外置型智能門鎖控制端EEPROM與鑰匙端APP中儲存唯一的數(shù)字指紋×階矩陣和管理員密碼admin={a1,a2,a3,a4,a5,a6},如式(1)所示。
鑰匙端APP與外置型智能門鎖控制端連接時,設(shè)置訪客密碼vister={v1,v2,v3,v4}與時間同步,并由時鐘模塊計(jì)算時間,輸出時間密鑰={month,day,hour,minute,second};month,day,hour,minute,second分別表示月、日、時、分、秒時間密鑰,其中second可重新記錄次數(shù);當(dāng)second記錄到次時,重新使second加一計(jì)數(shù);該過程在外置型智能門鎖控制端、鑰匙端同時發(fā)生,短時間內(nèi)實(shí)現(xiàn)延時同步,防止時間模塊不同步產(chǎn)生的問題;
2)采用加密算法對用戶密碼進(jìn)行加密傳輸,當(dāng)用戶選擇管理員身份登錄或第一次登錄系統(tǒng)時,進(jìn)入密碼驗(yàn)證;由于管理員密碼不可更換,采用TEA(Tiny Encryption Algorithm)算法[6]與MD5(Message Digest 5)加密算法同時加密。
發(fā)送驗(yàn)證解鎖指令時,外置型智能門鎖控制端在數(shù)字指紋中取出(a1+2)×(a6+2) 階數(shù)字指紋密鑰,通過數(shù)字密鑰、時間密鑰和TEA加密算法加密密碼admin,得到密文,再采用MD5加密算法加密,形成密碼密文code。
若鑰匙端APP需要修改訪客密碼,APP將新的訪客密碼vister在數(shù)字指紋中取出(v1+2)×(Cv6+2)階數(shù)字指紋密鑰,通過數(shù)字密鑰、時間密鑰和TEA加密算法加密密碼vister。密文通過藍(lán)牙通訊模塊傳輸至外置型智能門鎖控制端。智能控制端對密文進(jìn)行TEA解密,并將新的訪客密碼傳送至EEPROM內(nèi)儲存。
此外,由于外置型智能門鎖控制端安裝在被鎖空間門鎖面板上,存在未授權(quán)情況下被非法拆卸的可能,因此系統(tǒng)利用霍爾磁場傳感器檢測在鑰匙端APP管理員身份未授權(quán)下拆除門鎖的情況。當(dāng)APP未以管理員身份授權(quán)關(guān)閉拆除警報時,若強(qiáng)行拆除外置型智能門鎖控制端,控制端內(nèi)蜂鳴器將發(fā)出警報聲。
對基于BLE4.2外置型智能門鎖控制裝置進(jìn)行功能性實(shí)驗(yàn)測試,測試結(jié)果如下:
1)智能上鎖、開鎖操作,用戶可快速將該裝置安裝在傳統(tǒng)機(jī)械門鎖面板上,旋鈕卡扣扣緊反鎖旋鈕;用戶選擇管理員及訪客身份通過鑰匙端APP密碼驗(yàn)證后,可利用APP對外置型智能門控制端進(jìn)行上鎖、開鎖操作,進(jìn)而控制普通機(jī)械門鎖進(jìn)行上鎖開鎖操作;
2)上鎖位置智能化管理,管理員身份可對裝置控制端進(jìn)行上鎖位置的設(shè)置和修改訪客密碼;旋轉(zhuǎn)編碼器可通過檢查管理員旋轉(zhuǎn)原有門鎖鑰匙來記錄上鎖動作軌跡;步進(jìn)電機(jī)可驅(qū)動小齒輪,從而帶動大齒輪旋轉(zhuǎn),完成開鎖、上鎖動作;
3)傳統(tǒng)上鎖、開鎖操作,用戶可使用原有機(jī)械門鎖鑰匙成功上鎖、開鎖。
1)基于BLE4.2的外置型智能門鎖控制裝置可簡易安裝在傳統(tǒng)機(jī)械門鎖上,無需拆除原有傳統(tǒng)門鎖,有效拓展傳統(tǒng)門鎖智能功能。
2)裝置利用藍(lán)牙和加密傳輸技術(shù),采用數(shù)字指紋和加密算法確保門鎖安全性。
3)利用簡單機(jī)械機(jī)構(gòu)控制原有門鎖的反鎖旋鈕,有效降低改造成本,僅需簡單改造便可將傳統(tǒng)門鎖升級為智能門鎖。
[1] 杜萬明.門鎖的前生與今世談建筑門鎖的演化與建筑智能門鎖[J].中國建筑金屬結(jié)構(gòu),2012(2):48-55.
[2] Robin Heydon.低功耗藍(lán)牙開發(fā)權(quán)威指南[M].陳燦峰,劉嘉,譯.北京:機(jī)械工業(yè)出版社,2014.
[3] Michael Margolis. Arduino權(quán)威指南[M].楊昆云,譯.北京:人民郵電出版社,2016.
[4] 趙亮.實(shí)時時鐘芯片DS1302的應(yīng)用[J].電子制作,2005(10): 37-38.
[5] 金純,林金朝,萬寶紅.藍(lán)牙協(xié)議及其源代碼分析[M].北京:國防工業(yè)出版社,2006.
[6] Thomas H.Cormen, Charles E.Leiserson, Ronald L.Rivest.算法導(dǎo)論析[M].殷建平,徐云,王剛,等,譯.北京:機(jī)械工業(yè)出版社,2013.
Control Device for External Intelligent Door Lock Based on BLE4.2
Liang Lebin
(Guangdong Overseas Chinese High School)
In view of the problem that the original door lock needs to be disassembled to cause difficulty in installation and high replacement cost when the traditional mechanical door lock is upgraded into an intelligent door lock, a smart lock control device that can be externally installed on a traditional door lock is studied. The device utilizes Bluetooth to communicate with the mobile phone interactively with low power consumption, realizing the effective control of the traditional mechanical lock by the mobile APP. Digital fingerprint, TEA encryption algorithm and the MD5 encryption algorithm are used to ensure the lock security. The device does not need to replace the original traditional mechanical door lock, and it is directly installed on the door lock to realize the intelligent control function of the traditional mechanical door lock. The utility model has the advantages of convenient installation, fast locking/unlocking, safety and reliability with high promotion value.
Intelligent Door Lock; BLE4.2; Control Device; Encryption Algorithm
梁樂彬,男,2000年生,主要研究方向:智能傳感技術(shù)及應(yīng)用。E-mail: 344248024@qq.com