赵乙 郝智诚
摘要:针对中国传统文化家庭门锁的弊端,设计了一款可以基于物联网的无线网络智能指纹门锁。智能门锁以STM32控制器为核心,采用指纹识别技术、蓝牙传输技术,实现使用指纹或蓝牙门锁打开功能。智能门锁在一定程度上消除了传统家用门锁的不足,提高了开锁效率,同时保证了门锁的安全性,提高了人们的生活质量,解决了人们的室内财产日常生活和人身安全问题。
关键词:智能门锁;STM32;指纹识别;蓝牙;物联网
一、引言
物联网是以中国互联网、传统公共电信网为基础的信息载体,是互联网延伸和扩展的一个特征,具有虚拟性和便于学生使用,能够不断拓大物联网范围,實现企业信息和资源共享[1]。近几年,人们生活水平、生活质量的不断上升,对高品质生活的渴望使人们对家居智能和便利性的期望越来愈高。为了满足人们对家庭控制系统的"使家庭更智能"的需要,人们将物联网加入到家庭控制系统中,实现了对家庭电子设备、空调机、洗衣机和监控器等电子设备的智能控制[2]。通过终端设备来控制家用电器,可以使生活变得更加便利舒适,同时增加家庭安全性。
门锁安全性能是极其关键的,高安全门锁能够做好第一道家居安全防线的保障。普通学生的家庭门锁安全问题一直是广为争论的话题,不仅能很容易丢失钥匙,而且我们的专业开锁技术管理员工作或扒手可以在十几秒内打开普通家用门锁,这给居民环境安全带来了重大的风险[2]。现在,物联网技术与智能家庭结合了智能门锁、智能集成电子电路、计算机应用技术、机械装配技术,采用非机制钥匙开门。现代智能门锁,安全可靠,还具有录音、提醒等功能,大大地方便了人们的生活。
二、系统概述
智能厨房门锁自动控制系统管理软件系统主要功能包括五个组成部分:主机和控制器的硬件设计、显示部分、存储和部分管理内核以及开锁控制模块和部分服务器的部分。智能门锁控制系统是以stm32控制器为中心的,它通过多个通信协议控制外部模块。系统的时间和系统的菜单界面显示在屏幕上,方便用户安装系统,并在使用者操作错误的情况下提示用户;存储部分主要是用来保存使户的解锁密码、解锁记录等数据,以方便必需和必要时查阅或搜寻历史解锁记录及家庭成员的流向;核心解锁模块包括指纹模块,读卡器模块,键盘模块和手机蓝牙模块。服务器端通过无线模块收到主控制器发出的解锁记录信息,然后处理这些信息,并将其保存在数据库中,用户可远程登录查看解锁信息,通过网上了解该信息的含义。系统的整体结构如图1所示。
三、控制系统硬件设计
(一)终端硬件总体设计
智能门锁终端采用STM32F103单片机作为系统核心,采用STM32F103显示模块ATKSIMON存储模块-开锁模块",外设开锁模块包括指纹模块、3*4键盘模块、读卡器模块和蓝牙模块,终端还包括使用LCD显示屏的显示模块。使用AT24C256芯片存储数据的模块,使用ATKSI800C模块来完成发送GPRS数据[2][3]。
(二)主芯片的选型和介绍
系统核心为系统芯片。经过比较,ARM公司于2006年推出了Cortex-M3内核F1系列芯片,以满足了均本系统对性能、成品成本和功率耗电等方面的需求。首先,COCARDCM2内核使用三级流水线和分支预测技术,当处理器在执行时遇到分支指令,处理器可以自动预测跳转是否发生,再从所预测方向取到所需的值,使流水线能够连续地执行指令,避免"断流现象"的发生。此外,该芯片使用哈佛结构,因此该处理器能同时执行指令和数据。另外,该芯片使用嵌套式中断控制器,减少响应时间,同时具有THUMB216/32位混合指令集等几个特性[3]。
本智能门锁系统主控器选择STM32F103ZET6芯片。选择这款芯片有三个原因:首先,该芯片的配置十分丰富,工作最高时间可达72MHZ,它拥有非常充足的资源,在Cortex-M3内核上加入了32位除法指令,同时对乘法操作部件进行了改善,使运算更加迅速;第二,该芯片配备64KB的静态随机访问存储器,以及512KB的编码快闪记忆体,方便了系统的使用和更复杂的操作,并装载了更大容量的程序;第三,该芯片具有五花八门通信界面,包括5个串口,3个串口外设接口(SPI),2个集成电路总线(IIC)等接口。此外,除了上述三个方面的问题外,stm32f103zet6还有丰富的外部资源,支持串行调试等好处[2]。本项目研究的系统设计采用8080并口式模式及主控制器进行信息通讯,共计开发需要13条信号线对数据网络进行分析,其中包括在低电平上通过有效片选信号导脚、阅读和写出能信号导脚、数据\指令和控制模块导脚,以及8位双向选择的数据导脚[2]。
(三)显示模块电路设计
显示屏是人机交互不可缺少的模块,统使用高亮度、纯色屏幕,最大程度地提供了用户的视觉体验,具有发光性、高对比度、快速反应速率和温度广等优秀特点。针对本系统,选用的LCD显示屏尺寸为0.96英寸,驱动IC为SSD1306,分辨率为128*64。有纯蓝色和蓝黄两种型号,芯片内部集成DCDC升压电路,只需3.3V的供电就可以工作[2]。该接口模块不仅支持6800和8080并行通讯接口8位,同时它还支持四种串行接口SPI并列接口和4线程的串行接口,这四种串行通讯配置方式分别是在整个模块的反面和在焊盘上的bs1、bs2中进行配置的[2][3]。
本系统所选择的8080并口方式及主控制器需要13个信号线进行数据通讯,这些信号线都是低电平的有效芯片信号导向器,读写讯号引向和数据指令控制导向器。还有八位双向数据导脚[3]。
(四)GPRS模块电路设计
无线传输模块是该系统的一个重要组成部分,该系统使用一个高性能的GSM/GPRS模块ATKSI800C作为数据通讯,使用串口即可将该模块连接到主控制器[2],该模块能够在低功率消耗的环境下传输语音,短信,彩讯,蓝牙和GPRS数据。等功能模块的设计大小玲珑,有利于安装,性能稳定、价格高。模块的基本功能如下[2]:
1.支持AT命令控制和串口复用等功;
2.支持1.8/3VSIM卡接口;
3.gprs传输数据的速度下行信息传输速度大约为85.6kbps,上行数据传输速度大约为85.6kbps;
4.支持半速率、全速率等编码方式;
5.支持实时时钟;
6.支持PDU模式自勺短信发送。
为了使用户的锁记录能够上传到服务器端,并将预警短讯发送到用户手机,本项目将ATK-SIM800C芯片选为无线传输模块,该模块包含TCP/IP协议、支持TCP/UDP通信、支持MT/MO/CB/TEXT和PDU模式等其他一些功能,并且模块通过ATK-SIM800C芯片进行了无线传输。过AT命令使用了内部TCP/IP协议栈,该模块中的TCP/IP应用了单链路和多连接模式,通过AT+CIPMUX=<N>命令来设置该系统的参数为0,默许是单链路模式[2][3]。
本系统的主控制器与PB10和PB11管脚连接,并与ATKSIMONC模块中的STXD和SRXD管脚连接[2]。ATKSIMONLD在模块电路中的引脚STXD模块管脚与它的STM32F103ZET的引脚PB11管脚交互相连,STXD引脚管脚与它的PB10管脚交互相连[3]。
(五)存储模块电路设计
本系统存储模块选用飞利浦公司的24C256芯片,容量256KBIT,32K字节,用于保存用户的暗码、开锁记录等信息。在断电情况下,存储在模块中的数据不会被遗弃,如果要改变或擦除模块中保存的数据,则可以通过编程方式进行[2]。该模块的价格便宜,使用方便,应用广泛。在本系统中,EEPROM和主芯片STM32通过IIC进行数据传递,将A0、A1和A2管脚都接地,将EEPROM的地址为0,IIC_SCL接在FPGA的PB6上,IIC_SDA接在FPGA的pb7上[3]。
(六)开锁模块电路设计
1.读卡器模块电路设计
本管理系统主要采用带有FML702SL定位芯片的EERFID定位射频模拟读卡芯片模块,该读卡芯片外部具有高度集成化的模拟控制电路,内部分别配有一个EEPROM存储芯片,加密存储单元及密钥数据保存在此基础上[2]。除此功能影响外,该控制模块功能还包括64字节先进后入先出队列,一个独立可编程的一个系统中断计时器,一个系统中断控制信号处理器,以及一个新的串行模拟数据先入输出口,通过一个新的串行模拟数据接口输出。读写器芯片模块和时钟主输入芯片模块使用一个SPI数据接口模块进行实时数据信号传输,读入的写器模块是数据客户端,接收指令和数据,SPI数据接口中的时钟则由主芯片控制器模块提供[3]。
2.键盘模块电路设计
在本系统中,触控键盘模块采用飞思卡尔顶级触控传感器控制器MPR121[2][3]。该模块具有很高的灵活性。用增加电极数量的方法,提高了模块的触摸检测性能,将模块由电阻式触摸传感器转变为电容式传感器,优化了用户的互动感。模块采用IIC接口和主控制进行数据通信,时钟线SCL和数据线SDA分别和主芯片pb1、pb2进行连接,中断引脚IRQ和pb13进行连接。
3.指纹模块电路设计
本设计使用R308指纹模型,采用高速DSP专业处理芯片,具有指纹输入、图像处理和指纹对比度功能,可与各种类型的指纹传感器相组合,工作流程如下图2显示。模块使用高性能的指纹比对算法,可以在0.5秒至1秒的时间内搜索到我们所需要的指纹。通过UART1与主控制器相连,在模块中设置手指探测电路,并提供硬件接口,用户设备的接口使用6条1.25个单排的插座,间距为6条。
该模块与主芯片使用串行通信,默许波特率为57600bps,10个传递数据格式包括:一位开始、停止位、八个低高位数据,8个无校验的位置。模块的初始化工作需要大约500ms的电力才能开始工作[3]。
4.蓝牙模块电路设计
ATKHC05蓝牙模块为体积玲珑,支持2.0的蓝牙波特率范围,主机从机于一体高性能串口模块,可与智能设备如手机、电脑等连接,具有蓝牙功能。通信距离很长,在开放的地方能达到10米。根据模块状态指示灯来确定一个模块状态:指示灯每秒亮一次,表示该模块已进入AT状态;每秒亮2次表明模块已进入对峙模式;一次点亮2次,两秒钟内点亮1次表明模块对配成功。
5.电机驱动模块电路设计
该系统采用HG7881电机驱动芯片控制了电机旋转,并将分立电路集成在一个集成电路上,使该芯片有较强的抗干扰性能。该模块板装有两种问题驱动芯片,可以同时进行内部控制系统的两台电机转动,但是本系统仅用作一台电机,因此我们可以只需要使用一个管脚,而本系统则使用ENA管脚。电机驱动模块BO和FO管脚与主控制器pf6和pf7管脚相连。
四、控制系统终端软件设计
系统集成硬件功能模块集成电路的硬件设计形成完毕后,根据系统硬件功能的设计要求,编写系统软件模块代码。本文的系统应用软件的基本设计使用语言主要是Java和c,它本身使用了一种c编程语言。MDK5是开发的环境。代码编写完毕后,将代码下载到一个硬件上进行仿真。如果不符合设计的目的,则立即对程序代码进行调试。该系统使用STINK在线调试器下载程序并模拟硬件。该工具支持程序的全速运行,并支持单步调试和断点调试方法。软件完成编写后,通过SWIM接口连接STINK仿真器主控制器,在配置了仿真环境之后,将程序烧入芯片[3]。
(一)终端软件开发环境
本系统使用 KEIL MDK5作为一种系统开发工具,它是COTOREM-M3内核处理器最佳开发工具,集成LTVISION5开发环境和REALVIEW编译器,具有自动配置启动代码功能,通过SWD下载程序可以速度达到50M,使用SIMULATION設备的模拟环境,可以增加产品开发的速度。MDK5将所有MDKCORE软件作为独立软件安装包,不再在一个独立安装包中免费添加所有装置器件系统支持和所有装置硬件驱动,而是在整个网络上免费下载正在发展中的器件所有必需的安装包[3]。
(二)终端硬件开发环境
该测试系统通常使用为:STINK在此离线调用测试器即可下载应用程序并安装模拟调试硬件。该调试工具同时支持应用程序的全速启动运行,并分别支持实时单步自动调试和实时断点自动调试两种方法。软件人员完成程序编写后,通过一个SWIMK的接口自动连接一个ST-LINK模拟仿真器,并将其硬件配置为一个模拟仿真环境,然后将仿真程序数据写入仿真芯片[3]。
(三)STM32库函数
STM32F10xX作为一款ARM内核的芯片,寄存器数量很多,如果直接配置寄存器实现功能就比较烦琐。所以ST公司针对这个问题开发了STM32库,它是对STM32的相关功能寄存器进行了封装,给开发者提供函数接151调用[3],开发者可以移用这些函数接口完成所需的功能,而不用直接配置STM32的寄存器。使用库函数的另一个好处是使用库函数编写的软件代码是可读的[3]。
库文件中最主要的是Libraries文件夹,该文件夹又包含内核库文件CMSIS和外设库文件STM32F10x_STDPERIPH_DRIVER,提到CMISIS内核库文件就需要对行CMSIS标准进行阐述,该标准是由ARM和芯片厂商共同创建的。是为了自己解决问题不同企业公司,核外的片上外设的差异,在不同外设芯片上移植技术带来的困难。
(四)终端软件总体设计
终端软件应用程序结构设计研究采用模块化编程教育思想,将硬件驱动文件和软件功能实现社会功能分开,将每个小功能封装在一个目标函数中,尽量降低企业与其他模块的联系,这样学生可以有效降低信息系统的耦合度,为以后优化代码带来方便。系统软件主要包括4个功能模块:OLED显示模块、数据传输模块、用户开锁模块、存储数据模块[3]。OLED显示模块负责显示系统菜单、系统时间、提示用户信息;数据传输模块使用AT指令控制ATK。SIM800C模块发送终端用户的解锁记录信息和预警信息;用户可以通过指纹、卡、密码或蓝牙解锁。存储数据模块该模块将用户的解锁密码、配对密码和解锁信息存储在EEPROM中[3]。
五、结论
随着人工智能、物联网等新技术的兴起,以及人们对更高生活品质的需求,智慧家庭的概念应运而生。智慧家庭教育就是我们利用中国互联网企业技术、物联网技术、无线网络安全技术、人工智能和云计算科学技术等新时代信息管理技术让各种家居设施为人们可以提供智能发展服务的寓住环境,据此创建一个安宁舒服、高效智慧的家庭关系网络和服务系统[5]。毫无疑问,若是“物联网”时代到来,人们的日常生活将,发生翻天覆地的变化。然而,不谈关于隐私权和辐射的问题,单把所有物品都植入识别芯片这一方面,现在为止看来还不太现实。人们正走向“物联网”时代,但这个过程可能需要很漫长的时间。随着智能门锁行业的快速发展,安全成为智能门锁发展的最大障碍。与同类产品相比,本项目的智能门锁系统成本较低,系统的安全性能和可靠性性能也具有较大的优势,适用于各种工作和生活家庭环境,更好地解决了工作和家庭财务安全隐患。测试成果以及社会实践教学应用分析表明该系统进行相对成熟,能够更加准确的实现企业各项管理功能,从而可以解决了钥匙遗落在锁上被不法分子利用的问题,避免了财物的损失和危害生命安全的问题[1]。在充分认识智能门锁使用过程中存在的安全隐患后,提出了相应的安全防范和保护措施,形成了统一的评价检验标准和技术,提高了智能门锁的生产门槛,以规范智能门锁行业的健康全面发展,保护消费者的基本权益。
参考文献
[1]卢文成.物联网技术在智能家居中的应用现状与趋势探究[J].电子元器件与信息技术,2019,19(01):9-11+18.
[2]王若熙.物联网在智能家居中的应用及发展[J].电脑知识与技术,2019,15(20):225-226.
[3]王志勇.智能门锁控制系统的设计与开发[D].浙江理工大学,2018.
[4]杨朋飞,聂亮,陈靖,等.基于STC89C52单片机的指纹密码锁系统设计与实现[J].傳感器与微系统,2020,039(005):81-83,86.
[5]胡天雄.人工智能和物联网在智慧家庭中的应用探究[J].中国新通信,2019.