基于RFID的家庭智能门禁管理系统设计与实现毕业设计(31页).doc
-
资源ID:37156935
资源大小:915KB
全文页数:31页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于RFID的家庭智能门禁管理系统设计与实现毕业设计(31页).doc
-基于RFID的家庭智能门禁管理系统设计与实现毕业设计-第 23 页毕业设计方案课题名称:基于RFID的家庭智能门禁管理系统设计与实现毕业设计任务书一、毕业设计课题名称基于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:zzyqh 联系电话:18973355785 QQ:30887720摘 要 本文主要阐述了RFID门禁系统的设计与实现,采用北京京胜世纪科技有限公司的物联网综合开发平台以及物联网综合实验箱模拟智能家居环境进行开发,主要实现了智能家居门禁管理。本系统是一个软件和硬件相结合的一个应用系统,硬件主要有:ISO15693读写器、ISO15693标签、WSN无线传感网关、协调器、继电器、电磁门;软件主要有:SQL Server 2008、Visual Stadio 2010。本模块主要实现的功能有:登记信息、刷卡开门、挂失、取消挂失、注销等功能,其功能描述如下:登记信息功能:将PC和ISO15693读写器用串口连接,并正确打开串口;正确打开串口后系统将控制ISO15693读写器开始循环读卡;当看到界面上显示了读到的卡号后输入姓名、性别、身份证号和权限,系统将登记的信息保存到数据库中。挂失功能:输入身份证号,系统检测数据库中对应的表中是否存在该身份证号对应的身份信息,若存在则将该身份证对应的卡设置为不能使用。取消挂失功能:输入身份证号,系统检测数据库中对应的表中是否存在该身份证号对应的身份信息,若存在则将该身份证对应的卡恢复使用。刷卡开门功能:选择需要打开的门,建立PC和网关的连接通道,检查通道是否建立成功,若成功则进行下一步;打开串口,若串口成功打开则开启线程,使用线程读卡和判断权限;若所选择的门和刷到的卡的权限相匹配则打开电磁门五秒。 关键字:WSN RFID 物联网 门禁系统 目 录第一章引言11.1 项目背景11.2 RFID门禁系统的优势11.3 相关技术介绍21.3.1 C#编程语言21.3.2 .Net Framework平台21.3.3 SQL Server 200831.3.4 无线传感器网络31.3.5 ISO15693协议4第二章系统需求分析和概要设计52.1系统需求功能52.2 系统功能模型52.2.1 功能图52.2.2系统功能描述52.2.3系统流程图62.2.4性能需求7第三章系统设计与实现83.1系统软硬件、公共类介绍83.1.1 系统软硬件介绍83.1.2公共类介绍93.2 系统实现103.2.1 登录模块103.2.2登记信息模块113.2.3 挂失和取消挂失模块133.2.4 刷卡开门模块143.2.5 注销模块17第四部分系统功能测试与评价194.1 测试概述194.2系统功能测试194.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 2008SQL 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通道建立成功”若建立失败提示失败原因3Ping链路检测命令长地址、短地址上报节点信息若成功则提示“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 系统评价系统功能实现不够完善,有许多需要完善的地方,该系统离实际使用也还有相当的距离,需要进行不断地补充和完善。在这次的毕业设计中,让我深深地体现到进行软件开发不是一件简单的事情,它需要设计者具有全面的专业知识、缜密的思维、严谨的工作态度以及较高的分