【基于RFID的家庭智能门禁管理系统设计与实现】 智能门禁机

来源:雅思 发布时间:2020-03-12 点击:

  

 毕业设计方案

 课题名称:基于RFID的家庭

 智能门禁管理系统设计与实现

 班

 级:

 物联网

 姓

 名:

  指导教师:

  完成日期:

  20XX年X月X日

  毕业设计任务书

 指导老师:

  一、毕业设计课题名称

 基于RFID的家庭智能门禁管理系统设计与实现

 二、毕业设计任务

 根据培养高级技术实用人才这一目标的要求,选题从实际情况出发,选取适合于高职学生要达到的实际能力和水平,培养学生综合运用所学的知识与技能分析与解决问题的能力,并巩固和扩大学生的课堂知识与实际岗位技能相结合的专题作为毕业设计题目。

 本课题是根据物联网应用技术专业所开设课程内容,设计一个中小模型的智能家居系统的方案,并实现其部分功能。功能主要包括门禁子系统、燃气检测子系统、防火子系统、家室温度控制子系统、灯光窗帘控制子系统、防盗子系统等,大家可先对这些系统进行需求分析,然后选择1至多个子系统(至少1个)进行方案设计,并选择相关硬件设备,搭建系统硬件平台和开发环境,实现相关的功能。最终成果系统方案和设计过程文档、系统源代码和系统模拟模型。

 三、毕业设计要求

 1、选题要求

 根据物联网应用技术专业所开设课程内容,题目为智能家居系统方案设计与实现,设计一个中小模型的智能家居系统的方案,并实现其部分功能。功能主要包括门禁子系统、燃气检测子系统、防火子系统、家室温度控制子系统、灯光窗帘控制子系统、防盗子系统等,大家可先对这些系统进行需求分析,然后选择1至多个子系统(至少1个)进行方案设计,并选择相关硬件设备,搭建系统硬件平台和开发环境,实现相关的功能。

 2、方案标题要求

 整个方案应包括封面、毕业设计任务书(已下发)、摘要关键字、目录、毕业设计正文、结束语、致谢、参考文献;

 封面包括:学校名称、专业名称、姓名、课题名称、指导老师等信息(要有图文混排)

 格式要求

 正文:正文,中文字体用五号宋体字,英文用Times New Roman字体,

 行间距:固定值为22磅。

 (2)一级标题:二号字,黑体,加粗,居中对齐,段上下空20磅。

 (3)二级标题:三号字,宋体,居中对齐,段上下空10磅。

 (4)三级标题:四号字,黑体,缩进两字,段上下空6磅,中间空一格。

 (5)页脚:显示页码。毕业设计任务书、摘要、目录的页码以大写罗马数字编号,如:ⅠⅡⅢ,居中;从第一章前言到结束语、致谢、参考文献的页码以阿拉伯数字编号, 居中。

 (6)页眉:论文所在的章节名称,居中,小五号,宋体。封面无页眉。

 (7)添加图(表)题:为“毕业论文”第一章节中的图添加“图(表)1-1,图(表)1-2”所示的图题;第二章节的图添加“图(表)2-1,图(表)2-2”所示的图题。选择全文的图都添加类似的图题。

 (8)创建目录:显示页码,页码右对齐,格式来自正式,显示级别为三级。

 要求学生在规定的时间内,经过努力可以按时完成设计,取得相应的成果。对于有些可能超出所学知识范围的题目,应该通过自学或在实践中学习进行弥补。

 通过毕业设计,提高学生的专业知识和岗位技能,培养学生的文献检索能力、开发设计能力、创新思维能力、独立工作能力与协作工作能力、培养学生严谨务实的科学作风与奉献精神,使学生受到科学研究、专业设计和撰写技术报告的基本训练。

 四、毕业设计过程及进度计划

 课题总体规划与方案设计阶段(二周):确定所要实现的功能内容;

 设计制作阶段(六周);

 修改完备阶段(二周);

 撰写完善毕业设计方案阶段(一周);

 毕业答辩(一周)

 五、毕业设计论文格式要求

 毕业设计方案或报告主要包括以下部分:

 (1)封面

 (2)毕业设计任务书

 (3)摘要与关键词

 (4)目录

 (5)引言

 (6)正文

 (7)参考文献

 六、毕业设计答辩程序及准备要求

 1、答辩程序

 (1)介绍毕业设计情况及本人主要完成的设计内容,时间为5分钟

 (2)答辩老师提出2-3个问题,由答辩人回答,回答问题时间为10分钟

 2、准备要求

 (1)答辩时必须提供光盘、毕业设计论文或报告。

 (2)准备好个人讲述提纲,制作PPT

 七、 毕业设计评分标准

 依据学院毕业设计评分表,制作如下评分标准:

 设计过程(30分):基本专业知识掌握情况(10分)、分析解决问题能力方面(12分)、工作态度及遵守纪律情况(8分)

 设计成果(40分):固定任务完成情况(10分)、设计原理数据方面(10分)、方案质量方面(12分)、设计创新或实用方面(8分)

 答辩情况(30分):对设计的阐述方面(15分)、回答问题情况(15分)

 八、其他

 指导教师的E-mail:

  联系电话:

 QQ:

 摘

 要

  本文主要阐述了RFID门禁系统的设计与实现,采用北京京胜世纪科技有限公司的物联网综合开发平台以及物联网综合实验箱模拟智能家居环境进行开发,主要实现了智能家居门禁管理。本系统是一个软件和硬件相结合的一个应用系统,硬件主要有:ISO15693读写器、ISO15693标签、WSN无线传感网关、协调器、继电器、电磁门;软件主要有:SQL Server 2008、Visual Stadio 2010。

 本模块主要实现的功能有:登记信息、刷卡开门、挂失、取消挂失、注销等功能,其功能描述如下:

 登记信息功能:将PC和ISO15693读写器用串口连接,并正确打开串口;正确打开串口后系统将控制ISO15693读写器开始循环读卡;当看到界面上显示了读到的卡号后输入姓名、性别、身份证号和权限,系统将登记的信息保存到数据库中。

 挂失功能:输入身份证号,系统检测数据库中对应的表中是否存在该身份证号对应的身份信息,若存在则将该身份证对应的卡设置为不能使用。

 取消挂失功能:输入身份证号,系统检测数据库中对应的表中是否存在该身份证号对应的身份信息,若存在则将该身份证对应的卡恢复使用。

 刷卡开门功能:选择需要打开的门,建立PC和网关的连接通道,检查通道是否建立成功,若成功则进行下一步;打开串口,若串口成功打开则开启线程,使用线程读卡和判断权限;若所选择的门和刷到的卡的权限相匹配则打开电磁门五秒。

 关键字:WSN RFID 物联网 门禁系统

  目

 录

 第一章 引言 1

 1.1 项目背景 1

 1.2 RFID门禁系统的优势 1

 1.3 相关技术介绍 2

 1.3.1 C#编程语言 2

 1.3.2 .Net Framework平台 2

 1.3.3 SQL Server 2008 3

 1.3.4 无线传感器网络 3

 1.3.5 ISO15693协议 4

 第二章 系统需求分析和概要设计 5

 2.1系统需求功能 5

 2.2 系统功能模型 5

 2.2.1 功能图 5

 2.2.2系统功能描述 5

 2.2.3系统流程图 6

 2.2.4性能需求 7

 第三章 系统设计与实现 8

 3.1 系统软硬件、公共类介绍 8

 3.1.1 系统软硬件介绍 8

 3.1.2公共类介绍 9

 3.2 系统实现 10

 3.2.1 登录模块 10

 3.2.2登记信息模块 11

 3.2.3 挂失和取消挂失模块 13

 3.2.4 刷卡开门模块 14

 3.2.5 注销模块 17

 第四部分 系统功能测试与评价 19

 4.1 测试概述 19

 4.2系统功能测试 19

 4.3 系统评价 22

 结束语 23

 致谢 24

 参考文献 25

 第一章 引言

 1.1 项目背景

 门禁系统就是对出入口通道进行管制的系统,它是在传统的门锁基础上发展而来的。传统的机械门锁仅仅是单纯的机械装置,无论结构设计多么合理,材料多么坚固,人们总能通过各种手段把它打开。在出入人员很多的通道(象办公大楼、酒店客房)钥匙的管理很麻烦,钥匙丢失或人员更换都要把锁和钥匙一起更换。为了解决这些问题,就出现了电子磁卡锁,电子密码锁,这两种锁的出现从一定程度上提高了人们对出入口通道的管理程度,使通道管理进入了电子时代,但随着这两种电子锁的不断应用,它们本身的缺陷就逐渐暴露,磁卡锁的问题是信息容易复制,卡片与读卡机具之间磨损大,故障率高,安全系数低。密码锁的问题是密码容易泄露,又无从查起,安全系数很低。同时这个时期的产品由于大多采用读卡部分(密码输入)与控制部分合在一起安装在门外,很容易被人在室外打开锁。这个时期的门禁系统还停留在早期不成熟阶段,因此当时的门禁系统通常被人称为电子锁,应用也不广泛。市场急需一种新型的门禁系统,RFID门禁系统应运而生。

 1.2 RFID门禁系统的优势

 本方案设计的门禁系统是基于非接触式感应ISO15693卡识别技术的RFID智能门禁系统,由管理系统、感应式读卡器、RFID标签等组成的一个功能强大的智能型网络门禁系统,人员手持一张合法的感应式ISO15693卡即可通过ISO15693卡读写器自动控制授权允许开启电磁门。门禁系统取代传统的机械锁匙,减少钥匙管理的麻烦,有效地避免钥匙流失。同时可记录、查询进出人员信息,与普通机械锁有着无法比拟的优越性,其优越性如下。

 1.使用安全

 机械锁因为部分在外,通过钥匙或其他工具可以轻易开锁进入。而RFID门禁系统是通过传递加密的数字信息,由网关给协调器发送命令通过继电器控制电磁门的开与闭。

 2.管理安全

 机械锁的钥匙非常容易遗失或流出,为了安全,须将锁更换。而RFID门禁系统只需将遗失的卡挂失或注销即可。

 3.使用方便

 一张卡可以代替钥匙,只要对一张卡授相应的权限,该卡即可通行授权进出指定的区域。不必携带一大串钥匙,开门时寻找钥匙的麻烦。

 4.管理方便。

 省去了配置钥匙、分配钥匙的麻烦。只需通过权限设置,轻松规划人员出入权限通过管理软件随时查看各区域人员进出情况。

 1.3 相关技术介绍

 1.3.1 C#编程语言

 C#是本方案实现过程中主要使用的编程开发语言之一。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

 C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

 C#是面向对象的编程语言。它使得程序员可以快速地编写各种基MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

 1.3.2 .Net Framework平台

 Microsoft .NET Framework是用于Windows的新托管代码编程模型。它将强大的功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。

 在今天的软件环境中,应用程序的来源很多,它们执行很多任务。对应用程序代码的信任是一个主要需求,因为我们谁也不想软件或信息遭到破坏。给予许可的安全策略不会允许对敏感信息的不适当的访问,或将本地机器暴露给恶意的程序或甚至是有平常错误的代码。

 .NET Framework 的目的就是要让建立Web Services 以及因特网应用程序的工作变的简单,.NET Framework 包括了三大部分:第一个部分是Common Language Runtime(CLR,所有.NET 程序语言公用的执行时期组件),第二部分是共享对象类别库(提供所有.NET 程序语言所需要的基本对象),第三个部分是重新以组件的方式写成的(旧版本则是以asp.dll提供ASP 网页所需要的对象)。基本上安装了之后对机器不会有很大的影响

 1.3.3 SQL Server 2008

 SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。

 SQL Server 2008 允许使用 Microsoft .NET 和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。

 1.3.4 无线传感器网络

 微机电系统(Micro-Electro-Mechanism System, MEMS)、片上系统(System on Chip, SoC)、无线通信和低功耗嵌入式技术的飞速发展,孕育出无线传感器网络(Wireless Sensor Networks, WSN),并以其低功耗、低成本、分布式和自组织的特点带来了信息感知的一场变革,无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点,通过无线通信方式形成的一个多跳自组织网络。

 WSN是wireless sensor network的简称,即无线传感器网络。无线传感器网络就是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中被感知对象的信息,并发送给观察者。传感器、感知对象和观察者构成了无线传感器网络的三个要素。  

 无线传感器网络所具有的众多类型的传感器,可探测包括地震、电磁、温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小、速度和方向等周边环境中多种多样的现象。基于MEMS的微传感技术和无线联网技术为无线传感器网络赋予了广阔的应用前景。这些潜的

 应用领域可以归纳为:军事、航空、反恐、防爆、救灾、环境、医疗、保健、家居、工业、商业等领域。

 1.3.5 ISO15693协议

 ISO15693是针对射频识别应用的一个国际标准,该标准定义了工作在13.56Mhz下智能标签和读写器的空气接口及数据通信规范。ISO15693是针对射频识别应用的一个国际标准,该标准定义了工作在13.56Mhz下智能标签和读写器的空气接口及数据通信规范,符合此标准的标签最远识读距离达到2米。工作频率范围为13.56MHz±7KHz;支持两种幅值调制方式 100%ASK和10% ASK;采用副载波调制方式,支持FSK的双副载波调试方式和ASK的单副载波两种调制方式。标签到读写器的数据编码采用曼彻斯特编码方式,根据信号调试的方式不同,通信速率也不同,如表1-1所示,标签支持高速和低速两种通信速度:

 表1-1 ISO15693标签通信速率

 数据速率

 单副载波

 双副载波

 低

 6.62kbits/s(fc/2048)

 6.67kbits/s(fc/2032)

 高

 26.48kbits/s(fc/512)

 26.69kbits/s(fc/508)

 第二章 系统需求分析和概要设计

 2.1系统需求功能

 通过对门禁系统的调查分析可以得到门禁系统主要功能包括:登记信息、挂失、恢复挂失卡的使用、刷卡开门、注销。

 2.2 系统功能模型

 2.2.1 功能图

 RFID门禁系统主要分为普通用户和管理员,管理员可对所有功能进行操作,普通用户只能进行刷卡操作。系统主要功能如图2-1所示:

 图2-1 系统功能模块图

  2.2.2系统功能描述

 系统功能如表2-1所示:

 表2-1 系统功能描述表

 编号

 功能名称

 功能描述

 输入

 系统响应

 输出

 1

 登录

 检查用户是否合法

 用户名和密码

 在数据库中查询用户信息

 成功则跳转到门禁管理界面,若登录失败给出相应提示

 编号

 功能名称

 功能描述

 输入

 系统响应

 输出

 2

 建立通道

 建立T1和T2通道

 输入ip、端口号、appID、password

 建立连接通道

 若建立成功提示“T1通道建立成功”,“T2通道建立成功”若建立失败提示失败原因

 3

 Ping

 链路检测命令

 长地址、短地址

 上报节点信息

 若成功则提示“Ping指令成功”,若失败则相应提示

 4

 串口操作

 打开串口用于数据传输

 选择需要打开的COM口

 打开系统与设备之间的连接

 若删除成功提示“打开串口成功”,失败则提示“打开串口失败”并提示失败原因

 5

 刷卡开门

 刷卡开门

 无

 打开电磁门

 若成功则打开电磁门,若失败则提示失败信息

 6

 登记信息

 登记用户信息

 姓名、性别、身份证号、权限

 存入用户信息

 若登记成功则提示“登记信息成功”,失败则提示“登记信息失败!”

 7

 挂失

 若卡遗失可以挂失

 身份证号

 在数据库中修改卡对应的状态

 若挂失成功提示“挂失成功”,失败则提示“挂失失败!”

 8

 取消挂失

 若找回遗失的卡可以取消挂失

 身份证号

 在数据库中修改卡对应的状态

 若成功则提示“取消挂失成功!”,失败则提示“取消挂失失败!”

 9

 注销

 若卡遗失后无法找回可以进行注销

 身份证号

 在数据库中删除对应的卡

 若成功则提示“注销成功!”,若失败则提示“注销失败!”

 2.2.3系统流程图

 系统流程如图3-2所示:

 图3-2 系统流程图

 2.2.4性能需求

 (1)系统具有可靠性和稳定性

 安全和可靠是对智能化系统的基本要求,是弱电系统集成工程设计所追求的主要目标,在系统设备选型、网络设计、软件设计等各个方面要充分考虑可靠性和稳定性。在设计方面,要采用容错设计和开发计算结构。在设备选型方面,要保证软件与硬件兼容性,保证系统稳定。

  (2)先进性

 工程的整体方案及各子系统方案将保证具有明显的先进特征。考虑到电子,信息技术的迅速发展,本设计在技术上将适度超前,所采用的设备,产品和软件不仅成熟而且能代表当前行业领先的技术水平。以便该系统在尽可能长的时间内与社会发展相适应。

 (3)标准化

 本系统设计及其实施将按照国家和地方的有关标准进行。我们所选用的系统手段和软件将尽可能符合工业标准或主流模式。

 第三章 系统设计与实现

 3.1 系统软硬件、公共类介绍

 3.1.1 系统软硬件介绍

 本系统使用的软件开发工具有:visual studio 2010、SQL Server2008

 硬件:北京京胜世纪物联网综合实验台,如图3-1所示:

 图3-1北京京胜世纪物联网综合实验台

 系统工作原理图如图3-2所示:

 图3-2 系统工作原理图

 3.1.2公共类介绍

 1.ISO15693Reader.cs类

 说明:该类提供了与ISO15693读写器的串口连接方法、通讯方法以及对ISO15693卡片读卡操作的方法。

 主要方法:

 (1)OpenSerailPort(String portName)方法

 说明:该方法的作用为:用来打开指定的串口号,返回值为Byte类型,打开成功返回0x00,否则返回其他。

 (2)CloseSerialPort()方法

  说明:该方法用来关闭串口,返回值为Byte类型,关闭成功返回0x00,否则返回其他。

 (3)Inventory(ModulateMethod mm,InventoryModel im,ref Int32 TagCount,ref String[] TagNumber)方法

 说明:该方法是读卡方法。ModulateMethod参数是枚举类型,用于选择调制方式为ASK或FSK;InventoryModel参数是枚举类型,用于选择读卡方式,读单卡为Single,读多卡为Multiple;TagCount参数用于存储读到卡片的数量;TagNumber参数用来存储读到的卡号。返回值类型为Byte类型,若读取卡号成功,这返回0x00。

 2.sqlHelper.cs类

 说明:该类提供了系统和数据库的连接方法和系统对数据库进行增删改查等操作的方法

 主要方法:

 (1)ReportTheLoss(string CardID)方法

 说明:该方法是挂失方法,CardID参数是字符串类型,用于传递身份证号。

 (2)Insert(string CardNumber,string Name,string Sex,string Identity,string Jurisdiction)方法

 说明:该方法是登记信息方法,该方法所有参数都是字符串类型,CardNumber参数用于传递卡号;Name参数用于传递用户姓名;Sex参数用于传递用户姓名;Identity参数用于传递身份证号;Jurisdiction参数用于传递用户权限。

 (3)CancelReportTheLoss(string CardID)方法

 说明:该方法是取消挂失方法,用于恢复被挂失卡的使用,参数CardID是字符串类型,用于传递身份证号。

 3.2 系统实现

 3.2.1 登录模块

 登录界面如图3-3所示

 图3-3 登录界面

 本模块流程图如图3-4所示

 图3-4 登录功能流程图

 本模块需使用的数据库表:管理员用户表(tb_Administrator),如表3-1所示

 表3-1管理员用户表

 列名

 含义

 类型及大小

 是否允许为空

 A_UserName

 用户名

 VARCHAR(20)

 否

 A_Password

 密码

 VARCHAR(20)

 否

 管理员用户表是用于在门禁系统登陆时进行验证,只有用户名和密码与此表中的信息相匹配,才能验证成功。功能实现流程如下:

 (1)获得用户输入的登录信息。

 (2)建立和数据库服务器的连接,在数据库中验证登陆信息是否正确。

 (3)将返回的查询结果缓存在数据集中。

 (4)判断登录是否成功,若成功则提示登录成功然后进入门禁管理界面,若失败则提示“登录失败”。

 3.2.2登记信息模块

 登记信息界面如图3-5所示:

 图3-5 登记信息界面

 本模块流程图如图3-6所示:

  图3-6 登记信息流程图

 本模块需使用的数据库表:人员信息表(tb_UserInfo),如表3-2所示

 表3-2人员信息表

 列名

 含义

 类型及大小

 是否允许为空

 U_CardNumber

 卡号

 VARCHAR(40)

 否

 U_Name

 姓名

 VARCHAR(20)

 否

 U_Sex

 性别

 VARCHAR(2)

 否

 U_Identity

 身份证号码

 VARCHAR(18)

 否

 U_jurisdiction

 权限(门的权限)

 VARCHAR(10)

 否

 U_Status

 状态

 VARCHAR(20)

 否

 在登记信息时,登记的用户信息都会存储在此表中。功能实现流程如下:

 (1)调用ISO15693Reader类中OpenSerialPort方法的打开串口(必须打开正确的串口,否则可能导致出现错误),若打开成功提示“串口成功打开”,若失败则提示“串口打开失败”。

 (2)串口成功打开后程序打开timer1,在timer1的tick事件中调用searchCard()方法循环读卡,若读卡成功则在界面上显示读取到的卡号,若失败则提示“搜索卡片操作失败!” 。

 (3)输入姓名、性别、身份证号、选择权限,单击登记信息按钮触发单击事件,在登记信息按钮的单击事件中调用sqlHelper类中的Insert()方法将登记的信息存储到数据库中的tb_UserInfo表中。

 3.2.3 挂失和取消挂失模块

 挂失和取消挂失界面设计如图3-7所示:

 图3-7 挂失和取消挂失界面设计

 本模块流程图如图3-8所示:

 图3-8 挂失及取消挂失功能流程图

 本功能实现流程如下:输入身份证号,若需要挂失则单击挂失按钮,在挂失按钮的单击事件中调用sqlHelper类中的ReportTheLoss方法进行挂失,若成功提示“挂失成功”,失败则提示“挂失失败”。若需要取消挂失(即将被挂失的卡恢复使用),则单击取消挂失按钮,在取消挂失按钮的单击事件中调用sqlHelper类中的CancelReportTheLoss方法取消挂失,若成功提示“取消挂失成功”,失败这提示“取消挂失失败”。本模块用到的数据库表:人员信息表(tb_UserInfo)。

 3.2.4 刷卡开门模块

 刷卡开门界面如图3-9所示:

 图3-9 刷卡开门界面设计

 本模块流程如图3-10所示:

 图3-10 刷卡开门功能流程图

 本模块需使用的数据库表:刷卡记录表(tb_OpenDoorRecord),如表3-3所示:

 表3-3刷卡记录表

 列名

 含义

 类型及大小

 是否允许为空

 O_CardNumber

 卡号

 VARCHAR(20)

 否

 O_Time

  时间

 DATATIME(20)

 否

 O_door

 被开启的门

 VARCHAR(20)

 否

 表功能:刷卡开门时,用于存储刷卡开门的记录。

 本功能实现的前置条件:建立通道和Ping

 建立通道:建立由本系统向网关发起并建立的连接通道:管理配置通道(T1),在该通道由系统发起命令请求,网关反馈命令响应,建立反馈命令响应通道:数据上报通道(T2),命令执行的结果由网关通过数据上报通道(T2)来回传给系统;命令与命令响应之间实行同步操作,即发送完一个命令之后,必须等待接收到命令响 应后才能下发下一个命令。建立通道是使用Socket(套接字)通信技术实现的。

 Ping:Ping指令是链路检测命令,用于检测通道是否建立成功,并且上报节点信息。

 注:通道是使用Socket套接字进行建立的,建立通道成功后才能使用通道给协调器发送命令控制继电器打开电磁门,建立通道是本功能实现的必要条件。

 建立通道实现:

 (1)实例化套接字对象

 (2)设置要发送的消息头和消息体(访问网关的用户名和密码)

 (3)调用GetSendMessage()方法将消息头和消息体都存储在数组中

 (4)调用SendMsg()方法使用套接字发送消息

 (5)调用RecvMsg()方法接收消息

 (6)调用GetReciveMessage()方法将接收到的消息头和消息体存储在数组中

 (7)根据接收到的消息判断建立通道是否成功,若成功提示“xx通道Connect指令执行成功!”,否则提示“T1通道Connect指令执行失败!“

 Ping实现(Ping的前置条件是建立通道成功)

 (1)调用WSN_GRIP_DLL.dll中的GetSequenceID()获取消息流水号

 (2)设置要发送的消息头和消息体(网关IP地址和指定端口)

 (3)调用GetSendMessage()方法将消息头和消息体都存储在数组中

 (4)调用SendMsg()方法使用套接字发送消息

 (5)调用RecvMsg()方法接收消息

 (6)调用GetReciveMessage()方法将接收到的消息头和消息体存储在数组中

 (7)根据接收到的消息判断Ping是否成功,若成功则提示“Ping指令成功!”,失败则提示“Ping指令失败!”

 实现步骤:

 (1)选择需要打开的门,打开串口,调用ISO15693Reader类中OpenSerialPort方法的打开串口(必须打开正确的串口,否则可能导致出现错误),若打开成功提示“串口成功打开”,若失败则提示“串口打开失败”。

 (2)串口成功打开后程序开启线程,在线程中调用searchCard()方法循环读卡,若读卡成功则在界面上显示读取到的卡号,若失败则提示“搜索卡片操作失败!” 。

 (3)读卡成功后调用SwipingCard()方法判断该卡是否存在,判断该卡是否可以使用,检查刷到的卡的权限和选择的门是否匹配,若匹配则调用SensorWriteLights()方法打开门,十秒后门自动关闭若不匹配则提示相应的门打开失败。

 3.2.5 注销模块

 注销模块界面如图3-11所示

 图3-11 注销模块界面

 本模块流程图如图3-12所示:

 图3-12 注销模块流程图

 输入身份证号,单击注销按钮,在注销按钮的单击事件中调用sqlHelper类中的IsExisted()方法检测数据库中是否有与说输入身份证号对应的记录,若存在记录,则调用

 sqlHelper类中的CloseAccount()方法进行注销,注销成功提示“注销成功!”,注销失败提示“注销失败!”。本模块用到的数据库表:人员信息表(tb_UserInfo)。

 第四部分 系统功能测试与评价

 随着人们对软件质量的重视越来越高,软件测试在软件开发中的地位越来越重要。而软件测试是目前用来检测软件是否能完成预期功能唯一有效的方法。其目标是充分利用有限的人力、物力和财力资源,高效率、高质量地进行测试。

 4.1 测试概述

 在软件实现过程中,程序员不仅要编写规范化的程序代码,而且要对程序代码进行单元测试,即模块测试或部件测试。之后,再由测试人员进行集成测试和验收测试。除了单元测试可以借用较成熟的测试工具外,其他测试仍然较难实现自动化。全球IT界对软件的测试,至今仍然以人工的黑盒测试为主,白盒测试为辅。通常的做法是:宏观上采取黑盒子方法,微观上采取白盒子方法;大的功能模块采用黑盒测试,小的构件采用白盒测试。

 我们在开发“基于RFID的家庭智能门禁管理系统”的时候,每增加一个构件,都用白盒子测试。通过白盒子测试后,才把构件集成到系统中。当所有的构件都集成完毕,再用黑盒测试。通过了黑盒测试后才发布该系统。

 4.2系统功能测试

 表4-1 用户登录模块测试

 测试模块

 用户登录模块

 创 建 人

 罗永

 创建日期

 2014-12-20

 测试日期

 2014-12-20

 优 先 级

 一般

 环境准备

 SQL Server2008、Visual studio 2010

 编号

 测试方法

 测试步骤

 预期结果

 实际情况

 是否通过

 A0001

 黑盒测试

 输入正确的用户名和错误的密码

 提示“登录失败!

 “提示“登录失败!”

 通过

 A0002

 黑盒测试

 输入正确的用户名和密码

 登录成功,并进入门禁管理界面

 登录成功,进入门禁管理界面

 通过

 A0003

 黑盒测试

 输入正确的用户名,不输入密码

 提示“登录失败!

 提示“登录失败!

  通过

 表4-2 刷卡开门模块测试

 测试模块

 刷卡开门模块

 创 建 人

 罗永

 创建日期

 2014-12-20

 测试日期

 2014-12-20

 优 先 级

 一般

 环境准备

 SQL Server2008、Visual studio 2010

 编号

 测试方法

 测试步骤

 预期结果

 实际结果

 是否通过

 B0001

 黑盒测试

 (1)正确连接PC和网关

 (2)打开串口开启线程刷卡

 提示“刷卡失败!”

 提示“刷卡失败!”

 通过

 B0002

 黑盒测试

 (1)正确连接PC和网关

 (2)建立通道

 (3)打开串口开启线程刷卡

 提示“刷卡失败!”

 提示“刷卡失败!”

 通过

 B0003

 黑盒测试

 (1)正确连接PC和网关

 (2)建立通道

 (3)PING

 (4)打开串口开启线程刷卡

 提示“刷卡失败!”

 提示“刷卡失败!”

  通过

 B0004

 黑盒测试

 (1)正确连接PC和网关

 (2)建立通道

 (3)PING

 (4)选择门

 (5)打开串口开启线程刷卡

 若卡存在,且能正常使用,且所选择的门和卡的权限相匹配则打开电磁门,否则提示失败信息。

 若卡存在,且能正常使用,且所选择的门和卡的权限相匹配则打开电磁门,否则提示失败信息。

 通过

 表4-3 门禁管理模块测试

 测试模块

 门禁管理模块

 创 建 人

 罗永

 创建日期

 2014-12-20

 测试日期

 2014-12-20

 优 先 级

 一般

 环境准备

 SQL Server2008、Visual studio 2010

 续前表

 编号

 测试方法

 测试功能

 测试步骤

 预期结果

 实际结果

 是否通过

 B0001

 黑盒测试

 登记信息

 (1)正确连接PC和15693读器

 (2)单击登记信息

 提示“卡号、姓名、性别、身份证号、权限都不能为空!“

 提示“卡号、姓名、性别、身份证号、权限都不能为空!“

 通过

 B0002

 黑盒测试

 登记信息

 (1)正确连接PC和15693读写器

 (2)打开串口开始读卡

 (3)在读写器上放置卡片

 (4)输入姓名、性别、身份证号

 (5)单击登记信息

 提示“卡号、姓名、性别、身份证号、权限都不能为空!“

 提示“卡号、姓名、性别、身份证号、权限都不能为空!“

 通过

 B0003

 黑盒测试

 登记信息

 (1)正确连接PC和15693读写器

 (2)打开串口开始读卡

 (3)在读写器上放置卡片

 (4)输入姓名、性别、身份证号并选择权限

 (5)单击登记信息

 提示“登记信息成功!”

 提示“登记信息成功!”

 通过

 B0004

 黑盒测试

 挂失功能

 不输入身份证号单击挂失

 提示“身份证号不能为空!”

 提示“身份证号不能为空!”

 通过

 B0005

 黑盒测试

 挂失功能

 (1)输入身份证号

 (2)单击挂失按钮

 若该身份证号在数据库中已被登记,有与之对应的记录则挂失成功,否则提示“挂失失败!”

 若该身份证号在数据库中已被登记,有与之对应的记录则挂失成功,否则提示“挂失失败!”

 通过

 B0006

 黑盒测试

 取消挂失功能

 不输入身份证号单击取消挂失

 提示“身份证号不能为空!”

 提示“身份证号不能为空!”

 通过

 续前表

 编号

 测试方法

 测试功能

 测试步骤

 预期结果

 实际结果

 是否通过

 B0007

 黑盒测试

 取消挂失功能

 (1)输入身份证号

 (2)单击挂失按钮

 若该身份证号在数据库中已被登记,有与之对应的记录则挂失成功,否则提示“挂失失败!”

 若该身份证号在数据库中已被登记,有与之对应的记录则挂失成功,否则提示“挂失失败!”

 通过

 B0008

 黑盒测试

 注销功能

 (1)输入身份证号

 (2)单击注销按钮

 若数据库中不存在该身份证号对应的记录,提示“无法注销不存在的记录!”,若存在则将该身份证号对应的记录删除并提示“注销成功!”

 若数据库中不存在该身份证号对应的记录,提示“无法注销不存在的记录!”,若存在则将该身份证号对应的记录删除并提示“注销成功!”

 4.3 系统评价

 系统功能实现不够完善,有许多需要完善的地方,该系统离实际使用也还有相当的距离,需要进行不断地补充和完善。在这次的毕业设计中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分析问题、解决问题的能力,同时,我也认识到开发一个好的系统闭门造车不行,没有团队合作也很难有成就。

 结束语

 经过了三个多月的学习和工作,我终于完成了《基于RFID的家庭智能门禁系统》。从开始接到论文题目到系统的实现,再到论文文章的完成,每走一步对我来说都是新的尝试与挑战,这也是我在大学期间独立完成的最大的项目。在这段时间你,我学到了很多知识,也有很多感受,从对RFID一无所知,对C#等相关技术分布了解的状态,我开始了独立的学习和试验,查看相关的资料和书籍,让自己头脑中模糊的概念逐渐清晰,使自己非常稚嫩的作品一步步完善起来,每一次改进都是我学习的收获,每一次试验的成功都会让我兴奋好一段时间。从中我也充分认识到了RFID门禁这一新兴的技术给我们生活带来的影响。

 这次做论文的尽力也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会又说突破,那也就不叫论文了。希望这次的经历能让我在以后学习中激励我继续进步。

  致谢

 在论文即将完成之际,回顾紧张但又充实的毕业设计和开发过程,本人在此向所有关心我及帮助我的老师和同学们致以最真诚的感谢。

 三年的大学生活,所收获的不仅仅是愈加丰厚的知识,更重要的是在阅读、实践中所培养的思维方式和表达能力。很庆幸这些年来我遇到了许多恩师益友,无论在学习上、生活上还是工作上都给予了我无私的帮助和热心的照顾。对他们的感激之情难以用语言量度,谨以我最朴实的话语致以最真挚的谢意。

 在这里首先要感谢我的导师——专业负责人X老师。他认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,从确定项目、制定计划、系统分析、系统设计、总体设计和详细设计到系统调试,让我懂得了整个软件开发的全过程同时也加深了我对编程的理解,熟悉了visual studio 2010应用开发工具,使我在思考问题、分析问题、解决问题和综合运用专业知识的能力上大大提高。这对于我以后的工作和学习都有一种巨大的帮助,在此感谢他耐心的辅导。在撰写论文阶段,X老师几次审阅我们的论文,提出了许多宝贵意见,没有他的指导,我们就不能较好的完成课题设计的任务,除了敬佩老师们的专业水平外,他们严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力也对我影响深远。谨此向颜老师表示衷心的感谢和崇高的敬意。同时我也感谢我的同组同学在这次毕业设计中的支持和帮助。

 参考文献

 1.霍尔顿、杨浩.《C#入门经典第三版》[M].清华大学出版社

 2.内格尔、Bill Evjen.《C#高级编程第8版》[M].清华大学出版社

 3.夏普、周靖.《Visual C# 2010从入门到精通》[M].清华大学出版社

 4.王小科、王军.《C#开发实战1200例第1卷》[M].清华大学出版社

 5.斯蒂芬森、普劳.《SQL入门经典(第5版)》[M].清华大学出版社

 6.MICK、孙淼.《图灵程序设计丛书:SQL基础教程》[M].清华大学出版社

 7.诺思拉、黄艳.《.NET Framework应用程序开发MCTS教程》[M].清华大学出版社

 8.梅奥、张子阳.《C#揭秘》[M].人民邮电出版社

 9.贾灵、王薪宇.《物联网/无线传感网原理与实践》[M].北京航空航天大学出版社

 10.范茂军.《物联网与传感网工程实践》[M].电子工业出版社

 

 

推荐访问:管理系统 门禁 智能
上一篇:特发信息港网 特发信息港一期项目可行性研究报告
下一篇:[初二第一学期班主任工作计划书] 初二第一学期班主任工作计划

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有