分享

基于短消息模式的学生校讯通信息管理系统

 共同成长888 2014-05-08

摘要:随着信息技术的发展,校讯通信息管理系统成为教育信息化的重要组成部分。为了实现学生在校信息与家长间的实时沟通,设计开发了基于短消息模式的学生校讯通信息管理系统。

系统集射频识别技术、计算机技术、移动通信网络技术于一体,结合系统的管理需求设计了三个子系统,分别是:非接触IC卡数据采集子系统、短消息收发子系统和数据库子系统。

采用串口窃电技术设计了通信接口转换模块,实现了非接触IC卡读卡器与上位机之间的数据传输。在解析了读卡器通信协议的基础上,基于多线程串口类CSerialPort进行了串口编程。采用MC39i设计了GSM短消息收发模块,开发了短消息处理子系统,其中重点对短消息的编解码方式、短消息对数据库的查询与发送进行了详细研究。在VC++6.0环境下开发了上层管理软件,实现对学生日常信息的管理,短消息发送和接收管理,以及学生考勤信息管理。

系统测试结果表明,系统对数据的采集准确,短消息发送可靠并能够实现短消息的查询等功能。

关键词:GSM短消息AT指令PDU模式非接触IC卡智能转换查询技术

1 概述

本章主要阐述学生校讯通系统的研究背景、研究意义和研究现状。对目前校讯通的不足进行了分析,针对问题,研究开发了基于短消息模式的学生校讯通信息管理系统,给出了研究的主要内容。

1.1 研究背景和研究意义

随着现代信息资讯技术的不断发展,充分利用现代信息技术加强学校教育及其管理,更大范围地提供丰富而又全面的信息化教育内容是社会和时代发展的必然需要。如何更简便、有效、快捷地加强学校与家长之间的信息沟通,让家长及时、准确了解孩子在学校的各种情况,同时也让学校、班主任及时、准确了解学生回家以后的生活学习情况,一直是社会、学校、家庭普遍关注和着力解决的问题。

校讯通服务系统将服务定位在中小学校教师、家长、学生身上,它可以让家长了解到自己孩子在学校的情况,也可以让家长随时随地向老师提出建议和反映孩子在家里的表现。由于当今教育受到网络、娱乐、游戏等的强烈冲击,使得许多中小学生沉迷于网络游戏,逃课现象屡见不鲜,如何使家长能够准确的掌握学生出入校考勤信息成为本系统研究的关键意义所在。此外,中小学安全事故呈上升趋势,必须加强中小学安全教育与安全管理工作,协调好家长和老师之间的沟通,这使得校讯通更有研究的意义。

基于上述意义,研制基于短消息模式的学生校讯通信息管理系统。该系统集射频识别技术、计算机技术、移动通信网络技术于一体,充分调动社会教育资源,利用现代信息技术实现学校与家庭之间实时、快捷、有效沟通的教育平台。

系统中涉及的射频识别技术,短消息技术在近年来飞速发展。我国应用IC卡进行各项业务起源于93年国务院启动的金卡工程,随着这些年的发展,目前已经应用到各个领域,包括停车场管理、门禁管理、一卡通管理、加油站管理、高速公路管理等方面,极大的提高了管理的效率。而短消息技术从1998年至今,获得了爆炸式的高速增长。单单在欧洲,每月就有超过100亿条的短消息在网络上传输。在德国、英国、意大利、挪威等一些国家和地区,有些运营商的短消息业务收入已经超过了传统的话音业务。而且,短消息在年轻人群中受欢迎的程度还在稳步增长。统计显示,1999年4月,全球每月发送短消息10亿条一年之后,这个数字变为160亿条,2001年全球共发送2500亿条短信息。我国的短消息业务比欧洲稍晚一些,但是据GSM协会统计中国已经成为世界第一大移动通信市场。这些技术的发展也为本系统的研制提供了强有力的保证。

1.2 国内外研究现状

对于如何在信息技术高速发展的今天更好的加强学校家长之间的沟通,更有利于学生的成长,国内外的教育专家进行了大胆的探索。近几年内在全国范围内开展了“校讯通”工程,教师每天向家长发送学生表现,作业情况等信息,家长、学生还可以通过WEB网络进行沟通。

但是由于计算机网络的普及不到位以及部分家庭无力承担微机的费用问题,使得基于WEB的沟通方式极大的受到了挑战。国外类似的研究主要是开展的电子档案袋评价。电子档案袋是高度个性化、可定制的、基于WEB的信息管理系统,电子档案袋能够展现随时间推移学生的成长、学习、业绩的个性化和协作两个方面的情况,电子档案袋对人生事业规划、个人履历形成传播、学术计划、学术评价与鉴定有支持作用,另外电子档案袋还可以作为反思工具。

目前关于电子档案袋评价系统的设计研制很多是针对高校的,而且有很多高校已经开始进行电子档案袋评价系统的实施。另外结合社会性软件发展已经出现不少的电子档案袋评价系统软件平台。

由此可见,国内外的研究多集中在利用网络记录评价数据,利用网络进行评价结果的交流的反思,且多停留在设想和初步试验阶段。可以说,这项研究的还处于初级阶段,还有很多问题需要去研究和探索。目前,国内考勤刷卡短信模式校讯通服务系统的研究刚刚起步,如在2002年7月立项的由北京电化教育馆承担的教育部十五规划重点课题“校讯通的研究与应用”。此外,一些学校也有尝试的例子,但往往局限于E-mai l发作业,发通知,但这受到当前家庭条件的限制,不可能得到较大面积的推广。

1.3 研究内容

本系统针对如何实时的快捷的将学生信息传递给家长,并且家长能够发送短信查询学生成绩等信息进行研究开发。设计实现三个子系统:非接触IC卡数据采集子系统、短消息收发子系统和数据库子系统。包括硬件模块的研制和软件系统的研究与开发。

本文主要研究内容:

1、基于485总线的智能接口转换模块的研制。设计一种无源、低功耗的接口转换模块,能够对数据的发送和接收进行智能切换。

2、GSM短消息模块的研制。设计电路实现短消息的收发。

3、读卡器数据采集软件的开发。编写符合读卡器通信协议的串口通信软件,并结合数据库接口技术使串口读入的数据能够存入数据库列表并进行分析应用。

4、短消息收发管理软件的开发。设计实现能够进行短消息编解码的应用程序,并结合数据库查询技术实现对学生考勤信息的发送和家长对学生在校成绩等信息的查询。这是本文研究的重点内容。

5、学生管理界面的开发。包括学生基本信息的管理与查询,短消息收发情况管理,学生考勤信息管理等方面。

2 系统结构分析和方案设计

本章主要阐述了系统的总体设计方法。按照系统的实际操作要求,经过调研分析,在原有校园管理系统上结合IC卡技术,无线通信技术,数据库技术,研究出一套实施可行的方案。

2.1 系统的设计原则

任何一个系统的设计都要考虑它各方面的性能,除了基本要考虑的系统的稳定性,软硬件的可靠性,系统及各环节的操作安全性等性能之外,针对本系统的特点有如下设计考虑:

(1)采用无线传输方式

家长在局域网之外要了解学生考勤等情况需要登陆学校WEB网站或由学校向家长发送短消息数据。目前WEB网站在各学校已经初具规模,而对于大多数家长来说接受短消息是一个更高效的方式。通过短消息的收发实现对学生信息的公布和查询,避免了大多数家长由于工作或其他条件限制不能及时上网所带来的不便。

(2)借助原有数据管理系统

在不改变原有数据系统运行的情况下系统管理员可以对系统进行调。在原有数据管理系统上增加数据列表,做到易管理,易维护。易维护性是当今应用系统成功与否的重要因素,它包含两层含义:故障易于排除,日常管理操作简便。

(3)采用成熟技术,提高性价比在投资费用许可的情况下,应当充分利用现代最新技术,最可靠的成果,以便使系统在尽可能长的时间内与社会发展相适应。从长远的观点看,这也是最节省经费的。本系统GSM短消息模块应用西门子工业级模块MC39i,在以后的开发中,可以实现GPRS服务。

 (4)采用国际国内标准规范

标准规范包括标准协议,通用硬件、软件接口等。系统考虑今后发展的需要,因而必须考虑系统产品系列、容量与处理能力等方面的扩充与换代的可能,这种可扩充性不仅充分保护了原有投资,而且具有较高的综合性能价格比。因此,系统应避免采用专用性的设备或接口(除非特殊的安全保密方面的需要),保证系统能够适用于大、中、小学校,保证系统可移植到大、中、小型计算机的平台上运行。

2.2 系统总体方案与实现功能

学生家校信息交流平台是一个依附于网络的平台,本系统的基本功能是实现学生的考勤管理以及学校家长之间的短消息互动交流。学生的考勤信息通过采集非接触IC卡数据来实现,采用PDU模式下的7-bit和UNICODE编码以及借助数据库查询技术实现短消息的收发管理。主要包括以下三个子系统:

(1)非接触IC卡数据采集子系统

非接触IC卡前端读卡器

RS-485总线网络

RS485-RS232智能接口转换模块

上位机读卡控制软件

(2)短消息收发子系统

GSM无线数据发送模块

PC机短消息发送接收控制软件

(3)数据库子系统

其中非接触IC卡数据采集子系统实现学生到校信息数据采集,短消息收发子系统实现家长和学校之间的信息交流。数据库子系统存储学生在校信息,家长联系方式等重要信息,保证了整个系统的正常工作。系统的数据流模型图如图2.1所示。

多个非接触IC卡挂接于485通信总线上,读卡器通信遵循485总线通信协议。RS-485转RS-232智能转换接口内置微处理器,保证总线网络上各个节点独立的控制总线驱动器的关断。上位机采集读卡器传来的数据并存到数据库中,等待短消息收发程序处理。短消息处理分为学生考勤信息主动发送方式和家长短消息查询方式。学校向登记的手机号发送相应学生的考勤信息。家长也可以发送特定格式的查询短信,查询学生成绩等在校信息。

2.2.1 硬件选择

读卡器采用了周立功公司的ID卡读卡器EAR-100AS。这款读卡器内置微处理器LPC791B,读卡器遵循485通信协议。每个读卡器带有一个八位出厂序号,可以设定下位机的地址,实现上位机对下位机的呼叫。

智能接口转换模块涉及串口取电、发送和接受状态的智能切换、通信方式设置、RS232-RS485之间的电平转换等方面。本转换器供电来自RS-232信号线,输入功率受到限制,RST和DTR上输出电流为+8mA/+12V,输入功率为192mW。所以应尽可能的采用+3V供电的低功耗器件。故选择微处理器ATtiny26。主要工作指标为:工作电压3V,频率1MHZ。GPRS无线数据传输模块以德国西门子公司的工业级手机模块MC39i为核心。MC39i模块为GSM/GPRS双模模块,为用户提供简单、内嵌式的GPRS连接,支持永久在线功能。上位机对MC39i模块的控制通过UART通信口实现。另外,通过设计启动电路,SIM卡电路等与MC39i共同构成短消息传输功能。系统硬件结构图如图2.2所示。

2.2.2 短消息的发送方式选择

通过PC机发送手机短消息主要有三种方案:

1、通过移动网关发送短消息,使用该方法不需要附加硬件,但是需要到移动部门申请网关。

2、在电脑上通过无线终端模块向手机发送短消息,如图2.3所示:

程序利用AT指令来控制GSM无线模块收发短消息。GSM无线模块通过GSM网络发送短消息。对硬件需求不高。

3、通过一些网站上提供的短信发送功能来实现,这种方案是实现起来最简单,所需资源最少的,但是对于网络的依赖性太强。

本系统采用第二种方案实现短消息的收发。研制了GSM无线数据收发模块。软件开发环境使用VC++6.0,设计了基于串口的短消息处理软件。

2.2.3 数据库的选择

数据库的选择遵循一致性原则即选用学校已有的关系数据库。本系统采用比较流行的SQL Server数据库。数据库中建立数据信息列表。完成对非接触IC卡数据采集,短消息处理数据的记录。

Microsoft SQL Server 2000是一种关系数据库,它在当今流行的C/S结构中扮演着后台服务的角色。它主要的职责是保存数据和提供一套方法来管理这些数据,并且处理来自客户端的连接和数据访问需求。

。与其他数据库系统相比,具有以下优点:

(1)与个人数据库相比,Microsoft SQL Server 2000是一个功能完备的正规的关系型数据库管理系统。它支持标准SQL语言。

(2)Microsoft SQL Server 2000在Windows系列操作系统上使用,与Windows进行有机集成,界而风格完全一致,易于安装和学习。

(3)Microsoft SQL Server 2000是其他平台及大型数据库管理系统的基础。

数据库中建立数据信息列表。完成对非接触IC卡数据采集,短消息处理数据的记录。

3 硬件电路的设计与实现

本章针对系统的硬件实现进行了详细阐述,包括IC卡的选择、智能接口转换模块的设计以及GSM短消息模块的设计。给出了设计方法和设计原理图。

3.1.1 IC卡的选择 3.1.2 IC卡的分类

IC卡从其使用方式上分为两种:

接触式IC卡:必须将IC卡插入主机卡口内,通过有线方式才能传输数据的一种IC卡。此卡易磨损、怕油污。美国的TM卡就是一种接触式IC卡。

非接触式IC卡(射频卡):主机无卡口,IC卡无需和卡座接触,通过无线方式就能传输数据的一种IC卡。由于其为整体封装,不怕油污和磨损,所以使用寿命长。

IC卡从其功能上分为三种:

1) 存储器卡。

2) 逻辑加密存储器卡。

3) CPU智能卡:内有CPU(中央处理单元)的一种存储器卡。

这三种卡又都分为接触式和非接触式。其中非接触IC卡按照工作频率

可分为:

1) 低频卡:卡与读卡器间通信使用的频段为低频段,如125KHz,13.56MHz;

2) 高频卡:卡与读卡器间通信使用的频段为高频段,如915MHz,2.45GHz

等。

其中工作频率为125KHz的非接触IC卡也叫非接触ID卡。非接触ID感应卡技术目前在国内主要用于智能大厦的门禁出入口控制、停车场、电梯控制、收费系统、图书管理、员工考勤、酒店管理等众多领域。出于成本和使用特点考虑,本系统选用的uEM4100兼容格式非接触ID卡也叫EM卡。非接触ID卡属于只读型非接触IC卡,主要有台湾4001卡和瑞士H4001卡、EM4100。它们都采用125kHz的典型工作频率,有64位激光可编程ROM,调制方式为曼彻斯特码(Manchester)调制,位数据传送周期为512μs:1P=1/(125kHz×64)=512μs。价格低廉但是通信速度高,使用方便,读卡距离10cm左右。卡中包含有由生产厂商固化的全球唯一编码。

3.1.3 非接触式IC卡的特点

非接触式IC卡无机械触点,通过无线方式与读写设备进行通讯,与接触式IC卡相比具有以下特点:

(1)操作快捷

卡与读卡器之间为无线通讯,使用时无需插拔卡及固定方向。操作时,卡可以放在钱包、衣服口袋或公文包中无需拿出,大大提高了使用速度。同时,由于卡与读卡器进行通讯时的载波频率较高,卡内芯片可以工作在较高的系统时钟下,使二者的通信速率很高。

(2)高抗干扰性

非接触式IC卡具有防冲突机制,在多张卡片同时进入读卡器工作范围时能够防止卡片之间出现数据干扰,允许多张卡片同时操作,相对接触式IC卡增加了“并行”处理能力。

(3)配合具体应用具有多种工作距离

非接触式IC卡中既有作用距离为几米、可用于高速公路收费系统中的远距离卡,又有作用距离为几厘米、可用于电子钱包的近距离卡,使得系统配置灵活多样。

(4)高可靠性

非接触式IC卡与读卡器之间无机械接触,避免了由于接触读写而产生的各种故障,同时无需担心由于触点损坏或脱落而导致卡片失效,提高了应用的可靠性及设备和卡的寿命。而且由于无线电波不会受尘、潮气和震动的干扰,使得非接触式IC卡可应用在恶劣的环境。同时,由于读卡器可以置于障碍物的后面而不影响它与卡的通讯,可以防止在接触式IC

卡的使用中对读卡器进行恶意破坏现象的出现。

(5)可适合于多种应用

非接触式IC卡的存储结构的特点使其可以一卡多用,能用于小同

的系统,用户可以根据小同的应用设置小同的密码和访问条件。

(6)高安全性

非接触式IC卡的序列号是唯一的,制造商在产品出厂前将此序列

号固化于卡内芯片中,不可再更改,使用时非接触式IC卡与读卡器要进行三次相互认证,而且通信过程中所有的数据都加密,卡内各个扇区都有自己的操作密码和访问条件[8]。

3.2 智能接口转换模块的设计

目前,通用计算机(PC机)和大部分工控机的串行接口都是基于RS-232标准的,因此,在读卡器和上位机进行串行通信时,由于选择的是基于RS-485标准的远距离串行通信方式,必须进行RS-485和RS-232之间的电平转换。也就是说,当基于RS-485标准的总线和基于RS-232标准的上位机(如PC机)进行接口时,必须进行电平转换。

实现RS-485标准和RS-232标准之间电平转换的方法主要有两种:内部通讯适配卡和外部通讯模块。内部通讯适配卡必须插在主机的插槽里,不仅占用系统的硬件和软件资源,安装、维护及测试比较麻烦,应用起来没有外部模块方便。由于工控机和PC机一般都带有一个或两个RS-232标准接口,为利用资源,可用一个外部模块实现RS-485/RS-232电平转换。

本系统设计出一种无源的通讯模块,无需外部提供电源,直接从串行口上窃取电源,为模块内部元件供电。系统电路结构示意图如图3.1所示。

3.2.1 RS-485/RS-232转换器电源的设计

计算机标准RS-232接口9针连接器DB9引脚信号定义如表3.1所示,有三个发送信号TXD、RTS和DTR。每根线上的典型输出电流为±8mA/±12V,而TXD为负电平(处于停止发送或发送数字“1”时)的时间较多,因而电源转换决定采用负电源输入,以最大限度地增加电源输入功率,升压至其他电路所需的工作电源电压。

由于RS-232采用的负逻辑电平,而现在还没有一个DC/DC转换器能够直接实现-12V输入/+3V输出的转换,但是利用现有的IC,稍作改动即可实现该功能。图3.2所示的电源设计方案就是利用MAX761实现-12V/+3V转换的,达到较高效率的升压功能。该转换器的实际输入电压范围为-2.5V~-13.5V,静态工作电流仅为120μA,具有输出电流大于54.4mA的能力。由于MAX761采用高效率的限流脉冲频率调制(PFM)控制方式,

而且在本电路中,开关损耗较小(因为开关电流小于负载电流),所以能够达到比MAX761典型应用更高的效率(MAX761典型应用效率为86%)。

该电源的输出电压为

式中

UREF为参考电压,并且取1.5V。

本设计中,选取R1=100kΩ,R2为可变电阻,应用时根据所需的工作电压,调节R2的阻值大小,使之满足要求。

3.2.2 RS-485/RS-232电平转换电路的设计

RS-485/RS-232电平转换涉及到下面两个方面:(1)RS-485电平与TTL电平之间的转换;(2)RS-232电平与TTL电平之间的转换。

为了降低功耗,尽可能减小工作电流,在设计中,采用MAX3491和MAX3231分别作为RS-485和RS-232接口芯片,电路连接如图3.2所示。

本电路只需两片电平转换芯片和少量0.1μF电容,即可实现RS-485/RS-232之间的电平转换,结构简单,使用方便。

3.2.2 RS-485智能控制收发使能电路设计

RS-232通讯接口采用电平方式传输,适用于点对点通讯,无须专门的收发使能控制;而对于RS-485通讯接口则不同,由于采用差分电平方式传输,且允许在一条通讯总线上挂接多个节点,必然要求各个节点能够独立地控制总线驱动器关断或打开,保证不会影响到其他节点的正常通讯。所以本设计采用转换器内置微处理器方式,实现收发使能的智能控制。微处理器选用ATtiny26,仅用几根I/O口线就可实现参数的设置和发送使能。其中PA0、PA1、PA2、PA3对应波特率的延时时间;PA4对应10位或11位的串行数据格式;PB6为TXD输入,检测UART何时发送和停止数据;PB1用来控制MAX3491的发送使能控制端;PB0用来控制MAX3491的接收使能。如图3.3所示。

微处理器在检测到UART的通信起始位后,打开发送使能,允许串行数据发送至RS-485通讯网络。微处理器根据所设定的波特率延时至UART停止位发送一半时,开始检测是否有下一个起始位到来。在时间T内,若有下一个起始位到来,则保持发送状态,否则将关闭发送使能,结束数据发送。

微处理器复位后,所有的I/O口设为输入,并读入所有I/O状态,保存到寄存器;将PB6和PA4该设为输出状态,并输出低电平,使接口处于禁止发送、允许接收状态。CPU针对初始状态,确定用户设定的通信波特率和串行数据格式,预设内部延时为500ms。CPU检测到URAT开始通信后打开发送使能,经内部延时,在一个位宽时间内检测是否有下一个起始位到来,如果有,重新延时等待;否则,关闭发送使能,结束当前通信。重新检测UART的起始位。本设计采用半双工通信方式,允许发送使能前应该关闭接收使能,而在发送使能关闭后才打开接收使能。

3.3 GSM短消息数据传输模块硬件电路设计与实现

本系统中GSM无线数据传输模块由德国西门子公司的高性能工业级GPRS模块MC39i、触发MC39i模块工作的启动电路、SIM卡、模块工作状态指示、天线、电源管理几部分组成,其结构框图如图3.4所示。

3.3.1 MC39i模块

MC39i是德国西门子公司生产的GSM/GPRS双模模块,该模块主要由射频天线、内部FLASH、SRAM、GSM基带处理器、匹配电源和一个连接外部应用电路的40脚ZIF插座组成

。MC39i模块的内部结构如图3.5所示。

GSM基带处理器是模块核心部件,其作用是处理音频和数字信号,并负责在本GSM蜂窝网内进行数据传输。内嵌固件负责硬件应用接口和整个GSM的协议堆栈。用户通过一个通用的异步收发器就可以对本模块进行操作。其控制协议为AT指令集,GSM基带处理器还是一个带有基带信号处理能力的集成电路,包括蜂窝无线装置的所有模拟和数字处理功能。基带处理器能够在不需要另外硬件的情况下支持FR、HR和EFR语言和信号通道编码。

射频天线部分主要实现信号的调制和解调,以及外部射频信号与内部基带处理器之间的信号转换。

匹配电源为基带处理器和射频模块提供所需的电源电压。电源电压为3.6~4.8V,在GSM信号脉冲发生时,工作电流最大可达2.5A,匹配电源内的集成电路还负责稳定基带处理器电压、监视电压不超过正常工作电压范围以及控制模块的开闭功能。

40脚ZIF插座是MC39i模块与数据终端设备的接口,包括电源接口,SIM卡接口、工作状态同步输出接口、数据输入输出接口及音频接口等。ZIF40各引脚定义如图3.6所示。ZIF40的引脚1~10为模块的电源接口,在本装置中,由电源管理模块提供4.8V的工作电压。引脚13为模块内部实时时钟的备用电源接口;引脚15外接驱动模块工作的启动电路;引脚16-23为串行数据输入输出口UART;引脚24~29为SIM卡接口;引脚32为模块工作状态指示输出口;其余引脚在GSM数据传输模块中不用。

3.3.2 SIM卡接口电路设计

SIM(Subscriber Identity Module)卡,即用户识别卡,是数字移动电话的一张个人资料卡。SIM卡主要完成两种功能:数据存储(如电话薄)和GSM系统在安全条件下(如个人身份号码PIN)完成客户身份鉴权和实现客户信息加密算法。

SIM卡是一个装有微处理器的芯片卡,它的内部有5个模块:微处理器CPU、程序存储器ROM、工作存储器RAM、数据存储器E2PROM和串行通信单元。目前SIM卡均有6个触点,GSM模块与移动台设备接通是在SIM卡插入并接通电源后完成的。SIM卡与MC39i模块的连接电路如图3.7所示。

MC39i在ZIF连接器上为SIM卡接口预留了6个引脚,相对与GSM11.11为SIM卡预留的5个引脚增加了CCIN引脚,此脚功能是用来检测SIM卡是否插入到SIM卡座中。当插入SIM卡,该引脚置为高电平,则表明系统进入正常工作状态。由于某些SIM卡无CCIN引脚,所以在设计电路时将引脚CCIN与CCVCC通过一个3.3K的电阻相连,表明SIM卡已插入SIM卡座中。另外,为了在设计中达到最佳的通信效果,在电路中加了一些电容,目的是为了抵抗周围干扰,保证系统运行稳定。

3.3.3 MC39i启动电路设计

MC39i模块的启动比较特殊,不是常规的VBATT加上要求的电源电压后就能工作,而是要在模块的IGT引脚加上时序如图3.8所示的启动信号之后才能登陆GSM网络。

在VBATT未供电之前,启动信号为低电平,VBATT上升到+3V以上后启动信号必须保持高电平至少10ms。然后将启动信号电平拉低,并保持至少100ms后再恢复保持高电平,这时模块开始登陆网络。根据启动信号时序要求,设计的硬件启动电路如图3.9所示。

模块上电后,电源VBATT通过R4给电容C8充电,此时非门U2A的1脚为低电平,2脚、U2B的3脚以及异或门U1A的1脚为高电平,非门U2B的4脚、U2C的5脚为低电平,非门U2C的6脚为高电平。这样,加在异或门U1A的两输入端同为高电平,则其输出为低电平,经过三极管Q2以后IGT端输出高电平,即为模块初始工作要求的高电平状态。高电平状态的保持时间大致为电容C8的充电时间。高电平状态保持时间:

T =R C =1M ×1u F =1s

完全满足模块高电平至少10ms的要求。电容C8充电结束,非门U2A的2脚输出变为低电平,非门U2B的4脚变为高电平,此时U2B的4脚通过电阻R7开始给电容C9充电,在电容C9的电压没有达到非门U2C的门槛电压之前,U2C的6脚仍为高电平。那么此时加在异或门输出端的两个信号一个为高电平,一个为低电平,异或门输出高电平,经过三极管Q2后IGT端输出低电平,即为模块要求的低电平保持状态。低电平保持时间约为电容C9的充电时间。低电平状态保持时间:

同样满足模块要求的至少100ms的低电平保持时间。在电容C9充电结束后,非门U2C的6脚输出高电平,此时异或门的两输入端均为高电平,则异或门输出低电平,经过三极管以后IGT端输出高电平,在VBATT保持供电的情况下,IGT将一直保持高电平状态,模块也将始终处于工作状态。

4 系统软件设计

本章将就串口通信技术、与非接触IC卡的读卡通信、与短信收发有关的常用AT指令和PDU编解码进行研究,并给出与短信收发有关的测试结果。

4.1 串口通信的研究与实现 4.1.1 RS-232C串行通信接口技术

RS-232C是由美国电子工业协会(EIA)正式公布的在异步串行通信中应用最为广泛的标准总线。它包括了按位进行串行传输的电气和机械方面的规定。适合短距离或带调制解调器的通信场合。这个标准对串行通信的信号线功能、电器特性都作了明确规定。由于通信设备厂商都生产与RS-232C制式兼容的通信设备。因此,只要手机等通信设备支持RS-232C这一标准,就可以将它们和微机的COM口相连,进行串行通信。

4.1.2 串口通信的实现方法

VC++串口通信的实现方法基本上有三种

:一是利用Windows的通信API函数;

一种是采用标准串口通信控件MScomm来实现;

第三种就是利用多线程串口编程工具CSerialPort类。

利用API函数和MScomm控件各有优劣。利用API函数编写串口通信程序较为复杂,需要掌握大量通信知识和API函数,但是API编程的优点是可实现的功能更丰富、应用面更广泛。MScomm控件具有丰富的与串行通信密切相关的属性及事件,提供了对串口的各种操作,在实现串口编程时非常方便,程序员不必花时间去了解较为复杂的API函数,容易使用。

而与MScomm控件相比,CSerialPort类可以避免负责的框架编写,更多的则是需要通信协议的编制和数据处理上,但是仅支持非Modem的线连接,所以系统中编写了两个程序用来分别实现非接触IC卡的数据读取和短消息的发送。第二个程序由于涉及Modem的系统链接,所以简单的调用了一些WindowsAPI函数来实现。

4.2 非接触IC卡读卡协议解析

读卡器遵循一定的读卡协议,出于安全性的考虑,不同的读卡器设计商都有自己制定符合规范的标准协议,目前比较流行的是国际上统一的标准韦根协议(Wiegand)系列,Wiegand协议有很多格式,标准的26-bit是最常用的格式。此外,还有34-bit、37-bit等格式。国内厂商的读卡器除了遵循Wiegand协议外,也遵循485协议,非接触IC卡的底层串口通信正是按照这个协议来设计。读卡器通信协议格式如表4.2所示。

1.SOH和END都是一个字节的控制字符

SOH控制器端定义为<0x09>

模块端定义为<0x0A>

END控制器及模块端均定义为<0x0D>

其中<0x>为十六进制表示法

2.TYPE为模块型式编号,固定为一个字节,本型式编号固定为“A”

3.ID为模块端的识别码,这一字节的ASCII字符必须是在1<0x31>到8<0x38>的范围内,假如控制器端传送的ID值与模块地址编号相同,则该模块将会接收控制器端所传送的数据,而模块响应时,也会传回相同的地址编号。

4.FC是通讯功能码,和资料有相关性,固定为一个字节,表4.3列出了控制字及其在通信协议中的作用。

6.RS485传输协议设定为“E,8,1”,速率为“19200”

相应的控制器与模块的通信由五个握手协议来完成,如图:

卡片发送控制字符串包含FC以及相应的数据信息到读卡器,读卡器判断字符串控制字并返回相应的数据。

如果读取卡号为0x89DA4436的卡号,读取时模块返回信息为

0x0A 0x41 0x31 0x46 0x30 0x38 0x39 0x44 0x41 0x34 0x34 0x33 0x360x30 0x44 0x0D编码方式为ASCII码卡片阅读模块PowerOn时,如果未曾联机读取资料,则感应到卡片时,卡片阅读模块响一声且LED会亮一下,若联机读取过资料,则感应卡片时,LED会一直亮绿灯且不能够再感应卡片,直到收到读取卡片资料(FC:F)后才会变回红灯且恢复正常读卡。

4.3 AT指令 4.3.1 AT指令简介

AT命令又称贺氏指令

,最初是由贺氏(Hayes)公司制定,作为计算机和调制解调器之间进行通讯的标准语言,主要用来控制调制解调器(Modem)的拨号、应答等控制功能。20世纪90年代初,由于没有控制移动电话文本消息的先例,因此开发了一种叫SMS Block Mode的协议,通过终端设备(TE)或电脑来完全控制SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM研制了一整套AT命令,其中包含对SMS的控制。AT命令在此基础上演化并被加入欧洲电报电信标准组织(ETSI)的GSM 07.05标准和之后的GSM 07.07标准。指令集的命令格式帧都以“AT”,开头,且“AT”,必须同为大写或小写,否则是不允许的。一般的GSM模块(如手机)都支持GSM 07.05所定义的AT命令集的指令。

因此可以利用计算机通过串行接口直接向手机下达AT命令,来方便地实现基于串口的短信息SMS的发送、接收和管理。AT指令是计算机通过串口操作手机的唯一途径:由于GSM协议制定的时间问题,所以各个厂商的AT指令可能不尽相同。Siemens公司无限模块指令集包括以下几个方向:

一般控制指令:包括SIM卡检测、话机状态设置;

通话控制指令:包括拨号。自动拨号、重拨、挂机、应答、应答、产

生DTMF拨号音、音量控制、口声控制、回声抑制等命令;

网络服务指令:包括信号质量、服务提供商选择等;

安全管理指令:包括PIN输入、话机锁、密码修改等;

电话薄管理指令:短消息收发管理指令,数据以及传真控制指令等。

下面给出常用的短消息通信AT指令,如表4.5所示:

对其中主要几条AT指令详细的分析如下:

(1)向SIM卡写入待发的短消息

AT+CMGW=<n>,其中n为短消息的长度即字节数。模块收到CMGW指令后,回应提示字符“>”,表明可以接收来自串口的短消息内容。该内容应按PDU即协议数据单元格式输入,以Ctrl^Z一作为结束标志。若指令无误,则模块回应字符串“十GMGW<n>”,其中n表示存入SIM卡时该短消息的顺序编号。

(2)将SIM卡上存贮的短消息发送出去

AT+CMGS=<n>,其中n为该信息在SIM卡上EEPROM存贮器中的顺序号。

(3)从SIM卡读取短消息

AT+CMGL=<n>

列出SIM卡中的短消息PDU/text:n=0,未读;n=1,已读;n=2,待发;n=3,已发;n=4,全部短消息

AT+CMGR=<n>,其中n=0,1,2,3,4。模块将收到的短消息按先后顺序存入SIM卡中的EEPROM中,向模块发出AT+CMGR=0指令,可使模块将未被读取过的短消息经RXD送出。

(4)接收到新消息时的告知方式

模块收到新的短消息,先将新消息存入SIM卡中的空闲存贮器中,然后根据预先设置,确定是否将收到短消息的事情通知相关设备。该设置可用AT+CMTI指令实现,例如:AT+CMNI=0,1,0,0,1,可将模块设置为收到短消息后,由串口送出AT+CMTI=<MEM>,<n>,其中MEM表示短消息长度,n表示在存贮器中的位置。

综上所述,可以看出基于模块开发短信终端技术实现比较简单,且模块可扩展出与单片机、PC机连接的接口,能接受指令和数据,大大降低了程序设计复杂度。

4.3.2 超级终端在编程测试中的使用

微软超级终端是测试主机与外设如Modem连接情况及执行控制命令的工具,同样可以测试手机连接、执行AT指令。超级终端是串口编程的有力工具,但在串口程序执行时应将超级终端关闭。图4.2给出了超级终端的使用情况。

使用超级终端的方法步骤是:

1.用数据线将串口与手机相连,确定手机处于开机状态。

2.进入Windows操作系统,在桌面的开始-程序-附件-通讯中打开超级终端。

3.输入会话名称,确定。

4.在连接到对话框中选择连接的串口,如COM1。

5.在属性对话框中选择每秒位数9600,数据位8,奇偶校验无,停止位I。点击确定进入会话框。

6.在会话框中输入AT,回车,显示“OK”则连接正常,显示“error”则连接异常。

7.在超级终端中可输入各种AT命令,控制手机。

通过超级终端可以测试各种AT指令,可以对手机进行设置或读写,通过返回的字符串可以分析PDU串,了解PDU串的构成和各种AT指令的具体方法,有助于编写串口通信和PDU编解码程序。所以超级终端是串口编程的有力工具。

4.4 短消息的收发系统管理功能实现 4.4.1 短消息发送功能模块

实现功能:记录学生入校时的考勤信息,并将信息通过短消息发送给家长。当学生刷卡以后系统读出卡号并将记录保存到表IC_Record,,在数据库中找出相应的学生家长的手机号码,判断学生进出校门的状态,并自动生成短消息的PDU代码。采用AT命令中的AT+CMGS命令来发送短消息,通过GSM网络发送到家长的手机上。

串口初始化以后,程序开启串口监测工作线程函数StartMonitoring(),

串口监测工作线程检测串口接收的数据,并以消息WM_COMM_RXCHAR触发OnComm()函数,通知主程序,激发消息处理函数进行数据处理。短消息发送流程图如图4.5所示:

4.4.2 短消息信息查询功能模块

实现功能:完成用户对学生成绩及相关信息的查询。

家长发送学生学号到短消息服务器查询成绩或其他信息,计算机通过GSM模块读取家长发来的查询信息并进行相应的解码后,判断查询信息的合法性并查询数据库相关的内容。将该内容作为待发的短信内容,存入发送信息列表,由短消息收发模块发送给查询用户,即可完成查询任务。如

接收短消息是采取了AT指令中的AT+CMGL=0,这个指令用来读取尚未读取的短消息。当有新消息到来时,接收后读入PDU代码,将每条短信分离,得出回复手机号码,用户编码方式,短信发送时间,短信内容,短信长度,存储位置等有效信息,再根据用户编码方式对短信内容进行不同的解码。读完短消息后自动用AT+CMGD=<index>命令将手机中的短消息删除,留出空间等待下面短消息的到来。

程序运行后,处于等待状态,函数WaitCommEvent()监控通信事件,每当有数据从串口输入,就触发串口通信接收事件,程序自动对其进行处理,处理结束后,处于等待状态,准备接受下次触发。

5 软件系统的测试

系统的性能测试和结果分析是今后进一步工作的基础。本章针对系统的主要功能进行了测试。主要包括非接触IC卡数据采集和短消息处理。

5.1.1 学生管理界面

设计的学生数据管理界面如图5.1所示。图中可以看出学生的自然信息以及学生的IC卡号、学习成绩等的详细信息。管理员可以登录系统进行数据的录入,查询,修改以及删除。

5.2 学生考勤录入测试

在本系统中,多个读卡器挂接于485总线上。通信的实时性以及准确性成为系统稳定运行的关键。

在连续读卡过程中,系统对总线上的读卡器进行轮询。本测试中,总线上挂接两个读卡器,设置读卡间隔时间为500ms,波特率设为19200Bps。

串口通信程序检测接收数据并将数据存入相应的数据库列表中,如图5.3所示。SQL Server数据库中表IC_Record。从数据表中可以看出,在同一时间能够接收到多路数据。保证了数据的安全准确性。比如在15:08:42时,在两个读卡器上迅速划多个卡,在此时间内三个数据同时被正确读入。

这就表明在学生流急剧增加的情况下,在间隔很短的时间内有可能读取更多学生的数据。

5.3 短消息处理 5.3.1 考勤短消息发送测试

学生考勤录入的数据信息可以在管理界面上显示,如图5.5所示,程序会根据数据的发送状态定期将数据清除。对于待发短消息程序会将其发送出去。

管理员也可以手动将未发出的短消息发送给家长,手动发送短消息界面如图5.6所示。除此之外,管理员还可以选择短消息的编解码方式以及对SIM卡中的短消息进行处理。比如阅读和清空。

5.3.2 学生信息短消息查询测试

家长可以向服务手机发送短消息,系统通过读取串口数据,并进行相应的解码,提取有效数据,进行数据库的查询。比如手机向GSM模块上的服务手机号发送学生王玲的卡号:0AD932。系统接收到的信息可显示与学生管理界面短消息查询列表中,如图5.8所示:

查询后的结果通过GSM短消息模块发送至家长手机,接收到的回复短消息如图5.9所示。

6 全文总结 6.1.1 主要工作总结

本课题在分析传统的学生校讯通教育信息管理系统的基础上,结合射频识别技术,GSM短消息技术和数据库应用技术,设计了一种学生考勤短消息模式的学生校讯通信息管理系统。论文围绕学生考勤信息的自动录入以及学生信息短消息的查询与发送做了深入的研究,主要工作及成果如下:

(1)研制出一种低功耗高性能的RS-485转RS-232接口模块。设计实现了串口供电,RS-232电平与RS-485电平转换,数据发送和接受状态的智能切换等功能,保证了数据流的通畅和准确。

(2)研制出GSM短消息发送模块。采用西门子工业级手机模块MC39i,通过设计启动电路,SIM卡电路等与MC39i共同构成短消息传输功能。

(3)开发了一种基于多线程串口类的串口通信程序。应用多线程串口类CSerialPort研制了串口通信程序,符合读卡器的通信协议。与数据库的连接采用ADO技术,使串口读入的数据能够存入数据库列表并进行分析应用。

(4)开发了一种能够实现短消息发送和查询功能的通信程序。应用AT指令收发短消息,对PDU模式下的短消息编解码进行了详细分析和设计,结合数据库查询技术,实现了家长对学生在校成绩等信息的查询。

(5)开发学生信息管理界面,实现老师对学生日常信息的管理。包括浏览学生自然信息,查询学生的考勤信息,处理学生考勤短消息等功能。

7 参考文献

【1】王卓人邓晋军刘宗祥编著,《IC卡的技术与应用》,电子工业出版社,1999

【2】龚建伟,熊光明《Visual C++/Turbo C串口通信编程实践》.电子工业出版社,2006

【3】凌振宝,王君,邱春玲.基于GSM技术的粮库温度检测系统设计.仪器仪表学报,2003,24(增刊)

【4】朱光喜,张耀华,如何解析GSM短消息.通信技术,2003,3:54~56

【5】郎烨,考勤刷卡短信模式校讯通服务系统的设计,太原理工大学学报增刊,2005(S1),92~93

【6】戴明,张卫刚,基于GSM短消息的信息查询系统的设计与研究,长安大学硕士论文,2005

【7】汪国海,李晓峰,非接触IC卡读卡器的设计,电子科技大学硕士论文,2005

【8】马海燕.非接触式IC技术研究及防冲突系统设计一中国优秀博硕士学位论文全文数据库,合肥土业大学,2001

【9】韩东芳,朱善安,基于GPRS和SMS的抄表自动化系统终端机的开发,浙江大学硕士论文,2004

【10】朱兆优,王耀男,林刚勇,非接触IC卡应用系统设计,计算机自动测量与控制,2001,9(5):59~60

【11】戴畅,官伯然.,GSM无线测控系统的硬件设计.,杭州电子工业学院学报,2002,23(4):25~28

【12】万海鹏,候春萍.基于8051嵌入式系统的GPRS终端实现.电子技术应用,2004,(5):13~16

【13】卢满怀.GPRS数据传送服务的无线通信控制器设计.单片机与嵌入式系统应用,200(8):9~11

【14】赵孔新,栾天,赵丽伟,钱锋.MC35i外围电路设计及应用.电子产品世界,2006(3):70~75

【15】曲广强,李丹,常国权.GPRS无线通信模块MC35I及其外围电路设计.东北电力大学学报,2006,26(2):79~82

【16】沈炜,徐慧编著,Visual C++数据库编程技术与实例,人民邮电出版,2005

【17】李现勇,Visual C++串口通信技术与工程实践(第二版),人民邮电出版社,2006

【18】朱如龙,SQL Server数据库应用系统开发技术,机械工业出版社,2004

【19】MC35I Hardware Interface.www.siemens.com.version:2003

【20】GSM 07.07:"Digital cellular telecommunication system(Phase 2+);AT Commandset for GSM Mobile Equipment(ME)"

【21】SQL Server 2000数据库开发,杜军平,黄杰著,械土业出版社,2001.

【22】.李文志,GPS/GSM/GPRS车辆监控调度系统的设计与实现,东北工业大学硕士论文,2004

【23】Michel Moult Marie-Bernadette Pautet著骆健霞等译,GSM数字移动通信系统,北京电子工业出版社,1996,150~232

【24】European Telecommunications Standards Institute,GSM 07.05,GSM Technical

Specification,France:ETSI,1998-01

【25】European Telecommunications Standards Institute,ETSI TS 100 585 V7.0.1,SMS

Technical Specification,France:ETSI,1999-07

【26】Siemens,mc35_ate_01_v0500,AT Command Set,Germany:SiemensAG,2002-07-15

【27】Klaus Finkenzeller著陈大才编译射频识别(RFID)技术---无线电感应的应答器和非接触IC卡的原理与应用,电子工业出版社.2001.6

【28】吴玉田,王瑞光,郑喜凤,肖传武,GSM模块TC35i及其应用,计算机测量与控制,2002,10(8):557~560

【29】张志恒,刘爱忠,郑记平,RS-232至RS485智能转换器,电力学报,2002.2.:88~90

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多