利用NB-IoT技术的机房智能门禁设计
2022-10-19赖瑞镪
赖瑞镪
(泉州华光职业学院,福建 泉州 362121)
0 引 言
随着窄带物联网等技术的不断发展,智慧校园也在快速发展。智慧校园是集大数据、物联网、互联网等技术于一身的校园管理体系,在《智慧校园总体框架》(GB/T 36342—2018)中明确提出智慧校园是数字进校园的进一步发展和提升,是教育信息化的更高级形态。标准中指出,基础设施层中的感知系统应包括设备感知和人员身份识别等。机房是学校的重要教学场所,传统的机房门禁系统安全性、方便性以及管理方式已经无法与智慧校园的智能化需求相匹配。因此,将机房门禁系统进行升级改造很有必要。
目前,普通机房的门禁还是采用简单的机械锁方式,传统的机房门禁需要专人操作。随着智慧校园的不断发展,传统的管理方式已经不适合当前的校园。本文设计了一种利用NB-IoT技术的机房智能门禁系统,该系统能够为机房管理工作人员提供便利,提高机房管理效率。本系统利用电磁锁代替传统的机械锁;利用指纹识别模块识别人员的身份,识别结果显示在LCD显示屏。同时将识别的信息通过NBIoT模块传输至点灯科技平台,管理人员可登录平台查看识别信息。身份识别结果不仅显示在屏幕上,也可通过语音播报模块播放,指纹信息的录入可通过矩阵键盘上的按键切换功能实现。当无权限的人要进入机房时,管理人员可远程解锁,也可通过矩阵键盘输入临时授权码进入。
1 系统总体设计方案
机房门禁系统以Arduino Mega2560 Pro为主控制器,包含身份识别的指纹识别模块、数据传输的NB-IoT模块、继电器电磁锁模块、信息显示LCD显示屏、矩阵键盘、电池电压检测电路以及人性化语音播报模块。系统总体设计框图如图1所示。
图1 系统总体设计框图
2 终端硬件设计
2.1 主控制器
系统主控制器采用Arduino Mega2560 Pro。该主控板尺寸为 38 mm×55 mm,比常见的 Arduino UNO 主控板的尺寸小;小尺寸的主控板也使得终端的尺寸相对较小。Mega2560 Pro与标准版Mega2560均采用ATmega2560(16 MHz晶振)芯片,也就意味着这两个模块功能一致。Mega2560 Pro有54个数字接口(I/O口),其中有15个可以作为PWM直接输出。Mega2560 Pro提供4路UART通信,即Serial通信。数据通过ATmega 8U2/ATmega 16U2时指示灯闪烁(除0和1口)。利用 SoftwareSerial 库可将 Mega2560 Pro的任意数字接口作为通信接口使用。Mega2560 Pro产品参数见表1所列。
表1 Mega2560 Pro产品参数
2.2 NB-IoT模块
系统识别的身份、电池电压等信息通过NB-IoT传输到物联网平台。NB-IoT模块采用谷雨物联网的NB101模块。NB101是一款基于移远NB模组BC95的NB核心板,模块引出常用信号,即插即用非常方便,是一款高性能、低功耗的模组。NB101板载 IPEX 射频天线座、5 V转3.3 V LDO稳压电源、MicroSIM卡座、ESD防护电路等资源;用户只需注重上层应用就可以快速开发出基于NB-IoT的产品。模块有3种工作模式:唤醒(Active状态)、轻休眠(Idle状态)、深睡眠(PSM状态)。模块处于唤醒状态时所有功能正常可用,可以进行数据发送和接收。模块处于轻休眠状态时,网络处于DRX/eDRX 状态,可接收寻呼消息;模块处于深睡眠状态时,内部只有RTC工作,网络处于非连接状态。
模块常用的接口有8个,包括电源接口VDD和GND,模块UATR通信接口TXD和RXD,模块的TXD为发送数据接口,与主控的RXD连接;模块的RXD为发送数据接口,与主控的TXD连接。2个引脚均为3.0 V信号电平,当与3.3 V主控连接时要串联1 kΩ的电阻。LDO稳压芯片使能引脚EN。模块复位引脚RESET。模块还有2个通信指示引脚:NET网络指示灯状态输出引脚以及异步消息通知引脚。
2.3 指纹识别模块
指纹识别采用AS608光学指纹识别模块。AS608光学指纹识别模块内部集成有指纹识别算法,能快速采集和识别指纹;该模块在保险柜、考勤机、门禁系统中尤为常见。指纹识别模块与主控之间的数据发送与接收都按照一定的指令格式打包。解析数据包时也必须按照规定的指令进行格式解析。模块指令模式有3种:数据包格式、命名包格式以及结束包模式。指令包和数据包包括:包头、芯片地址、包标识、包长度;数据包与结束包的区别在于包标识。在指令包或应答包后一定跟着数据包,数据包不能单独进入执行流程。
AS608光学指纹识别模块利用光的折射和反射原理。指纹识别模块两个基本功能:一是采集指纹图像信息;二是根据原有的指纹对新的指纹进行对比,从而达到身份识别的目的。在指纹识别模块中有发光二极管和电荷耦合器件(CCD)。发光二极管为模块提供光源,照亮手指上的指纹;CCD是一组光敏二极管,每一个光敏器件记录一个像素。在模块中有一个模数转换器,能够将光敏器件记录的像素转换成模拟电子信号,从而将图像数字化。当手指放到指纹识别模块的三棱镜上时,发光二极管提供光源照亮指纹,光从底部射向三棱镜。光束在凹凸不平的指纹纹路上的折射角度和光线明暗各不同,CCD搜集到明暗程度不同的图片信息,从而完成指纹采集。光学指纹识别模块的原理如图2所示。
图2 光学指纹识别模块原理
2.4 门禁锁
系统利用电磁锁代替普通机械锁,实现自动化控制。门禁锁模块由一个电磁锁和一个光耦隔离继电器组成。主控制器引脚无法直接驱动电磁锁,因此在电磁锁的前端需要增加一个光耦隔离继电器。当光学指纹识别模块识别到已有指纹时,主控发出信号使继电器吸合电磁锁通电,门开启。继电器有常闭和常开两种触点,为了降低功耗,本系统使用常开的触点。通电时,常开接口与COM公用接口短接。模块中的IN接口与主控连接,通过主控引脚高低电平输出即可实现继电器的吸合。模块触发方式(高电平触发或低电平触发)可通过跳线选择。
2.5 语音播报模块
系统中的语音播报模块实现了系统的人性化设计。语音播报模块主要用于身份识别、指纹录入、删除等操作信息的播报。语音播报模块采用中文TTS文字转语音合成模块。该模块能够将汉字、大小写英文字母、数字直接转换成语音输出。在串口输出播放内容即可,例如要播放“指纹删除成功”,代码为Serial.print (“指纹删除成功”)。模块通过UART串口通信,模块的TXD和RXD分别与主控制器的RXD和TXD连接。在使用该模块过程中,需要注意的是语音输出后要增加延时语句,即需要一定的时间让语音模块读完播放信息。
2.6 电池电压检测电路
为防止停电时无法开启门禁进入机房的问题,在系统内置一个可充电电池。电池电压是电池的重要参数之一,系统采集电压并将数据传输到平台。主控的模拟接口最大输入电压为5 V,因此利用电阻串联分压的方式采集电压。在电池电压检测电路中还需要考虑一个问题:电路中的电阻不能过小,否则会导致电池对整个电路持续供电,会大量消耗电池电量。针对这个问题,可以在电阻串联分压电路中串联一个NMOS管,当无需检测电池电压时,主控输出低电平使NMOS断开,减少电池的损耗。
2.7 LCD显示屏
指纹录入、删除、验证以及门禁开启等信息显示在LCD12864屏幕上。普通的LCD12864显示屏接口太多,不仅接线麻烦而且接口太多会占用主控制器的引脚。因此本系统采用IC接口显示屏。IC接口显示屏加上电源线总共四根线即可实现数据通信。该显示屏的主控芯片是ST7920,它是一款COB(芯片直接贴装技术)液晶显示屏,内部有GB2312中文字库。要显示中文只需要利用中文字库内码提取软件提取出内码即可。该显示屏不仅方便显示中文,也可以显示BIN格式图片,只需要将预先做好的图片配合相应的下载工具将其存储到显示屏上,再通过主控程序控制就可以成功显示。
显示屏有8个引脚,只要连接其中5个引脚就可通信。5个引脚分别是GND、VDD、SCL、SDA、BUSY。其中,GND、VDD为电源;SCL为IC时钟信号线;SDA为IC数据信号线;BUSY为忙信号,高电平为忙,低电平为闲。显示屏的SCL与主控Mega2560 Pro的D21(SCL)引脚连接;显示屏的SDA与主控Mega2560 Pro的D22(SDA)引脚连接;BUSY与主控的D34引脚连接。
3 程序设计
系统初始化后,首先进行指纹录入。当有人将手指放置在指纹识别模块玻璃板上时,指纹识别模块开始采集当前指纹并进行对比;经过对比,如果是之前已经存储的指纹则继电器通电吸合,打开电磁锁,打开门禁之后语音播报“门禁已开启”,同时显示屏上显示门禁开启信息。验证成功的指纹ID号通过NB-IoT传输到物联网平台(点灯科技);管理人员可登录平台或者APP查看门禁开启信息。当无权限的人需要进入时,管理人员可通过平台远程控制解锁,也可通过管理人员告知的临时授权码进入。系统主程序流程如图3所示。
图3 系统主程序流程
4 结 语
本文设计的机房智能门禁通过光学指纹识别模块实现身份识别。利用LCD显示屏和语音播报模块实现了友好的人机交互界面。利用NB-IoT模块实现了远程监测和控制。当无权限的人需要进入机房时,管理人员可通过平台或APP进行远程控制。系统内置一块可充电电池,可解决因停电管理人员无法进入机房检查的问题。系统与传统的机械式门禁相比提高了安全性、可靠性,也提高了校园的智能化水平。