《公交车管理系统上位机设计与实现.doc》由会员分享,可在线阅读,更多相关《公交车管理系统上位机设计与实现.doc(131页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2009届本科毕业论文(设计)论文题目:公交车管理系统上位机设计与实现摘 要本文介绍了公交车管理系统上位机硬件和软件的设计。该系统利用GSM收发模块、GSM通信网络、Visual Basic语言编程和微控制技术,通过串口RS-232C与上位机通信并建立GSM通信网络的数据通道,以短消息作为数据传输方式,开发出基于GSM-SMS的控制系统。采用上位机较为友好的人机界面,用集成化的管理理念,对信息屏终端通过GSM模块进行远程管理,具有费用低廉,不受距离远近和地势起伏的限制,方便可靠,灵活快捷的特点,且用VB语言编程具有较友好的用户操作界面,易学易用。 关键词: GSM模块,RS-232C, SMS
2、The Design of the Bus Stop System Automatically Reports PCAbstractThis article introduces the design of the management system bus PC hardware and software.The system uses GSM transceiver, GSM communication network, Visual Basic programming language and micro-control technology, through the serial RS
3、-232 communication with the host computer and the establishment of the GSM communication network data path to the short message as a data transfer method, developed based on GSM -SMS control system. PC using a more friendly interface, with integrated management of information through the GSM module
4、screen terminal remote management, with a low-cost, distance and terrain from the ups and downs of the restrictions, convenient and reliable, flexible and efficient characteristics, VB programming language and with a more user-friendly interface, easy to learn and use.Key words: GSM Modem, RS-232C,
5、SMS目 录1 引言11.1 公交车自动报站系统上位机的发展现状21.2 GSM系统32 设计要求43 方案论证43.1 无线传输方案选择43.2 编程语言方案选择63.3 NMEA协议74 系统结构及工作原理84.2 GSM模块94.3 RS-232C串口通信114.4 AT命令集144.5 确认站点164.6 PDU模式及中文短信息的编码185 上位机管理系统设计225.1 Visual Basic简介235.2 数据库结构设计245.2.1 系统需求分析245.2.2 基本信息管理模块255.2.3 用户管理及权限控制功能集合266 上位机数据处理部分276. 1 MSCOMM通讯控件的
6、使用276.2上位机软件设计316.2.1 数据通讯部分程序设计326.2.2 PC机与GSM通信336.2.3 数据管理部分程序设计357 小结36致谢36参考文献38附录一 位置坐标40附录二 程序清单421 引言公交车已经成为一般工薪族和学生族出门必须的交通工具,目前公交车上采用的公交报站系统具有语音和显示报站的基本功能,但由于报站时采用司机手动切换,一方面增加了司机的劳动强度,另一方面由于司机的误报或漏报,造成乘客误下或漏下,对于公交运营产生了很大负面影响,更会对乘客造成很多不必要的影响。作为一个城市的公交企业,既要代表政府体现当地城市的形象,又要尽一切力量减少政府投资,创造良好的社会
7、效益和经济效益。而传统的公交运营系统的装备和管理模式较难达到这两者的完美结合。随着科学技术的发展,公交应用系统带给公交企业的将不仅是形象的提升,也是效益的增长。为此,研究公交车自动报站系统是非常必要的。公交车自动报站系统是采用全球定位系统(GPS)进行数据采集,实时解算车辆当时的经度、纬度等信息,获得公交车的实时坐标,将其发送到上位机与站牌坐标相比较,公交车驶入站牌一定距离范围内时,不用人工干预,系统自动进行控制下位机站牌,提供站牌温磬提示服务。在这个高速发展的社会中,信息技术、通信技术、电子控制技术、系统综合技术等的快速发展,使得各个电子系统不断向智能化、人性化、多元化、节能化方向发展,智能
8、化的交通运输系统也已加入了这个高度发达的科技时代潮流。自动报站系统的建立不仅大大提高运输的效率、改善了交通环境,并且也提高了交通的安全性。公交车自动报站系统上位机设计是通过关键基础理论模型的研究,从而将信息技术、通信技术、电子控制技术和系统综合技术等有效地应用于交通运输系统,从而建立起大范围内发挥作用的实时、准确、高效的交通运输管理系统。自动报站系统利用现代科学技术在人、车、路之间建立起智能的联系。借助系统的智能,车辆可以在道路上安全、高效的行驶,依靠智能化手段将车辆运行行程调整到最佳,在极大地提高运输效率的同时,充分保障交通安全、提高能源利用率,最终实现人、车、路的和谐统一1。本品用以Vis
9、ual Basic汇编语言为基础编写发送界面的软件的上位机(PC机),实现从GSM模块提取由公交车发送的位置信息,进行处理后再由GSM模块发送到站牌下位机(单片机),并由下位机所控制的LED点阵显示屏显示出来。1.1 公交车自动报站系统上位机的发展现状目前国内各大城市常见公交车自动报站信息发布系统的搭建和信息内容的更新方式,多采用传统技术手段,每个报站系统只是一个孤立的单体,内容需要专门人员,即便通过计算机控制,实际上也只是一个孤立的系统,无论是信息录入、终端管理还是自动糊程度都很低,部署和使用成本也非常高,更别说网络化的信息传输和信息服务了。本系统通过上位机较为友好的人机界面,采用集成化的管
10、理理念,对信息屏终端通过GSM模块进行远程管理,具有费用低廉,不受距离远近和地势起伏的限制,方便可靠,灵活快捷的特点,非常适合站牌信息发布系统。GSM网络主要提供语音、短消息、数据等多种业务。其SMS短消息通讯方式采用通常的无线GSM短消息模块就能实现短消息的传输。SMS以其连接简单,频谱利用率高、费用低廉、覆盖面广、保密性好、抗干扰能力强、实现方便等优点,得到广泛的应用。因此站牌信息发布系统上位机和控制终端之间可以通过SMS基于GSM公共网进行数据和相关的命令传送,从而实现了远程信息的发布和管理。1.2 GSM系统在很多监控领域,各种监控设备大多还是有线方式传输,当距离遥远时,有线方式监控设
11、备的安装、维护非常不方便,因为监控端远离采集端,铺设电缆的投入是巨大的。通过无线方式来交换数据,则可以有效地避免这些问题。GSM(Global System for Mobile Communication,全球移动通讯系统)网络是目前国内覆盖最广,应用最普遍的无线通信网络,利用GSM网络构建远程检测系统时,完全可以利用现成的GSM无线网络而无须再建新基站。 GSM是基于时分多址技术的移动通讯系统,是目前发展比较成熟、完善、应用最为广泛的通讯系统。目前已建成的覆盖全国的GSM数字蜂窝移动通讯网(主要包括中国移动和中国联通两家大型运营商),是我国公众移动通讯网的主要方式,它主要提供话音、短信息、
12、数据等多种业务。其中基于GSM-SMS(Short Message System,短消息或短信)功能可以开发出传输各种检测、监控数据信号和控制命令的数据通讯系统2。由于GSM网络在全球范围内实现了联网和漫游,不需组建专用通讯网络,就可以完成远程数据通讯,而且具有较好的实时性,所以GSM网络的应用越来越广泛。利用GSM网络短消息业务(SMS)实现监测领域的应用具有以下优点:通信网络覆盖面广,网络设施完备,实施与运行费用低,可以实现在无人值守情况、环境恶劣、超远距离的情况下控制信息的收集和传送。2 设计要求系统的具体设计要求为:(1)人机界面友好:方便用户进行常用的管理操作。(2)运行稳定:采用最
13、新技术保证系统能准确的进行数据的发送与接收。(3)历史记录管理:能对历史记录进行再现,方便汇总。(4)安全保密:系统可设置登录权限,对信息进行访问控制。(5)数据恢复:可以将数据记录进行存档,在遇到灾难性故障时不至于数据丢失。基于以上的要求,所设计的系统必须有以下结构模块:GSM收发模块、数据库管理模块、串口通讯模块、系统运行平台。3 方案论证3.1 无线传输方案选择目前的无线通道的数据传输方案主要分为两种,一种是通过专用网进行数据传输,如RF(Radio Frequency,射频)数据传输电台和无线局域网(WLAN);一种是通过公共无线通信网络,如GSM/GPRS网络的成熟度较高、覆盖面较广
14、,因而GSM/GPRS网络被选为该无线通道总体方案的通信基础。而基于GSM/GPRS网络的数据传输通常有四种方式,一种是基于短消息的数据传输。第二种是基于DATA方式(注:一种以电路交换为基础的传输方式)的数据传输;第三种是通过语音方式进行数据传输;最后就是通过IP(INTERNET PROTOCOL,因特网协议)方式的数据传输。下面对四种基于GSM/GPRS网络的无线数据传输方式的各自特点作简单的介绍。基于短消息的数据传输是通过短消息作为数据传输的载体,利用AT指令对通信模块控制,然后将数据按照短消息的格式发送给目标机。目标机接收到短消息后,利用AT指令将短消息读出并将信息还原,这样就完成一
15、次数据通信。基于短消息的数据传输方式的特点是资费较低,组网/使用方面,但数据容量较低(140字节)。短消息数据传输方式特别适合于小数据量且中低采集频率的无线监控系统使用3。基于DATA方式的数据传输是利用GSM的DATA(与传真同)传输方式,通过AT指令来进行数据拨号,等待数据连接建立后,只需将ASCII码数据送入通信模块即可。通信模块会按照设定好的通信协议(默认为V.32bis)将数传出,目标机接到数据呼叫后,送出应答信号,然后便可按照相同的协议接收ASCII码信息。基于DATA的数据传输方式数据传输安全、实时性好、数据传输量大,但产要是成本较高,适合于要求可靠性很高且海量数据传输的系统中。
16、通过语音方式进行数据传输,主要是利用话音通道将数据调制到话音频率传输出去,目标机将数据解调出来。该方案还可以通过语音通道DTMF(Double Time Multiple Frequency,双音多频)编码进行数据传输,通信方式与语音方式一样。该方案主要的优点是可以用来传输音频模拟数据,实时性很好(电路交换方式),但由于GSM系统的语音编码方式的局限,对数据的压缩/还原会造成数据的失真。该方案基本不被采用,但可以作为备选方案用于无线安防系统中。基于IP的数据传输方式是GPRS系统独有的,因为GPRS是在GSM网络基础之上新增两个节点SGSN和GGSN而形成的移动分组数据网络。由于GPRS数据传
17、输的基础是TCP/IP协议的转换。实时性较好,缺点就是GPRS终端开发成本高,使用复杂度较高(因为涉及到复杂的组网方案)。根据目前大部分系统的需求并综合以上方案的优缺点,我选择基于GSM网络的短消息的数据传输方式作为本设计的信息传输方式。3.2 编程语言方案选择方案一:采用Microsoft SQL Server 2000 中型数据库结合Window Server 2003操作系统平台,开发环境使用Microsoft Visual Studio 2005 集成开发平台,该方案具有极强的性能,能适应大数据量的吞吐需求,在该平台下开发的软件也具有较好的扩展性和跨平台性。唯一不足的是系统的实现费用较
18、为昂贵。方案二:采用Borland公司最新的开发工具Borland C+ Builder 2007,该平台既可与Microsoft SQL Server或Microsoft Access数据库搭配,也可使用自己的专用数据库,结合更为紧密,而且全部可视化的开发环境大大解放开发者的劳动量。不足的是在访问自己的专用数据库时操作较为繁琐。方案三:采用Visual Basic6.0与Microsoft SQL Server方式实现本系统,VB在Windows平台下有极高的运行效率,简单易学,功能强大,尤其在进行硬件控制(如串行通讯)时可以访问系统的最底层,对数据库的访问也比较方便,使编写过程大大简化。经
19、过上面三种方案的对比,鉴于经济性与开发难易度的适中性考虑,我选择第三种方案进行开发,即采用Visual Basic6.0搭配Microsoft SQL Server数据库实现本系统。3.3 NMEA协议NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。NMEA-0183协议是GPS接收机应当遵守
20、的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。在本系统中采用$GPGLL语句。具体如下:$GPGLL例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D字段0:$GPGLL,语句ID,表明该语句为Geographic Position(GLL)地理定位信息字段1:纬度ddmm.mmmm,度分格式(前导位
21、数不足则补0) 字段2:纬度N(北纬)或S(南纬)字段3:经度dddmm.mmmm,度分格式(前导位数不足则补0)字段4:经度E(东经)或W(西经)字段5:UTC时间,hhmmss.sss格式字段6:状态,A=定位,V=未定位字段7:校验值4 系统结构及工作原理本系统主要由上位机管理系统和下位机控制终端两部分组成。其系统总体结构图如图所示。上位机管理系统主要包括计算机及应用软件、GSM无线通讯模块和数据库系统组成。下位机控制终端包括单片机控制系统和GSM无线通讯模块。上位机管理系统运行在Windows操作系统的PC机上,采用Microsoft公司完全面向对象的开发工具Visual Basic6
22、.0进行开发,与SQL Server数据库技术相结合,通过工业级GSM模块以现有的GSM网络为媒介来完成对终端的控制。线路说明:车载终端把GPS定位装置检测的位置数据送入单片机模拟量的输入口,单片机通过串口线与GSM收发器相连;在上位机管理系统中,GSM模块通过串口线与PC机直接相连。上位机管理系统GSMmodemGSMmodem下位机控制终端GSM网络LED屏图1 系统总体结构图GPS定位装置检测的数据经单片机MCU单元的处理,编辑成短信息,通过串行口传送给GSM模块后以短消息的方式发送到上位机管理系统的GSM模块。同样,上位机管理系统中的PC机接收到信息后,访问数据库,计算出该车距离某站牌
23、的位置,然后PC机通过串行口向GSM模块发送命令,通过GSM以短消息的形式把设置命令发送到下位机终端系统的GSM模块,对单片机进行控制,最后通过LED屏把信息显示出来。4.2 GSM模块目前已经开始使用的GSM通讯模块有TC35、A20、WM02、GM47、ZXGM18等。它们都支持GSM07.05协议的AT命令集。本系统采用支持中文短消息的工业级GSM模块TC35作为通讯模块,TC35模块是SIEMENS公司生产的一种可传送话音、传真及数据的GSM无线接入终端。内置双频GSM模块、易集成、可方便根据应用移植升级到GPRS是该模块的几大特点。其结构框图如图2所示。模块由GSM基带处理器(GSM
24、 base-band processor)、电源专用集成电路(Power supply ASIC),射频电路(GSM Radio)和闪速存储器(FLASH)等部分组成,其负责处理GSM蜂窝设备中的音频、数据和信号。TC35i有40个引脚,通过一个ZIF(Zero Insertion Force,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。此模块中第1-14脚为电源部分,其中1-5为电源电压输入端,6-10为电源地GND,11,12是充电引脚,13是对外输出电压(供外电路使用),14为ACCU-TEMP接负温度系数的热敏电阻,第24-29
25、脚为SIM卡引脚,分别是CCIN,CCRST,CCIO,CCCLK,CCVCC和CCGND,第33-40脚为语音接口,用来 图2 TC35结构框图接电话手柄,第15,30,31和32脚为控制部分,15为启动引脚IGT,30是RTC backup,31为Power down,32为SYNC,第16-23脚为数据输入/输出,分别为DSRO、RINGO、TXDO、CTSO、RTSO、DTRO和DCRO。其数据口采用电压为3V的CMOS电平,可通过AT命令实现对模块控制和传输短信数据;支持TEXT模式和PDU(protocol data unit)两种短信传输模式;可选传输数据的波特率为300bit/
26、s115kbit/s;工作在EGSM900和GMS1800双频段时接收灵敏度为-101dbm,在开阔地带以基站为中心半径数十公里的范围内可以可靠接收和发送信息,并可由AT命令实现模块重启和故障恢复;工作电压为3.35.5V,有休眠模式,通讯时功耗约为12W。4.3 RS-232C串口通信RS-232C是美国电子工业协会EIA(Electronic Industry Association)于1962年公布,并于1969年修订的串行接口标准。它已经成为国际上通用的标准。它适合于数据传输速率在020000bit/s范围内的通信,这个标准对串行通信接口的有关问题,如信号电平、信号线功能、电气特性、机
27、械特性等都做了明确的规定。目前,RS-232C已成为数据终端设备DTE(Data Terminal Equipment)与计算机和数据通信设备DCE(Data Communication Equipment)的接口标准,如Modem。不仅在远距离通信中要经常用到它,就是两台计算机或设备之间的近距离串行连接也普遍采用RS-232C接口。目前RS-232C是PC机与通信工业中应用最广泛的一种串行接口,在PC机上的COM1、COM2接口,就是RS-232C接口。 RS-232C对电器特性、逻辑电平和各种信号线功能都做了规定。 在TXD和RXD上:逻辑1 为-3-15V、逻辑0为+3+15V; 在RT
28、S、CTS、DSR、DTR和DCD等控制线; 信号有效(接通,ON状态,正电压)为+3+15V; 信号无效(断开,OFF状态,负电压)为-3-15V。 RS-232C是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同,因此,为了能够同计算机接口或终端的TTL器件连接,必须在RS-232C与TTL电路之间进行电平和逻辑关系的变换,实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路芯片转换器件, 如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换,MAX232芯片可完成
29、TTL到EIA双向电平转换,本系统选用MAX232芯片实现TTL和EIA之间的电平转换4。RS-232C并未定义连接器的物理特性,因此,出现了DB-25和DB-9各种类型的连接器,其引脚的定义也各不相同。现在计算机上一般只提供DB-9连接器,都为公头。相应的连接线上的串口连接器也有公头和母头之分,如图3。作为多功能I/O卡或主板上提供的COM1和COM2两个串行接口的DB-9连接器它只提供异步通信的9个信号引脚,如图4,各针脚信号功能描述见表1。 图3 公头与母头串口连接器 图4 DB-25和DB-9串口连接器表1 9针串行口针脚功能针 脚符 号通 信 方 向功 能1DCD 计算机 调制解调器
30、载波信号检测2 RXD计算机 调制解调器接收数据3TXD 计算机 调制解调器发送数据4DTR计算机 调制解调器数据终端准备好5GND计算机 = 调制解调器信号地线6 DSR计算机 调制解调器数据装置准备好7RTS计算机 调制解调器请求发送8CTS计算机 调制解调器清除发送9RI计算机 调制解调器振铃信号提示4.4 AT命令集GSM装置采用SIEMENS公司生产的TC35i,它与PC机之间通过标准RS-232C串行口连接,通讯协议是AT(Attention)指令集。AT指令集应属于MODEM自身通信的一套规则和标准。Hayes公司的Smart modem系列产品己成为MODEM事实上的标准。而几
31、乎所有应用于计算机通信的MODEM均号称与Hayes Smart modem兼容。所谓Hayes兼容MODEM,主要是指它能识别并执行称为AT命令的某些命令和命令串。目前各种MODEM除了可以执行最基本的Hayes命令外,还有自己特有的命令。在Hayes公司建立AT命令之前,DTE(Digital Terminal Equipment)与MODEM之间是通过硬件电路来实现直接控制的。AT命令的建立使得DTE解脱出来,振铃检测、载波检测、速率选择等等都可以由MODEM来完成,此时TXD和RXD不仅仅传输数据,还传送命令。DTE发送AT命令到MODEM,MODEM执行通过RXD返回结果给DTE。而
32、我们这里的GSM模块就极类似一个无线的MODEM。AT命令集中几乎所有的指令都以AT开始,以回车结尾。每个命令执行成功与否都有相应的返回(返回结果码的类型、格式等可设置)。其他一些非预期的信息(如有人拨号近来,线路无信号等),模块将有对应的一些信息提示,接收端可以做相应的处理。AT指令集主要有常用命令、呼叫控制命令、网络服务命令、安全命令、电话簿命令、短消息命令、数据和传真命令等。该GSM远程无线监控系统常用到的一些AT命令主要见表2。表2 常用AT命令命 令功 能AT+CMGF选择短消息信息格式:0-PDU;1-文本(Select SMS message format)AT+CSCA设置短消
33、息中心地址(SMS service center address)AT+CMGS发送短消息(Send SMS message)AT+CMGL列出SIM卡中的短消息PDU/TEXT;0/“REC UNREAD”-未读,1/“REC READ”-已读,2/“STO UNSENT”-待发,3/“STO SENT”-已发AT+CMGR读取一条短消息(Read SMS message)AT+CNMI新短消息收到提示设置(New SMS message indications)AT+CMGD删除SIM卡内存的短消息(Delete SMS message)4.5 确认站点一下是新乡市的主要范围:东西坐标范围
34、:113.825o (113o49.501) E113.925o(113o55.501)E,距离9085M。南北坐标范围:35.34o (35o20.400) N35.27 o(35o16.178) N,距离7768M。东西横跨6分,南北纵跨4.222分,东西每分跨1514.17m,南北每分跨1839.88m。市区车速平均为4M/S,高速可达6M/S,RCB-4H测量精度为2.5M,定位信息获取速率为1Hz;考虑到以上因素,这里采用距离站点50M的距离作为该站点的位置,当汽车进入该范围时为站牌传送数据。这样,当汽车每分钟发一次位置信息,100M的距离内汽车一定会发送一次信息,这期间RCB-4H
35、可以获取信息而不至于忽略站点。NMEA采用ASCII编码传送信息,ASCII中数字为BCD码添加加上高四位3H,latitude数据格式为ddmm.mmmmm,longitude数据格式为dddmm.mmmmm,d代表度,m代表分,新乡市的坐标在度上没有变化,只需比较分。十米东西跨度大约为0.006604分(经度),南北跨度大约为0.005435分(纬度),而城市公交路线一般为直线,所以可以采用分别比较的经纬度的方法,这种方法比较简单,但是不精确,程序流程如图5所示。如果街道比较弯曲可以采用下面比较精确的距离运算方法确定距离某站xx还有多远。 (1)D汽车与X站点的距离Longitude0汽车
36、当前经度Latitude0汽车当前纬度LongitudeXX站点的经度LatitudeX X站点的纬度经度差值0.00660纬度差值0.00543到达xx站读取GSM信息返回YYNN图5 确认站点程序流程图4.6 PDU模式及中文短信息的编短信收发的编码格式一共有三种:Block模式, Text模式和PDU(protocol description unit)模式。其中Block Mode已经逐渐被淘汰,目前很少用了。Text Mode是纯文本方式,可使用不同的字符集,从技术上说也可用于发送中文短消息,但国内手机基本上不支持,主要用于欧美地区。PDU Mode被所有手机支持,可以使用任何字符集
37、,这也是手机默认的编码方式。Text Mode比较简单,而且不适合做自定义数据传输,我们就不讨论了。下面介绍的内容,是在PDU Mode下发送和接收短消息的实现方法。PDU串表面上是一串ASCII码,由“0”-“9”、“A”-“F”这些数字和字母组成。它们是8位的十六进制数,或者BCD码十进制数。PDU串不仅包含可显示的消息本身,还包含很多其他信息,如SMS服务中心号码、目标号码、回复号码、编码方式和服务时间等。发送和接收的PDU串,结构是不完全相同的。我们先用两个实际的例子说明PDU串的结构和编排方式。例1,发送一条PDU格式的中文短信息,地区的SMSC号码是(短信中心号码)+8613800
38、371500,目标号码+8615939026810,短信息内容是“你好!”,则从单片机发送到GSM模块的PDU串可以是“0891683108301705F011000D91685139096218F0000801064F60597DFF01”,如果使用默认的短信中心号码则PDU串可以是:“0011000D91685139096218F0000801064F60597DFF01”。对照PDU编码的规范,各段含义如表5所示。例2,接收一条短信息,SMSC号码是(短信中心号码)+8613800371500,对方号码是+8615893810886,则从GSM模块读取的PDU串为:“0891683108
39、301705F0240D91685198830188F6000880401001156423064F60597DFF01”,表6列出了对该PDU串的详细解释。表3 发送PDU串分析分段含义说明08SMSC短信中心地址长度共8个8 位字节包含9191SMSC地址格式用国际格式号码(在前面加“+”)683108301705F0SMSC短信中心号码8613800371500字节翻转后补“F”凑成偶数个11基本参数(TP-MTI/VFP)发送TP-VP,用相对格式00消息基准值(TP-MR)00D目标号码长度共13个十进制数(不包含91,“F”)91目标地址格式用国际格式号码(在前面加“+”)6851
40、39096218F0目标号码8615939026810,补“F”凑成偶数个00协议标示(TP-PID)普通GSM类型,点对点方式08用户信息编码方式(TP-DSC)8bit编码01短消息有效期(TP-VP)(VP+1)*5分钟06用户信息度(TP-UDL)实际长度6个字节4F60597DFF01用户信息(TP-UD)“你好!”Unicode编码从表3和表4的内容我们可以看出:(1)若基本参数的最高位(TP-RP)为0,则没有回复地址的三个段。从Internet上发出的短消息常常是这种情形。(2)SMSC号码、手机号码和时间的表示方法,不是按正常顺序顺着来的,而是按照先存放低位字节后存放高位字节
41、的规则形成的,而且要加“F”将奇数补成偶数。在PDU模式中,可以采用三种编码方式来对发送的内容进行编码,它们是UTF7、UTF8和UCS2编码。(1)UTF7编码用于发送普通的ASCII字符,它将一串7位的字符(ASCII码表示形式)编码成8位的二进制数据,每8个字符可“压缩”成7个,UTF7处理 ASCII 字符的时候需要做“补位”处理。补位规则:将后一字节的从尾取位补在前一字节的头,补满8位。(2)UTF8编码通常用于发送数据消息,比如图片和铃声等。(3)如果发送中文字符,则采用UCS2编码方式,每个中文字符用16位二进制数据的Unicode字符编码方式表示,如果是中英文混合的短信,由于英
42、文字符只占1字节,需要补0,成为16位的编码。例如,“你好!”的Unicode编码为4F60597D0021,其中“!”的ASCII码为21H,编码后为0021H。表4 接收PDU串详解分段含义说明08SMSC短信中心地址长度共8个8 位字节(包含91)91SMSC地址格式用国际格式号码(在前面加“+”)683108301705F0SMSC短信中心号码8613800371500字节翻转后补“F”凑成偶数个24基本参数接收、无更多信息、有回复地址0D对方号码长度共13个十进制数(不包含91,“F”)91地址格式用国际格式号码(在前面加“+”)685198830188F6对方号码158938108
43、86,补“F”凑成偶数个00协议标示(TP-PID)普通GSM类型,点对点方式08用户信息编码方式(TP-DCS)Unicode编码80401001156423时间戳(TP-SCTS)08-04-01 10:51:46 时区2306用户信息长度实际长度6个字节4F60597DFF01用户信息内容“你好!”5 0YYNN开 始GSM模块初始化打 开 串 口与GSM通信建立成功?接收提取信息是否有效?访问数据库提 取 车 号提取站牌坐标50=50比较距离?确认提取站牌编号提取其他站牌编号比较编号?给各站牌发送差值结束上位机管理系统设计 图6 程序处理流程图程序主流程图如图6所示。软件的一项重要工作
44、是编码比较处理,GSM模块接收并提取到信息后,访问数据库,与站牌坐标进行比较,如果距离大于50M,返回提取下一个站牌坐标,当差值小于等于50M,则提取该站牌编号,并与其它站牌编号进行比较,如果差值小于0,则说明车辆已驶过该站牌,不需要向其发送信息了;当比较值大于1时,则上位机与GSM无线模块通信,向站牌GSM收发模块发送差值。串口通信与AT命令的设置和使用是程序设计的难点。系统程序设计采用模块化设计思想,主要分为系统初始化模块、通信模块初始化模块、身份授权及验证模块、数据提取模块、数据比较模块、差值输出模块等组成。5.1 Visual Basic简介本系统上位机的软件部分是用Visual Ba
45、sic为工具开发的,Visual Basic(VB)是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。它源自于BASIC编程语言。它简单易学、效率高、功能强大,而且程序开发人员不必具有复杂的编程基础。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。VB提供了动态数据交换(DDE)编程技术、对象的链接与嵌入(OLE)技术、动态链接库(DLL)技术,可以高效、快速地开发出Windows环境下功能强大,图形界面丰富的应用软件系统5。5.2 数据库结构设计数据库是开发管理系统的基石,一个设计良好的
46、数据库可以让程序员在写程序时得心应手,灵活运用各种编程技术对数据进行操作;反之一个设计不良的数据库让程序员无从下手,浪费大量时间在弥补数据库设计的过失上,最后极有可能导致项目的开发失败!根据本系统的特点,采用中小型单机数据库系统即可满足需求,故选择应用较为广泛的Microsoft SQL Server数据库。该数据库软件具有较好的Internet集成性,良好的可伸缩性和可用性,以及企业级的数据库功能,易于安装、部署和使用,且面向个人用户,应用广泛,操作简单极为适合本系统的数据管理。5.2.1 系统需求分析公交车自动报站管理系统的用户是公交调度室的工作人员,实例包括路线信息管理和站牌信息管理,具体功能如下:(1)路线信息的添加、修改、删除和查询。(2)站牌信息的添加、修改、删除和查询。(3)路线和站牌的编码管理。根据系统需求分析总结的用户需求设计系统体系结构。系统功能模块如图7所示。自动报站系统管理路线信息管理站牌信息管理等