持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第25天,点击查看活动详情
介绍
随着社会经济和科技的发展,智能化门禁系统越,来越多地应用于社会各方面。门禁系统不仅可以自动开关门锁,还具有记录进出日志、查询进出人员资料等功能。目前广泛使用的电子磁卡锁、电子密码锁,它们本身的缺陷也很明显,磁卡锁的问题是信息容易复制,密码锁的问题是密码容易泄露,又无从查起,从而使得他们的安全系数都很低。近几年随着科技的进步,多种新技术用于门禁系统,包括指纹识别、虹膜识别、人脸识别等。它们都属于生物识别技术范畴,具有唯一性和不可复制性,成为相对安全的身份识别方法,但由于设备精密、价格昂贵等问题导致这些技术难以普及,只能用于保密等级要求高的地方,并不适合学院办公室、实验室等环境使用。得益于移动通讯网络的日趋发达和 Android 智能手机的快速普及,无线网络支持的上下行数据速率不断提高,Android 智能手机逐渐成为人们身边不可缺少的信息终端。具有 NFC 功能的智能手机在市场上占据主导地位,基于 NFC 技术的应用越来越受到重视。综合上述分析,本文设计并实现了一种基于 NFC技术和云服务的新型门禁系统。用户使用具有 NFC
功能的智能手机向由云服务提供的门禁系统申请开门权限,在系统分配门禁权限后即可用智能手机打开门锁。使用 NFC 技术和云服务的新型门禁系统具有安全、方便、成本低等多项优点,是未来新型门禁系统的发展方向。
具体设计
装有 APP 开锁程序的智能手机移动终端,通过3G、4G网络、无线网络与门禁管理系统数据库进行网络通信,完成数据交互任务。用户使用登录/注册功能向云端门禁系统申请注册开锁程序,并且绑定用户和NFC 识别码,为凭借移动终端开启门禁系统做准备。在成为合法使用门禁系统的用户后,用开/关锁功能将移动终端作为开锁介质进行开门关门操作。在进行与程序相关的其他操作,使用设置功能如更改登录密码等。管理员在没有台式电脑环境下也可以对门禁系统的电子钥匙开门权限进行管理,通过在移动端的 APP程序,使用管理员账号登录后,可以对门禁权限和账号进行管理。移动端 APP 程序需要与云端服务器进行数据连接,在. Net 开发环境下,连接数据库最常用的方法是使用 ADO. Net[14]。在 SQL Azure 环境下,ADO. Net 可以继续使用,不用学习新的知识与技能就可以很容易的连接到 SQL Azure 数据库上,减少了单独学习云应用开发的成本。使用程序连接到 SQL Azure,需要使用System. Data. SqlClient. SqlConnectionStringBuilder 类。
在移动终端与云端服务器完成身份验证后,自动启动移动终端的 NFC 功能与门禁系统的 NFC 读卡器进行数据交换认证。在 Android 平台中,NFC 系统模块运行在一个名为 com. android. nfc 的进程中,该进程对应的应用程序文件名为 Nfc. apk。Nfc. apk 源码中包 含 一 个 NfcApplication 类。 当 该 应 用 启 动 时,NfcApplication 的 onCreate 函数将被调用。正是在这个 onCreate 函 数 中,NFC 系统模块的核心成员NfcService 得以创建。
基于 NFC 技术和云服务的新型门禁系统既支持云端操作又支持本地 PC 电脑端操作,系统功能主要由以下几个模块组成。
( 1) 登录模块。管理员可以选择密码登录或者启动移动终端 NFC 功能进行刷卡确认登录系统进行相关数据操作,如果云端服务器登录失败,可以使用 PC端的管理程序登录本地数据库,由于云端数据库与本地数据库进行实时同步,所以可保证数据的一致性。
( 2) 设备参数设置模块。用于添加、删除门禁系统控制器,配置控制器的 IP 地址。设置控制器管理区域。添加、修 改 门 的 控 制 方 式、开 门 延 时 等。设 置NFC 读卡器属性等功能。
( 3) 用户权限操作模块。设置部门信息和个人用户信息。审 核 移 动 端 APP 提 交 的 门 禁 权 限 申 请。NFC 终端权限的分配及管理。必要时进行考勤功能的添加。可对未分配权限的用户进行查询。
( 4) 基本操作模块。添加删除门禁系统管理权限,添加指定用户对选定门的进出权限并上传到总控制台。复制门和用户权限。系统开门详细记录查询。
( 5) 常用工具模块。如修改登陆用户名和密码,备份/压缩数据库,同步云端数据库等基本常用功能。
( 6) 考勤管理功能模块。适用于实验室以及学校各部门的考勤管理,可以设定自动开始考勤开始时间和考勤结束时间,具有考勤自动统计和自动按需生成报表功能。
( 7) 扩展功能模块。可以记录管理员每一次按钮事件,查找每一次按钮事件的具体时间和日志查询功能等功能。并支持其他数据开发操作。