基于NB-IoT智能门锁系统设计①

2021-07-05 01:34王梦坤
关键词:门锁流程图管理员

王梦坤

(安徽理工大学电气与信息工程学院,安徽 淮南 232000)

0 引 言

智能锁具的发展和应用越来越普及,通常意义上的智能门锁包括卡片锁、指纹锁、密码锁、声纹锁、人脸识别锁等。这些门锁存在如下缺点:价格昂贵、能耗大、安装部署不便[1],而射频识别门禁系统存在认证介质容易丢失、损坏,指纹识别门禁系统容易受到环境的影响[2]。采用窄带物联网(narrow-band Internet of thing,NB-IoT)无线通信技术可对锁状态实现无线监测,通过GPS模块获得锁具的位置信息,通过蓝牙模块与手机APP连接完成开关锁任务。NB-IoT覆盖广,信号强以及功耗和成本上相比于其他无线通信模块的优势,而蓝牙透传功能较为方便,较为符合锁具的监控和操作。出于安全性和简便性考虑,将锁具设计为内嵌式结构[3],提供位置信息,用户登录APP申请锁的ID和名称及操作权限后需要管理员在云平台审批,审批通过后手机APP方可开关锁,开关锁执行后,锁状态等数据信息将由无线通信模块上传到云平台进行监控,大大降低了配电柜物品被盗的风险[4]。

1 系统总体框架

基于NB-IoT智能门锁系统由门锁信息采集终端,数据传输平台,云监控平台,开关锁执行机构等组成。数据采集终端将锁舌检测模块采集到的锁状态信息以数据包的形式通过NB-IoT模块上传到云平台上,用户既可以用云平台完成对数据的监测和储存,也可以下发命令到终端。锁舌检测模块检测到锁如果没有锁到位,将会上传错误信息给云平台,进而查出错误锁的位置信息进行调整和维修。系统总体架构如图1所示。

图1 系统总体架构

2 系统硬件设计

智能门锁系统以STM32F103C8T6嵌入式单片机为主控芯片,硬件框图如图2所示。硬件部分由电源模块、NB-IoT模块、GPS定位模块、数据存储模块、蓝牙通信模块、锁舌检测模块(光电开关模块)、电机驱动模块、门磁检测模块等组成。系统主要实现以下功能:(1)数据存储芯片用来储存单片机与蓝牙、NB-IoT模块互动的数据。(2)GPS模块用来上传锁体的位置信息给云平台。(3)当用户用APP向云平台申请锁的操作权限后,云平台管理员(可以和用户是同一个人)收到申请后将操作权限审批通过,蓝牙模块连接手机蓝牙,就可以通过手机APP下达开关锁指令,而关锁完成后会向云平台上传锁的状态。(4)锁舌检测模块通过光电开关读取高低电平,进而确认锁的状态。(5)若开锁后不进行蓝牙关锁,门合上后门磁检测到关门信号后1min进行关锁。(6)电机驱动芯片用来驱动电机拖动锁舌进行开关锁。

图2 系统硬件图

3 各模块设计

3.1 NB-IoT模块设计

NB-IoT相比于传统的通信技术(Zigbee通讯和GPRS通讯)具有深覆盖、低功耗、大连接、低成本等优势,华为是国内NB-IoT发展的强有力推动者,目前为止,NB-IoT已经运用到智慧城市(智能停车、智能抄表、路灯检测等)、智慧工业等(智能农业、设备检测、物流跟踪等)、智慧生活(智能楼宇、跟踪护航、环境监测等)方面[5]。NB-IoT模块与STM32的Usart3进行通信,NB-IoT模块的RX与MCU的Usart3_TX引脚连接,而NB-IoT模块的TX与MCU的Usart3_RX引脚连接。为了让云监控平台能随时找到门锁信息采集终端,NB-IoT模块使用DRX模式。DRX虽然叫做“不连续接收”,但对门锁信息采集终端采用DRX模式,相当于一直处于监听状态,随时都可以收到来自云监控平台的控制指令,图3为无线通信模块与终端收发数据流程图,为了增加收发数据的准确性,加入了5s延时函数。

3.2 GPS模块设计

全球定位系统简称为GPS(Global Positioning System),具有实时、全天候、全球性的精准导航要求,经过不断的升级和更新后,GPS全球定位系统成为应用最为广泛的卫星定位系统[6]。系统GPS模块与STM32的Usart2进行通信,RX引脚接MCU的Usart2_TX,而模块的TX接MCU的Usart2_RX。通信开始之前先要系统初始化,之后GPS模块要初始化,NB-IoT模块将门锁位置数据上传给云控制平台,云平台接收到门锁的位置数据后要查验位置信息是否有效,无效则返回,若位置有效将对门锁信息采集终端发来的经度、纬度和高度进行解析,进而显示具体的位置信息,GPS模块的工作流程如图4所示。

图3 无线通信模块与终端收发数据流程图

图4 GPS模块工作流程图

3.3 锁舌检测模块设计

当开关锁执行完成后,门锁信息采集终端会上传给云控制平台此时锁舌的状态,一般情况下,云控制平台会显示开锁正常或关锁正常,不会下达锁舌调整指令,若锁舌位置错误,上传的信息会显示状态错误,云平台此时将给门锁信息采集终端下达调整指令直至锁舌位置正确,如图5所示。

3.4 门磁检测模块

门磁检测模块由两部分组成,磁铁安装在门上,检测模块在配电柜里,检测模块一端接到MCU的PB6和3.3V上,用来读取高低电平,另一端接到门锁信息采集终端的GND上。门开着时,由于检测模块检测不到磁铁,PB6为高电平,门关好以后,两端引脚短路,PB6为低电平,若手机APP不执行关锁指令,1min后将关锁,图6为门磁关锁流程图。

图5 锁舌状态上报流程图

图6 门磁关锁流程图

3.5 蓝牙模块与手机APP设计

智能锁研发的目的,是为了提高门锁的安全性,手机蓝牙为智能门锁的操作提供了方便,也避免了钥匙被仿制的不安全问题[7]。蓝牙模块与STM32的Usart1进行透传,蓝牙模块的TX与MCU的Usart1_RX引脚连接,蓝牙模块的RX与MCU的Usart1_TX引脚连接。首先要对Usart1进行初始化,开启Usart1中断随时接收手机APP发来的数据,若要操作开关锁需要用户通过APP写入门锁的ID和申请操作权限,管理员在云控制平台审批权限通过后,用户才能开关锁,开锁完成后将锁舌的状态和门锁的位置信息以数据包的形式上传到云平台[8],如图7所示。

手机APP的开发基于Android操作系统,出于方便用户操作的考虑,手机APP界面简洁易懂。信息界面显示的是通过审核的锁的ID号,同时也显示了用户和管理员的信息,若为超级管理员可自己申请操作权限并可以自己审批。操作界面显示的是开锁和关锁指令,蓝牙名称和锁的ID也显示在上面。工作界面主要显示的是权限审批和操作记录,而联系人为用户和管理员名单,其余界面为注销、切换用户,退出登录等。

图7 蓝牙模块工作流程图

3.6 云监控平台

云监控平台对整个系统的数据进行控制和处理,云监控平台功能如图8所示,平台上可以显示锁的位置信息,锁的数目,锁的开关次数记录,锁的状态,管理员对用户申请操作权限的请求进行审批,管理门锁的ID号并确认是否为有效ID,对状态错误的锁下达调整指令进行调整,当平台出现Bug时管理员会及时后台修复。

图8 云监控平台功能图

4 门锁信息采集终端软件设计

基于NB-IoT智能门锁系统主程序流程图如图9所示,门锁信息采集终端接通电源后,STM32底层硬件将初始化,完成时钟配置后,GPIO随即初始化,为了让延时函数能工作,定时器也要初始化,然后完成几个模块的初始化工作。调用蓝牙模块配合手机APP实现开关锁操作;锁舌检测模块检测锁舌是否到位,未到位将错误信息通过NB-IoT模块上传给云控制平台,云控制平台通过NB-IoT模块下达调整指令对锁舌进行调整;门锁状态上传后,GPS定位模块通过NB-IoT模块进行位置信息上传至云控制平台;门锁信息采集终端的外部模块需要完成任务执行、响应各种中断、数据分析和处理等工作。

图9 系统主程序流程图

5 结 语

门锁信息采集终端和云监控平台是不间断通讯,智能门锁系统利用锁舌检测模块检测锁舌的状态,通过NB-IoT模块上传到云控制平台的数据判断门锁是否锁好,若锁舌状态错误,平台会通过NB-IoT模块下达给门锁信息采集终端作出调整,若调整出错或锁出现故障管理员可通过GPS模块上传的位置信息查看门锁的具体位置,工作人员即可去具体位置进行检修、维护,大大提高了门锁的安全性,降低了失窃率,具有良好的使用价值和推广前景。

猜你喜欢
门锁流程图管理员
云的识别指南
浅谈车门锁销的调整
咔嚓咔嚓,门锁别玩
可疑的管理员
6款热门智能门锁推荐
旋转门锁
一种程序源代码的标准化流程图转化方法∗
让管理员管不了的名字
当小小图书管理员