非接触式lC卡又称射频卡,由lC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无任何外露部分,是近几年发展起来的一项新技术。由于射频IC卡具有存储容量大、抗干扰能力强、便于携带、安全性高等优点,在公交、金融等很多领域都得到了广泛的应用。本文主要以某旅游景点门禁管理系统为例,介绍基于射频IC卡的应用系统的开发思路和设计过程。
目前我国大部分旅游景点仍遵循传统的管理模式,门票一般采用纸质票,这种方式不仅在售票与验票过程中存在较大的财务漏洞,容易产生偷票、漏票、重复使用票的现象,也无法及时、准确统计游客的数量、流量以及区内的消费情况等。在旅游景点门票发行中采用射频IC卡,不仅可以有效地消除这些隐患、堵绝漏洞,还有利于年卡和月卡的发行。另外,一般景点都有很多的游乐项目,特别是节假日,游乐场的售票亭前总会出现长长的人龙,为了避免游客排队购票的时间浪费以及可能的消费流失,进入景点的游客可以在进场时购临时卡用于刷卡游乐,到出场时再退卡。这样游客在游乐的时候,就可以省去排队购票的麻烦,大大提高了消费热情和消费强度。可以看出,在大型旅游景点开发基于射频IC卡的门禁管理系统,不仅可以较好地实现景点的自动化管理,而且还可以通过射频IC卡的发行来刺激游客的消费,实现游客不同娱乐项目的自动收费。
该旅游景点有一个正门,设2个验卡通道,4个主要的游乐场所,考虑用5台电脑组成局域网。由于景点占地面积较大,不同游乐场所相距较远,采用R5485串行网络无法实现长距离的连接,所以系统对各游乐场均配备一台电脑和读卡器。选择一台性能较好的电脑A,放在景点入口处,用来实现发卡和进正门的刷卡功能,其中读卡器和发卡控制器分别接入其COM1口和COM2口:另外四台电脑B、C、D和E分别设置在4个游乐场所用于刷卡消费,相应的读卡器接入上位机的COM1口,在两个主要的游乐场中增设充值点,用2台发卡器分别连接到上位机的COM2口。由于本系统选择具有存储功能的射频IC卡,金额的扣除在射频IC卡上完成,后台数据库主要用于存储信息完成查询和统计等操作,对实时性要求相对不高,所以考虑将电脑A作为服务器,存放集中数据库的信息,电脑B、C、D、E客户端程序的登录验证、IC卡有效性验证等都需要访问电脑A中数据库才可以完成,其本地数据库中只存放在指定游乐场所刷卡消费的信息,可选择相对空闲的时间对集中数据库的信息进行更新。
根据需求,我们大致确定了系统实现的主要功能,分别是卡发行功能、刷卡功能、卡充值、挂失和解挂、查询统计、数据库维护、用户管理等,执行流程是:游客可以在进入景点之前通过发卡功能办理永久或临时IC卡,相关信息存入集中数据库相应的永久或临时IC卡表中;在进入景点或游玩某个游乐项目之前,根据永久卡还是临时卡访问相应的表,检查卡是否是有效卡,如果不是,给出相应的提示信息,拒绝其进入,否则通过刷卡程序按照事先设定好的金额,判断IC卡中的余额是否充足,如果余额不足,则提示相应的信息,不允许进入,否则更改IC卡中的余额,并将该刷卡信息记录在本地数据库中,作为以后更新集中数据库中消费表信息的依据;临时卡在退园时可以根据余额退还,为了查询统计方便,退卡后除了将临时卡表的对应记录删除外,还应在相应的消费表中将该操作记录下来。
由于Visual Basic对串口和数据库的访问控制均提供了丰富的功能,且具有简单易学的特点,所以本系统采用Visual Basic 6.0作为开发环境。
3.1访问IC卡发卡器和读卡器
在VB中,上位机对串口的通讯可采用两种方法,一种是调用W indows的API函数,另一种是利用VB的通信控件。本系统采用VB提供的MSComm通信控件实现对IC卡发卡器和读卡器的访问。注意,由于系统的设计涉及上下位机的通讯,需事先为每一个下位机分配一个唯一的机号,在处理时还可以根据刷卡机的机号确定刷卡的业务。
在所有提供和下位机通信功能的程序界面上放置MSComm控件,为了实现上下位机的通信,MSComm控件在使用前有许多参数需要设置,比如确定下位机和上位机的哪个端口连接,设置波特率等,假设MSComm控件的名称为MSComml,IC卡读写器与串口2连接,则具体属性设置参考以下程序段:
MSComm1.CommPort=2设置串口号
MSComm1.Settings = ”9600,N,8,1” 串口的属性
设置InputLen为0时,用Input将使?MSComm 控件读取接收缓冲区中全部的内容
MSComm1.InputLen = 0
MSComm1.InpulMode = comlnputModeBiary 二进制接受方式
MSComm1.RThreshold =1,每1个字节响应消息
MSComm1.InBuferSize=1024设置接收缓冲区的字节长度
MSComm1.Po~Open=True,打开开通信串口
一般将以上程序段放置在窗体的Load事件中,当执行卡发行功能或运行刷卡程序时,一运行程序就可以打开串口,只要将lC卡靠近发卡器或读卡器,它们就可以读出保存征 C卡中的卡号和余额等信息,MSComm控倬会自动触发OnComm事件过程,在该过程中,可以读取接收缓冲区中的数据,获得相关的卡号和余额等信息,根据要求对数据库进行操作。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !