梁乐彬
基于BLE4.2的外置型智能门锁控制装置
梁乐彬
(广东华侨中学)
针对目前传统机械门锁升级为智能门锁时,需拆除原有门锁而导致安装难度大、置换成本高等问题,研制基于BLE4.2的外置型智能门锁控制装置。该装置利用低功耗蓝牙模块与手机进行交互通信,实现手机APP有效控制传统机械门锁;并采用数字指纹和TEA加密算法、MD5加密算法确保门锁安全性。该装置直接加装在门锁上,无需更换原有传统机械门锁,即可实现传统机械门锁智能化控制功能,具有安装方便、开关锁便利、安全可靠等优点。
智能门锁;低功耗蓝牙BLE4.2;控制装置;加密算法
随着科技的进步、生活水平的提高,人们对生活质量的需求也不断提升,家居环境舒适性、安全性等需求推动了智能家居的发展。智能门锁是智能家居的重要组成部分,其采用改造传统机械锁芯结构的方式,利用嵌入式微芯片电子电路操纵机械结构,完成锁门动作;同时,使用成熟的非机械钥匙作为用户识别ID,主要有指纹、虹膜识别门禁、磁卡、射频卡等[1]。目前,市场上智能门锁价格较高,实际安装过程需拆除原有传统机械门锁,置换成本较高、安装难度较大,需专业人员完成安装工作。
本文设计基于BLE4.2的外置型智能门锁控制装置,在原有传统机械门锁反锁旋钮基础上,通过蓝牙与手机交互通信,利用上锁旋钮轨迹学习、反锁旋钮旋转机制、安全机制等技术,有效控制传统机械门锁,实现机械门锁智能化功能,且装置安装简易。
基于BLE4.2的外置型智能门锁控制装置组成框图如图1所示,包括钥匙端和控制端。
钥匙端是新型开门钥匙(如手机、平板电脑),包括APP和蓝牙模块2部分。蓝牙模块是通信主端,APP控制蓝牙模块与控制端通信。
图1 基于BLE4.2的外置型智能门锁控制装置组成框图
控制端包括蓝牙模块及微控制器MCU、电机驱动模块、旋钮转动机械结构、防拆除监测模块和聚合物锂电池电源5部分。其中,蓝牙模块及微控制器MCU实现与钥匙端的蓝牙通信、密码验证开锁和上锁功能,MCU加密密码并记录旋转轨迹;电机驱动模块提供旋转编码器、传感器和步进电机的驱动电路;旋钮旋转机械部分是开启门锁的结构,该结构可卡入门锁反锁旋钮,并完成开锁和上锁动作;防拆除监测模块检测是否在管理员未授权的情况下拆除控制端,并反馈至MCU;聚合物锂电池电源部分为控制端其他部分提供电源,其电池电量也反馈至MCU。
利用一个与MCU连接的旋转编码器作为旋钮转动检测模块,检测门锁反锁旋钮的转动。旋转编码器与大齿轮中心轴相连,当反锁旋钮转动时可同时转动大齿轮。其还用于唤醒外置型智能门锁控制端和记录普通机械门锁开锁上锁动作,以及转动时到达位置的检测。旋转编码器通过两相增量式编码器计数脉冲值,可检查普通机械门锁旋钮转动方向和转动轨迹。
利用一个与MCU连接的步进电机驱动模块控制步进电机转动。步进电机与步进电机驱动模块连接,并与开启单元小齿轮相连,带动开启单元大齿轮和大齿轮上的旋钮卡扣转动,使卡入旋钮卡扣的反锁旋钮转动。开启单元包括小齿轮、大齿轮、旋钮卡扣和主轴轴承。小齿轮在步进电机传动轴上,小齿轮与大齿轮之间啮合,大齿轮被主轴轴承固定在亚克力底板上,大齿轮中心转轴为空心结构,用于与旋转编码器转动轴结合。旋钮卡扣固定在大齿轮上,当步进电机转动时可带动小齿轮传动给大齿轮,从而转动旋钮卡扣。旋转编码器同时检查转动轨迹。
蓝牙BLE4.2协议栈保存在nRF52832主控制器内部Flash中,可在用户应用代码中调用相关函数,实现蓝牙通信与微控制器在同一芯片中[2]。主控制器可检测钥匙端的BLE蓝牙连接,接收钥匙端APP发送的特征值命令。同时,它可修改服务特征值,向钥匙端APP发出提示,进而实现钥匙端APP对控制端进行操作。
基于BLE4.2的外置型智能门锁控制装置硬件框图如图2所示。其微控制器MCU为芯片nRF52832,该芯片为蓝牙低功耗SoC芯片,具有512 kB Flash[3]。主控制器与蓝牙通讯模块(与主控制器在同一芯片内)、EEPROM存储IC、时钟模块、步进电机驱动模块、霍尔磁场传感器模块、电容式触摸传感器、旋转编码器和蜂鸣器模块相连。同时,装置配备聚合物锂电池,用作外置型智能门锁控制端的供电设备。
图2 基于BLE4.2的外置型智能门锁控制装置硬件框图
EEPROM存储IC(AT24C02)是2 kB串行CMOS EEPROM,内部含有256个8位字节,用于储存用户密码、开锁轨迹数据、编码器计数值。外置型智能门锁控制端被唤醒后将数据读取至相应变量,同时在MCU睡眠前保存当前数据。
时钟模块(DS1302)提供秒、分、时、日、星期、月和年信息,具有闰年补偿功能[4]。其作用包括:1)计算实时时间;2)与钥匙端连接时校准时间;3)密码加密部分。
霍尔磁场传感器模块用于检测门的开关状态、智能控制端是否被拆卸,并反馈至MCU。
电容式触摸传感器模块(TCH223B)是电容式单键触摸按键感应IC,灵敏度可通过外部电容值来调整。其用于检测触摸金属门把手,进而唤醒开启外置型智能门锁控制端。
蜂鸣器模块在外置型智能门锁控制端被唤醒、完成命令、验证完成或失败时,发出相应的提示音。
电池电量检测模块可检测当前电池电量,同时反馈至MCU,并通过MCU操作蓝牙通讯模块发送至钥匙端APP,作为电量提示。
电池管理充电模块与升压模块、聚合物电池相连,用于电池充电保护、过流保护,并通过Micro-USB充电。
升压模块与步进电机驱动模块、电池管理充电模块连接,为步进电机驱动模块提供足够电压,以驱动步进电机。
聚合物电池作为整个系统的电源,由电池管理充电模块进行保护和充电。
外置型智能门锁控制端建模设计图如图3所示。旋转编码器设置在控制端前端;步进电机和蜂鸣器分别置于旋转编码器后端和前端;旋钮转动机械结构置于步进电机底下端,包括小齿轮、大齿轮、旋钮卡扣和主轴轴承;小齿轮固定在步进电机的电机轴上,且与大齿轮啮合;大齿轮通过主轴轴承固定在底板上;旋钮卡扣固定在大齿轮上,并扣紧门锁反锁旋钮。
1-外壳 2-微控制器 3-蓝牙通讯模块 4-步进电机 5-电机驱动模块 6-时钟模块 7-旋转编码器 8-蜂鸣器 9-门锁机械模块 10-存储模块 11-供电模块
电机驱动模块、时钟模块、存储模块和蓝牙通讯模块设置在一块集成板上,该集成板置于供电模块上方,并在集成板和供电模块之间设置微控制器。
基于BLE4.2的外置型智能门锁控制装置实物图如图4所示。
图4 基于BLE4.2的外置型智能门锁控制装置实物图
控制端软件设计包括门锁主控软件和中断处理软件2部分。门锁主控程序流程图如图5所示,包括驱动模块、数据采集模块、密码验证模块、数据储存模块和蓝牙通讯协议模块。中断处理程序流程图如图6所示,包括门锁动态激活模块和编码器记录模块。各程序模块相对独立,便于软件修改、更新和升级,提高系统安全性和实用性。
利用C++语言和Arduino IDE编程环境编写钥匙端APP软件,并运用APPINVENTOR2开发钥匙端APP软件,如图7所示。
由于蓝牙协议是公开协议[5],基于BLE4.2的外置型智能门锁控制装置采用数字指纹和加密算法确保门锁安全性。基于BLE4.2的外置型智能门锁控制装置安全性设计图如图8所示。
图5 控制端门锁主控程序流程图
图6 控制端中断处理程序流程图
图7 钥匙端APP软件界面
图8 基于BLE4.2的外置型智能门锁控制装置安全性设计图
该设计方法具有3个优点:1)不存在被窃而导致密码泄露的风险;2)密码密文时刻变化,重播攻击成功率小;3)密码密文无规律,加密方法不易被攻破。
具体实现方法:
1)在外置型智能门锁控制端EEPROM与钥匙端APP中储存唯一的数字指纹×阶矩阵和管理员密码admin={a1,a2,a3,a4,a5,a6},如式(1)所示。
钥匙端APP与外置型智能门锁控制端连接时,设置访客密码vister={v1,v2,v3,v4}与时间同步,并由时钟模块计算时间,输出时间密钥={month,day,hour,minute,second};month,day,hour,minute,second分别表示月、日、时、分、秒时间密钥,其中second可重新记录次数;当second记录到次时,重新使second加一计数;该过程在外置型智能门锁控制端、钥匙端同时发生,短时间内实现延时同步,防止时间模块不同步产生的问题;
2)采用加密算法对用户密码进行加密传输,当用户选择管理员身份登录或第一次登录系统时,进入密码验证;由于管理员密码不可更换,采用TEA(Tiny Encryption Algorithm)算法[6]与MD5(Message Digest 5)加密算法同时加密。
发送验证解锁指令时,外置型智能门锁控制端在数字指纹中取出(a1+2)×(a6+2) 阶数字指纹密钥,通过数字密钥、时间密钥和TEA加密算法加密密码admin,得到密文,再采用MD5加密算法加密,形成密码密文code。
若钥匙端APP需要修改访客密码,APP将新的访客密码vister在数字指纹中取出(v1+2)×(Cv6+2)阶数字指纹密钥,通过数字密钥、时间密钥和TEA加密算法加密密码vister。密文通过蓝牙通讯模块传输至外置型智能门锁控制端。智能控制端对密文进行TEA解密,并将新的访客密码传送至EEPROM内储存。
此外,由于外置型智能门锁控制端安装在被锁空间门锁面板上,存在未授权情况下被非法拆卸的可能,因此系统利用霍尔磁场传感器检测在钥匙端APP管理员身份未授权下拆除门锁的情况。当APP未以管理员身份授权关闭拆除警报时,若强行拆除外置型智能门锁控制端,控制端内蜂鸣器将发出警报声。
对基于BLE4.2外置型智能门锁控制装置进行功能性实验测试,测试结果如下:
1)智能上锁、开锁操作,用户可快速将该装置安装在传统机械门锁面板上,旋钮卡扣扣紧反锁旋钮;用户选择管理员及访客身份通过钥匙端APP密码验证后,可利用APP对外置型智能门控制端进行上锁、开锁操作,进而控制普通机械门锁进行上锁开锁操作;
2)上锁位置智能化管理,管理员身份可对装置控制端进行上锁位置的设置和修改访客密码;旋转编码器可通过检查管理员旋转原有门锁钥匙来记录上锁动作轨迹;步进电机可驱动小齿轮,从而带动大齿轮旋转,完成开锁、上锁动作;
3)传统上锁、开锁操作,用户可使用原有机械门锁钥匙成功上锁、开锁。
1)基于BLE4.2的外置型智能门锁控制装置可简易安装在传统机械门锁上,无需拆除原有传统门锁,有效拓展传统门锁智能功能。
2)装置利用蓝牙和加密传输技术,采用数字指纹和加密算法确保门锁安全性。
3)利用简单机械机构控制原有门锁的反锁旋钮,有效降低改造成本,仅需简单改造便可将传统门锁升级为智能门锁。
[1] 杜万明.门锁的前生与今世谈建筑门锁的演化与建筑智能门锁[J].中国建筑金属结构,2012(2):48-55.
[2] Robin Heydon.低功耗蓝牙开发权威指南[M].陈灿峰,刘嘉,译.北京:机械工业出版社,2014.
[3] Michael Margolis. Arduino权威指南[M].杨昆云,译.北京:人民邮电出版社,2016.
[4] 赵亮.实时时钟芯片DS1302的应用[J].电子制作,2005(10): 37-38.
[5] 金纯,林金朝,万宝红.蓝牙协议及其源代码分析[M].北京:国防工业出版社,2006.
[6] Thomas H.Cormen, Charles E.Leiserson, Ronald L.Rivest.算法导论析[M].殷建平,徐云,王刚,等,译.北京:机械工业出版社,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年生,主要研究方向:智能传感技术及应用。E-mail: 344248024@qq.com