《毕业设计(论文)-铁路实名票务系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-铁路实名票务系统.doc(21页珍藏版)》请在三一文库上搜索。
1、铁路票务实名系统摘要: 火车票实名制,一直都是全民上下比较关注的一个问题。本系统通过手机电子票和基于第二代身份证的射频卡识别技术,利用个人身份信息与车票的一一对应关系,来解决车票的实名制问题。本系统基于Celeron-M处理器的英特尔嵌入式ECX平台,扩充了USB摄像头、射频卡读写模块、GSM短信模块、数据库管理、图像识别、门禁系统、语音提示等硬件和软件,实现了从订票到检票通过门禁系统一整套方案,为火车票实名制问题提出了一个完整的解决方案。关键字:车票实名制,电子票,射频识别,EMS ,SMS,DataMatrix二维条码Abstract: The real-name system of th
2、e train tickets, has been an issue of concern to the community as a whole. The system, based on identification technology though the electronic tickets and the second generation ID card, makes use of the relations between personal identity information and tickets to resolve the real-name system prob
3、lem. The system based on the Intel plug-ECX platform with Celeron-M processor, expanding the USB camera, RF card modules, GSM modules, database management, image recognition, access systems, voice alarm etc hardware and software, accomplished the process from booking tickets to check and through acc
4、ess systems , make a complete solution of the real-name system for train tickets Keywords: real-name system of tickets , electronic tickets, RFID , EMS , SMS , DataMatrix 2D barcode目录1系统方案41.1应用背景41.2功能与指标51.2.1功能介绍51.2.2性能指标52系统实现原理62.1系统硬件设计62.1.1硬件系统总体设计62.1.2硬件模块简介72.2系统软件设计102.2.1系统顶层数据图102.2.2
5、票务系统0层图112.2.3票务系统1层图122.2.4票务系统中关键模块的具体实现及程序流程153总结与展望201 系统方案1.1 应用背景每逢春运、节假日,火车订票就成了人们比较关心的问题,经常可以看到在火车站排起来长长的队伍买票的情景,而加上票贩子猖獗,使得人们正常购票更加困难,因此,车票实名制问题已经成为备受关注的一个社会问题。针对这一情况,我们利用当今电子技术中最具有生命力的嵌入式系统设计开发技术,结合通信技术和计算机技术,设计实现了这套车票实名制系统。这里简单介绍一下第二代身份证技术和二维条码技术,第二代身份证采用非接触式芯片作为“机读”存储器,芯片储存容量更大,写入的信息可划分安
6、全等级、分区存储,可以用来进行个人身份认证;DataMatrix二维条码,由相同大小的黑色或白色方格组成,可以用来存储一定量的信息,并可以通过图像识别技术来读取存取在其中的信息。本系统中就是这两项技术来解决车票实名制问题。系统整体结构如图 1所示,用户可以通过手机上网订票,省去了人们去车站排队的苦恼,检票终端采用了基于二维条码的图像识别技术和第二代身份证的射频识别技术,使车票与用户身份信息一一对应,达到实名的目的。图 1总体设计方案结构图1.2 功能与指标1.2.1 功能介绍系统应用环境假设:a) 第二代身份证已经完全取代了第一代身份证,可以利用射频技术来检测b) 手机功能均支持增强型短消息的
7、收发,可以显示二维条码图像,手机普及率较高c) 电子银行应用普及,管理制度比较完善,可以用来支付网上交易基于以上假设,本系统工作流程如下:(1) 终端订票:用户通过手机或PC登陆订票系统网站,进行订票,订票后,用户可以选择是否接收手机电子票,接收的话,服务器会根据用户的身份信息自动生成一个二维的条码,并通过GSM短消息发送到用户的手机上;否则,用户可以直接利用身份证进行订票。(2) 数据库管理:存储用户的身份信息,主要是身份证号码,用来进行身份认证(3) 计费管理:用户确认买票以后,通过电子银行进行费用支付(4) 车站检票:A. 条码识别:通过USB摄像头检测并分析条码信息,查询数据库进行车票
8、的核对B. 射频识别:利用射频读卡器,直接读取身份证中的个人信息,并到数据库中查询核对(5) 门禁系统:用户车票通过核对后,会给出“OK”的提示,即检票通过,否则,给出“错误”提示1.2.2 性能指标(1) 支持手机型号:诺基亚、三星、摩托罗拉、索爱、西门子、飞利浦等(2) USB摄像头帧频率:30帧/秒图片大小:320*240 (3) 射频卡读取时间:小于200ms(4) 门禁执行时间:0.8秒2 系统实现原理第一步:用户通过手机或PC登陆订票系统服务器,按照网站提示进行订票第二步:服务器根据用户提供的身份信息,生成一个25位的密钥,并通过网络传送到GSM控制系统,同时在数据库中查找用户身份
9、信息,并将车票信息写入到数据库第三步:GSM模块将密钥发送到用户手机上第四步:用户将密钥反发送到GSM系统,进行验证第五步:GSM系统收到返回密钥后,生成含有和用户身份一一对应的二维条码和车票信息,并将生成的条码和车票信息发送到用户手机上,同时发送验证通过的标志给订票服务器第六步:服务器收到验证标志后,进行数据更新第七步:用户持含有车票的手机或者个人身份证(第二代),到车站进行检票第八步:车票信息正确的话,用户通过门禁系统,给出“OK”的信号,否则,给出“错误”提示2.1 系统硬件设计2.1.1 硬件系统总体设计系统中以GENE-8310开发平台为核心,扩展了GSM短消息模块、USB摄像头、通
10、过与凌阳单片机通信增加了射频卡读写模块、电机门禁系统以及语音提示功能,系统硬件电路总体框图如图 2所示。本系统充分发挥了GENE-8310开发板的速度优势,用来处理手机终端二维条码的扫描工作,而一些控制部分的工作则由凌阳16位单片机来完成,通过COM2端口与凌阳单片机进行通信,GSM短消息模块的作用是与手机终端用户进行验证以及发送二维条码到用户终端。图 2硬件总体设计图2.1.2 硬件模块简介(一) GSM短消息模块系统中使用了MC35i短消息发送接收模块,它是西门子公司推出的GPRS通讯模块,支持语音通讯,具有GPRS、USSD和CSD三种数据传输方式以及SMS和FAX功能,在本系统中,只用
11、到了它的GSM短消息功能。模块具有体积小、重量轻、功耗低等特点。MC35i 的工作电压为3.3伏-4.8伏,典型电压为4.2伏。最大工作电流为2安。模块可以工作在GSM900和GSM1800两个频段。工作于 GSM900时功耗为2瓦,工作于 GSM1800 时功耗为1瓦。利用AT指令进行控制。GSM模块硬件连接如图 3所示。图 3GSM模块硬件电路图(二) 凌阳单片机控制模块此部分的核心控制部件是由凌阳单片机来完成,在此部分凌阳单片机完成四个主要部分的控制。A. ZLG500A模拟二代身份证(射频卡)信息读写模块。B. 步进电机模拟门禁系统。C. 语音提示部分。D. 串行通信部分。A. 射频卡
12、读写部分第二代身份证识别采用ZLG500A射频卡模块来实现,ZLG500A采用了PHILIPS最新ISO14443A标准高集成芯片MF RC500,三线SPI能方便的与MCU接口。电路如图 4所示。首先由SPCE061发送命令和数据给ZLG500,ZLG500执行命令完毕后将命令执行的状态和响应数据发回SPCE061,通信前收发双方必须处于空闲状态。ZLG500的RST有两种接法;一是接硬件复位电路,如阻容复位等。这样系统上电后必须要等待ZLG500复位结束;二是接SPCE061的一个I/O口由SPCE061控制复位。本电路使用第二种方法,这样在ZLG500出现异常时可由SPCE061控制复位
13、。开始发送数据时,SPCE061发出SS下降沿信号然后等待ZLG500在SDATA 线上的响应,若在50ms 内未检测到此响应则退出本次传输,将错误代码返回给主程序,由主程序进行错误处理。若ZLG500正确响应则SPCE061可将命令和数据发送出去,然后SPCE061等待ZLG500发回的状态和响应数据,即等待SS线上的下降沿的产生,此时的SPCE061用外部中断响应,若在500ms 内未检测到此信号则退出本次传输且向主程序报告错误代码,若正确检测到SS信号则可接收状态和数据。图 4射频卡接口B. 门禁模块门禁系统采用步进电机来模拟,电机采用普通星形连接的3线6相步进电机,先假定某一线标号为A
14、;则依次给脉冲A、AB、B、BC、C、CA如此循环下去,每一次循环步进电机旋转10.8度,门禁采用星形结构,每两栏杆的水平角度为120度,这样,每进行一次检票通过步进电机就要旋转120度,即要80次脉冲循环。由于电机的旋转速度不是很高,故采用低电压供电,供电电压为3V。为了防止电机电路电流对单片机系统干扰,驱动电路前端采用TLP521光耦隔离;功率驱动管采用大功率PNP达林顿管TIP127,电机低速旋转时工作电流为1.2A。电路如图 5所示。图 5步进电机驱动电路C. 语音提示部分语音提示采用SPCE061内部DA以及凌阳IDE集成压缩算法从单片机直接输出DA转换得语音信号,输出信号经过RC低
15、通滤波后输入到功放部分,功放芯片采用凌阳公司的SPY0030,SPY0030A为音频功率放大集成电路,它的放大倍率由外接电阻进行调整,最大功放倍数为20倍,低通滤波与功放部分电路如图 6所示。图 6语音模块接口D. 通用串行通讯接口通用串行接口采用3线RS232标准,采用MaX232接口芯片与上位机完成接口,采用232典型电路,电路如图 7所示。图 7串行通信接口2.2 系统软件设计为了方便的说明本票务系统的信息流向及从订票到售票的整个过程,以下采用自上向下逐层分解的数据流图(DFD),指明数据的功能及在各个模块移动时的数据加工和数据变换。2.2.1 系统顶层数据图图 8系统顶层数据图该票务系
16、统处理车票的出售和验证。A. 购票用户通过Internet查询车站的车票剩余情况、车票价格和车次信息;B. 填写并提交订票表单,包括车票具体信息和身份信息;C. 系统分析和处理表单,将订票结果通过Internet告知用户,同时将密钥通过短信发送到购票用户;D. 用户将原密钥转发到票务系统的服务器上进行确认;E. 票务系统验证密钥后将二维条码机车票信息通过短信发送给用户,到此,订票过程结束;F. 用户进站时,有两种验证方式:刷身份证或者存贮在手机上的二维条码;G. 系统验证信息,并将结果显示给用户。2.2.2 票务系统0层图图 9票务系统0层图系统可分为网上售票、GSM短信处理、数据库管理、门禁
17、处理四个模块。其中,网上售票模块及车站数据库模块由单独的务器负责,而门禁处理模块和GSM短信模块由基于英特尔XScale处理器的嵌入式平台实现:A. 用户查询车票信息时,售票模块从车站数据库管理模块获取尚未出售的车票信息并显示给用户;用户提交订票表单后,若售票模块验证通过,则将用户身份信息与该用户所定车票信息一起作为以预定车票信息发回数据库管理模块,同时将该用户的手机号连同密钥发送给GSM短信模块。B. GSM模块收到密钥后,将其转换为短信格式发送给订票用户;同时GSM模块定时查询新的短信息,等待用户确认,若收到的短信符合密钥的格式,模块将其解码,并与从数据库管理模块获取待确认的车票信息进行比
18、较,若符合则通过验证,模块将已确认的车票信息返回到数据库管理模块,并把车票信息和二维条码图片发送给用户。 C. 门禁模块从数据库管理模块获取有效的车票信息(包括用户身份信息),将之与用户的身份证信息或者条码信息进行比较验证,将比较结果显示给用户,同时将已经使用的车票信息返回给数据库管理模块。2.2.3 票务系统1层图1. 网上售票模块分图图 10票务系统1层图服务器端对用户请求及其响应的处理页面包括以下页面:A. 查询首页:用户所接触到的首页,用于查询车票剩余情况,用户只需填写车次及日期便可查询到对应车票剩余情况(每页显示记录数是可选项,默认每页显示1条信息),本页所选择的日期、车次信息将会直
19、接填到订票页对应的表格内;B. 选择车厢座位页:用于显示用户所查车票剩余情况信息,并且链接到选择车站页,在本页选择的车厢、车座信息将会直接填到订票页对应的表格内,也可跳转回到查询首页;C. 选择车站页:提供给用户选择所要登车与下车的车站名(只能选择在查询时所填车次对应路线的站点),所选择的车站会直接填到订票页对应的表格内,也可跳转回到查询首页;D. 订购车票页:提供给用户填写,用于订购车票,用户所需填写的内容有:所要订购车票的日期、登车站、下车站、车次、车厢号、座位号、个人姓名、身份证号码、手机号码、手机类型(其中欲订购车票日期、登车站、下车站、车次、车厢、座位号均会按照用户的选择默认填上),
20、填写完后只要提交就可进行订票;E. 订票判断处理页:该页对用户不可见,用于判断用户所填写内容是否合法(即各项信息是否属实,是否正确等)及处理用户的请求(若各信息都合法,则保存用户信息,并将消息通知计费模块;若不合法,则将事务转到其他页面,不保存用户信息,亦不通知计费模块);F. 订票成功页:显示给用户,通知用户已经订票成功,提示用户如何进行下一步操作。G. 错误页:用于处理用户订票过程中产生的错误;H. 查询车站车次对应关系页:用于查询车次与车站对应关系,只需填写登车站与终到站便可查询出经过该条路线的所有车次信息,在此还能查询出各车次的发车时间,本页提供给对车次信息不太了解的用户使用;2. G
21、SM短信模块分图图 11GSM短信模块图上位机控制部分:GSM模块负责短信密钥、车票信息的发送,确认密钥的接受、分析和验证,条码的生成和发送A. 接受到手机号及密钥后,模块将其编码成短信格式并建起传送给串口管理程序;接受串口的反馈信息,若发送成功,则将发送成功标志反馈给售票模块,否则将发送失败标志反馈给售票模块;B. 串口管理模块的任务是管理GSM模块,负责短信的收发;C. 短信解码模块从GSM模块获取所有的短信息,解码分析后,将其中的密钥信息发送给密钥验证模块,同时将短信息从GSM模块删除;D. 收到密钥后,密钥验证模块与数据库的待确认车票信息进行比较,将其中的有效密钥及用户帐户信息发送给计
22、费模块;E. 计费模块先计算车票的费用,然后检查用户帐户中的信息中是否有足够的金额,若有足够金额则将以确认信息返回到数据库,同时将有效帐户及密钥发送到条码短信生成模块;F. 收到有效帐户和密钥后,条码短信生成模块将密钥编码到二维条码图形中,并将二维条码图形编码成短信格式通过串口管理模块发送给用户,同时,我们将车票信息以文本格式短信通过串口管理模块发送给用户。3. 车站数据库管理模块分图图 12车站数据库管理模块车站数据库管理模块主要分为三部分,车票信息分类模块用于将数据库内的信息分类并将其提供给不同的模块进行下一步处理;车票信息更新模块用于将各模块处理后的车票信息更新到数据库;车票生成模块用于
23、按照车站的规律自动提前生成各次列车的车票信息,作为未售车票信息以供网上售票模块使用。4. 门禁处理模块分图图 13门禁处理模块上位机控制部分:门禁模块负责进站用户的自动验证检查,用户可用条码图像和身份证两种方式通过门禁。A. 用户让手机显示收到的二维条码图像,置于门禁摄像头指定的识别区域,条码识别程序从图像中解析出条码所包含信息,将其送与信息验证模块;B. 用户将身份证置于门禁指定的射频卡识别区域,射频卡模块读取身份证内信息,将其发送给信息验证模块;C. 信息验证模块将条码信息或者身份信息与数据库中的有效车票信息进行比较,验证通过后将车票信息返回给数据库,同时将验证结果发送给门禁系统及用户交互
24、模块;D. 门禁系统及用户交互模块将验证结果及车票信息显示给用户。2.2.4 票务系统中关键模块的具体实现及程序流程为了提高系统的可移植性和加快开发速度,我们采用了Java和Jsp开发。采用Java开发时,以下问题成为了我们的工作重点: (一) DataMatrix二维条码的识别算法本识别算法的主要包括图像的灰度直方图分析法、灰度自适应算法、区域分析算法、Hough变换直线检测算法、图像的校正处理等,算法的总体过程如下:图14二维条码识别框图A. DataMatrix二维条码的识别过程中的一些基本的理论知识介绍:(1) Hough变换Hough变换的原理其实就是一个投票过程,由图中的一个点(x
25、,y),根据公式遍历求出,并在累积矩阵(,)对应点加1,一个点投票后是一条正弦曲线,根据二值图中所有点的Hough变换结果得到累积矩阵(,)。从图中可以看出,在原图空间表示从原点到直线的距离,在原图空间表示直线的法线与X轴的夹角.一组特定的(,) 在原图空间中表示的就是区域1中所包含的像素点,如图 图 15所示。由此可以得出,只要(,) 取值适当,一条具有一定宽度的直线就能投到一个单一的(,)中,这也是Hough变换中最理想的情况。 图 15 Hough变换投影图(2) 二维条码有多种类型,在此系统中我们采用的是 DataMatrix二维条码。 Data Matrix最大特点就是“小”,能在2
26、5面积上编码30个数字,因此被广泛使用。另外在制造业的流水线生产过程中,打印生成DataMatrix也较容易。如下图所示, DataMatrix符号看起来像一个由深浅两种颜色组成的国际象棋棋盘,每一个相同大小的黑色或白色方格称为一个数据单位。DataMatrix符号由许多这样的数据单位组成。在寻边区外层有宽度为一个数据单位的静区。寻边区是“棋盘”的边界只用于定位和定义数据单位的大小,而不含有任何编码信息。被寻边区包围的数据区包含着编码信息。矩阵中的0,1就是DataMatrix的黑白两色小方格,即数据单位。图 16DataMatrix条码格式DataMatrix采用了Reed-Solomon交
27、织交插编码,编码时加入了纠错码,使DataMatrix的纠错性能比较强。以一个5位的流水号“12345”为例,通过编码规则得到DataMatrix的3位码字和5位纠错码,可纠错2位码字,纠错率为2/8=25 % 。DataMatrix包括的ECC 200符号体系标准编码模式如下表 1DataMatrix标准编码模式编码模式字符集每字符数据位数ASCII数字成对编码4ASCII 0-1278扩展 ASCII 128-25516C40大写字母和数字5.33Text小写字母和数字5.33X12ANSI X12 EDI 数据集5.33EDIFACTASCII 32-946Base 2560-255 范
28、围的任何数据8(3) Reed-Solomon分组校验码Reed-Solomon码是一种特殊形式的循环码,他是多元BCH码的一种,简称为RS码(里德所罗门码)。RS码基于有限域理论,特别是形如GF(qm)的有限域(q为质数,m为正整数)在发送端发送信息之前,纠错编码器根据要发送的数据信息计算相应的纠错信息,并把纠错信息作为冗余校验和数据信息一起组成纠错码。在接收端收到这些码后,通过纠错编码器不仅能自动地发现错误,而且能自动地纠正码字在传输过程中的错误,这种差错控制的系统属于前向纠错系统。RS码是在现代数据通信和媒体中应用极其广泛的信道纠错编码。伽罗华域(GF)又称有限域,是指按域的构成规则构成
29、的有限个元素的集合,要求满足加法和乘法2种运算的代数系统。如果域中有q个元素,则表示为GF(q)。对于GF(),加法是将二元域的算法扩展,逐比特做异或运算,得到的二进制序列就是结果。从逻辑电路上来实现,就是多个异或门并联,输出端就是结果,而没有进位的概念。乘法是按照GF()中所有的元素,除零元素外,都是用生成元的幂次表示的方法来定义的;若生成元用a表示,如果A=,B=,则C=AgB=。RS的编码就是计算信息码多项式除以校验码生成多项式之后的余数。在介绍之前需要说明一些符号。在GF()域中,符号(n,k)RS的含义如下:m表示符号的大小,如m=8表示符号由8位二进制数组成;n表示码块长度;k表示
30、码块中的信息长度;K=n-k=2t表示校验码的符号数;t表示能够纠正的错误数目。例如,(30,24)RS码表示码块长度共30个符号,其中信息代码的长度为24,检验码有6个检验符号。在这个由30个符号组成的码块中,可以纠正在这个码块中出现的3个分散的或者3个连续的符号错误,但不能纠正4个或者4个以上的符号错误。对一个信息码符多项式,RS校验码生成多项式的一般形式为:(1)式(1)中,通常取=0或者=1。B. 二维条码区域的定位二维条码区域定位是识别算法的基础,也是图像识别的预处理过程。该方法通过对条码图像的一些简单的特征分析,从而缩小核心识别算法的计算空间。由于条码的核心算法(如Hough变换)
31、的时间、空间复杂度较大,而且与识别区域成超线性增长关系,因此图像的预处理和识别区域的缩小可以大大的提高识别算法的效率。程序流程图如下:图 17二维条码区域定位流程图C. 条码区域像素处理:区域处理是条码识别算法的核心,它包括DataMatrix二维条码图形边界直线的检测、二维条码图形顶点定位,二维条码的校正和复原等。该模块算法比较复杂,时间消耗比较大,占整个识别过程所花时间的绝大部分。该模块使用的直线检测方法、顶点定位是基于Hough变换的。由于Hough变换对图像噪声的鲁棒性,一直是参数化图形检测的主要工具,尤其在直线检测方面,已成为一个经典的检测工具。模块的各功能的实现如下:(1) 使用H
32、ough变换获取条码区域的投影数组,继而计算得出DataMatrix边缘直线的弧度(极坐标);(2) 从条码区域中获取条码图形的四个特征值,结合以上求得的弧度得到DataMatrix图形的L形边沿位置,以及其四个顶点位置,并由此得到一个四边形;(3) 参考所选阈值将矩形区域内的像素点二值化(四边形外的点均为0,四边形内的大于阈值的为1),并将结果存入二位数组C中;(4) 根据二值化的数组判定条码图形的规格(在此系统中,我们要求其规格必须为20*20),并进行分块处理;(5) 对二值化后的数组进行校正和复原;(6) 提取条码信息,并对其进行纠错、解码。程序流程如图 18象素处理算法流程图所示:图
33、 18象素处理算法流程图D. DataMatrix条码的解码DataMatrix条码信息的解码可以分为DataMatrix二值矩阵的信息提取、Reed-Solomon编码的解码和DataMatrix编码的解码三部分,条码信息的解码过程如下:(1) 通过查表方式获取Reed-Solomon循环码的编码矩阵;(2) 由编码矩阵提取DataMatrix二值矩阵信息数组X,并对其进行循环校验及纠错,若校验失败,则解码失败返回;(3) 使用ECC200符号体系对信息数组X进行解码,并将解码信息串返回。 3 总结与展望本系统综合利用各种先进的电子技术,为车票实名制问题的解决提出了一个完整的解决方案,通过模
34、拟测试,系统达到了预期的指标。用户只需要登陆网站,就可以查询车票的相关信息,并直接进行订票业务,把一纸车票升级为电子票,规范了车票市场,用先进的科技解决实际生活中的问题,提高了办事效率,具有很好的现实意义,有一定的应用前途。展望:(1) 便携终端检票机:为了更好的完善系统,因该开发一个在火车上应用的便携式检票机,它可以扫描车票的二维条码和个人身份证,并通过无线系统与订票服务器通信,完成车上检票的过程。(2) 蓝牙技术应用:随着3G手机的开通,更多的智能手机都开通了近距离蓝牙通信的功能,它可以作为解决票务系统的第三种方案。(3) 技术的推广:目前,只是模拟火车票务的管理系统,将来系统得到应用的话
35、,可以推广到飞机、轮船、客运、电影院等等其他的订票机构。 参考文献:1全国大学生嵌入式系统专题邀请赛组委会全国大学生嵌入式系统邀请赛优秀作品选编上海交通大学电子工程系,20042 罗亚非等凌阳16位单片机应用基础北京航空航天大学出版社,20033 王宏 赵海滨数字图像处理Java语言实现东北大学出版社,20054 张铎,王耀球条码技术与电子数据交换北京,中国铁道出版社,19985 Henstock PV , Chelberg D M. Automatic Gradient Threshold Determination for Edge Detection. IEEE Trans. on Image Processing. 19966 ISO/IEC 16022 Information technology International symbology specificationData Matrix. First edition.20007 http:/ http:/