一种基于RFID的充电计费系统

一种基于RFID的充电计费系统[20191213111841]
摘 要
随着电瓶车、DV、单反等等电器在人们生活中越来越普及,而新能源电力汽车的出现无疑也在强调着电能在生活中所扮演的重要角色。而与之对应的充电技术也在不断发展,尤其是快速充电技术的普及和提高为在外充电提供了可能。
然而传统的充电计费方式无疑不够合理与方便,投币式的计费方式缺乏灵活性,现金式的计费方式又过于繁琐不便,而其它方式诸如刷卡等又需要大量的硬件建设成本,而效果并不令人满意。
课题正是面对这种现象,提出了用RFID充当支付媒介的方式来解决传统计费方式的不足。通过Modbus协议来与下位机交换数据,探索微软新一代桌面平台WPF的应用程序实现,发掘WPF平台的UI与动画设计技术,通过软件设计原则与设计模式来设计系统,探索C#语言的高级实现,通过对数据库的合理规划,从而构建较为合理的上位机系统。
课题最后借鉴银行与移动通信的安全模式完成系统构建,并通过实际测试完全符合设计初衷,最后对系统的未来发展提出了一定设想,并给出了课题研究所未达到的要素。
 查看完整论文请+Q: 351916072 
关键字:字充电;Modbus;C#;WPF
目 录
摘要 I
ABSTRACT II
第1章 引言 1
1.1 选题背景 1
1.2 研究现状 1
1.3 毕业设计任务 2
1.4 论文内容组织 2
第2章 业务需求 3
2.1 业务流程 3
2.1.1 浏览器端 3
2.1.2 桌面端 4
2.2 功能需求 5
2.2.1 注册功能需求 5
2.2.2 数据采集功能需求 5
2.2.3 数据处理功能需求 6
2.3 性能需求 6
2.3.1 时间需求 6
2.3.2 安全性 7
2.3.3适应性 7
2.4 小结 7
第3章 系统概要设计 8
3.1 设计原则 8
3.2 主要开发工具 8
3.2.1 WPF平台 8
3.2.2 XAML 9
3.2.3 Access数据库 9
3.2.4 使用小结 9
3.3 基于Modbus的通信协议 11
3.3.1 Modbus简介 11
3.3.2 标准的Modbus协议解析 12
3.3.3 Modbus协议的具体对应实现 16
3.4 系统结构 16
3.4.1 浏览器端结构设计 16
3.4.2 桌面端结构设计 17
3.5 小结 18
第4章 系统详细设计 19
4.1 系统整体逻辑设计 19
4.2 系统详细设计 19
4.2.1 浏览器端 19
4.2.2 桌面端 20
4.2.3 小结 21
4.3 系统技术要点 22
4.3.1 数据库技术要点 22
4.3.2 加密解密设计 25
4.4 系统具体实现 29
4.4.1 安全性设计 29
4.4.2 浏览器端设计 30
4.4.3 桌面端设计 33
4.5 小结 39
第5章 调试过程中的问题与解决方案 40
5.1 UI设计 40
5.1.1 布局问题 40
5.1.2 不规则窗体的绘制 40
5.2 编程方面 40
5.2.1 多参数窗体间传递及窗体间逻辑实现 40
5.2.2 计时器问题 41
5.3 数据库方面 42
5.3.1 空数据错误 42
5.3.2 键码值不唯一 42
5.4 硬件相关 43
5.4.1 串口设置 43
第6章 总结 44
参考文献 45
致 谢 46
附 图 47
I浏览器端类结构示意图 47
II浏览器端方法结构示意图 48
III浏览器端程序集结构示意图 49
IV桌面端类结构示意图 50
V桌面端程序集结构示意图 51
VI桌面端方法结构示意图 52
第1章 引言
1.1 选题背景
随着手机、电瓶车、DV、单反等等电器越来越广泛在生活中使用,尤其近期新能源电力汽车地推广无疑也在强调着电能在生活中所扮演的重要角色。
而与之对应的充电技术也在不断发展,尤其是快速充电技术和新型的无线充电技术无疑为充电方式提供了更多选择。
然而传统的充电计费方式无疑不够合理与方便:投币式的计费方式缺乏灵活性,现金式的计费方式又过于繁琐不便,而其它方式诸如刷卡等又需要大量的硬件建设成本,而效果并不令人满意。
一方面,RFID自身不断在完善与提高,在实用性与适用性方面不断扩展;另一方面,在物联网发展的大环境下,RFID以其自身的特性推动其发展。从这两方面来讲,RFID在未来拥有着无限可能与广阔的市场前景。
随时随地有电可充、能充,随着无线充电技术等一批技术的推广,正在逐步成为现实。
1.2 研究现状
在这种大背景下,如何对充电设备计费成为了一大问题。传统的投币式充电与按时间计算充电从一定程度上讲都存在缺陷,而无线充电技术的普及更是现有充电计费方式所无法解决的问题。
随着以微软联盟为核心的阵营尝试了近场通信(Near Field Communication, NFC)又称近距离无线通信来进行市场探索与准备,这项技术由免接触式射频识别(RFID)演变而来,并向下兼容RFID,用于手持设备提供M2M的通信,由于其具有的天然安全性,被中国物联网校企联盟比作机器之间的“安全对话”。
在2013年4月13日,小米手机无线运营部宣布将通过高校合作,彻底推广NFC技术,实现各项计费的一体化尝试。
在这种环境下,使用NFC或是类似的RFID技术为设备充电计费已经成为了可能,并拥有了广阔的前景。
1.3 毕业设计任务
这一切的准备与尝试都在释放一个信号:属于物联网计费的充电时代即将到来。
基于此,课题将设计一种基于RFID的充电计费系统的上位机部分,结合软件设计原则与设计模式,通过全新的平台和UI构成来完成系统的构建,并增加安全性设计,同时与下位机配合搭建完整解决方案,最后会就未来的发展前景探讨大数据时代的解决方案,实验充电计费系统市场化的最后一步如何迈出。
1.4 论文内容组织
第一章 主要介绍了本次系统设计的背景与研究现状,并且介绍了本次设计的目的与要求。
第二章 主要介绍了在课题设计对于各项功能的需求分析与确定,为下一步的详细设计提供了保证。
第三章 系统的概要设计和设计原则,并介绍了开发工具的使用与Modbus协议及其对应实现。
第四章 在各项技术选择后,设计了系统的两个方向的实现,以及具体实现后的系统架构与具体功能。
第五章 系统调试中遇到的问题及其解决方案。
第六章 对系统设计进行总结。
第2章 业务需求
2.1 业务流程
业务流程主要分为浏览器和桌面端两部分业务流程,在调研后打算实行分项处理功能。
2.1.1 浏览器端
1、业务流程
一般现代产品都有提供用户管理服务,其中大多数是通过无处不在的英特网来实现的,而本次设计正是考虑了互联网的便捷功能,从而提供了一种浏览器的方式来为用户与管理人员提供服务。
在这一端的设计中主要提供了两个数据库来管理两个级别组的存储信息。常规数据库分别管理用户组与管理组的信息。其中管理组的数据库主要存放账号与密码信息(后期增加级别信息),而用户组则存放包含用户名、密码以及不同编码的RFID编码信息。
而在记录组则提供了每一个RFID编码的充值与扣费信息,从而便于查找管理与核对。
在每个用户开始使用前,可以通过注册新用户和相应的RFID编码来成为浏览器端的使用者,在注册过程中会对用户名与RFID编码进行唯一性确认,在浏览器端并不允许相同的RFID编码有两个或以上的用户数量,相对的,一个用户可以有多个不同的RFID编码,成功成为浏览器的服务对象后,在成功登陆后可以查询注册在自己用户名下的RFID编码信息,比如用电量、余额等,同时也可以查看对于RFID自己的操作记录,这项功能类似于移动联通等电信行业所提供的话费查询服务,在充分整合的后期会提供诸如账号转移以及现金充值的服务。
而对于管理组的功能相对而言则与用户组有所区别,在这里提供了诸如模糊查找的功能,可以快捷方便的查询所需信息,并且开放了整个用户组的信息包括了单个RFID的操作信息提供查询,但不提供数据的修改服务。
2、业务小结
浏览器端的业务设计是为用户与服务人员同时服务的。就客服而言,通过局域网的快捷使得整个客服服务可以通过网络端来完成,在降低了数据库的复杂性的同时提高了安全性,就硬件设备而言更是仅需极低成本即可达成。
然而这一端的业务设计暂时没有设计充值等详细操作,就目前而言,这部分的业务设计在桌面端完成。
2.1.2 桌面端
1、业务流程
桌面端的设计是以服务网点为群体对象来进行的,同样拥有两个数据库来提供服务,其中的一个数据库与浏览器端为共用关系,即用户的信息及其操作详情,而另一个数据库则是桌面端所独有的,即管理员信息。
而这里的业务流程主要分为三块:
(1)RFID业务:在这里通过与下位机(阅卡器与射频卡)的配合,做到信息的传输与交换,在这里可以对RFID进行添删查操作,同时有自动校验业务,即对比RFID射频卡的信息和数据库已有信息进行核对校验,从而确定是否存在问题卡或不一致的情况,并通过操作记录来更进一步核实,防止人为私自篡改信息。
(2)账号管理业务:在这项业务中主要涉及的是用户名与密码以及管理员户名与密码的操作,同时对于用户账号,提供了在浏览器端提及的账号转移功能,即通过输入原密码与转移的用户名与密码,通过授权验证后可以对RFID编码进行转移。在这里有一个授权概念,这是来自银行系统的启发,及重要操作通过当值管理员的授权才可进行,目前只提供一级授权,随着业务的进一步扩展和改进,会有二级与三级授权,下面提到的业务授权均和此业务流程相同。
(3)用户管理业务:在这项业务中类似于浏览器端的新用户注册业务,除了可以增加新的RFID与用户名密码,在这里有一项重要的功能及充值功能,同时需要上面提到的授权操作,通过授权后可以对对应的RFID编码进行充值,无需提供浏览器端的用户名或密码,这里的处理采用了移动的话费充值思路,方便不同人的充值服务。
2、业务小结
在这里的业务流程分别借鉴了国内银行与通信行业的系统设计,以安全性为主提供了浏览器端所不具备的业务处理能力。
2.2 功能需求
无论是浏览器端还是桌面端都有包含注册需求、数据采集的需求、处理需求等等。总结起来共是三大需求。
2.2.1 注册功能需求
注册功能需求主要分为两块:用户注册与RFID编码注册。
其中用户注册可以在浏览端与桌面端分别完成,一次注册则所有数据库都会更新,以此来保证数据的统一性。用户注册主要分为两大部分:校验与注册。
在校验没有成功之前注册无法进行,就浏览器端而言,校验主要为三块:用户名唯一性校验、RFID校验与密码确认校验,其中RFID校验并不是唯一性校验,若是全新的RFID则通过编码产生特性成功检测后即可加入,但若为存在的RFID编码,则会查询其是否已经拥有了用户注册,若已有则不通过,否则可以通过,而当已有用户和新注册用户名相同且密码一致,依然可以进行。
而RFID编码注册除了上述所提及的浏览端的注册,更为主要的操作是在桌面端完成的,在这一部分可以注册新的RFID编码并同时对其进行充值操作,也可以单独进行充值操作,同样可以为RFID编码增加或替换用户名,当然部分功能都是需要数据处理功能的支持才可安全进行。
2.2.2 数据采集功能需求
这一部分的功能主要分为单一的RFID射频卡数据采集与群体采集。
单一的RFID射频卡的数据采集需要传感器与阅读器的支持,通过标准的工业通信标准使得下位机能与课题的系统进行信息交互,采集的信息包括了RFID射频卡的编码、电量与金额(在本例中为这三部分)。
而群体采集功能则是出于对RFID射频卡大容量信息的一种处理需求,即单个设备独立存在,通过射频卡可以获取多个设备的操作详情与信息,而采集的群体数据包括:RFID编码、操作时间、充值电量、充值金额、扣除电量、扣除金

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4941.html

好棒文