1、毕业论文(设计)论文题目:公交车管理系统上位机设计与实现摘要本文介绍了公交车管理系统上位机硬件和软件的设计。该系统利 用GSM收发模块、GSM通信网络、Visu al Basic语言编程和微控制 技术,通过串口 RS-2 32 c与上位机通信并建立GSM通信网络的数据 通道,以短消息作为数据传输方式,开发出基于GSM-SMS的控制系 统。采用上位机较为友好的人机界面,用集成化的管理理念,对信息 屏终端通过GSM模块进行远程管理,具有费用低廉,不受距离远近 和地势起伏的限制,方便可靠,灵活快捷的特点,且用VB语言编程 具有较友好的用户操作界面,易学易用。关键词:GSM 模块,RS-2 32 C,
2、SMSThe Design of the Bus Stop System Automatically Reports PCAbstractThis article introd u ces the d esign of the management system bus PC hard ware and software.The system u ses GSM transceiver,GSM commu nication network,Visu al Basic programming langu age and micro-control technology,throu gh the
3、serial RS-2 32 commu nication with the host compu ter and the establishment of the GSM commu nication network d ata path to the short message as a d ata transfer method,d eveloped based on GSM-SMS control system.PC u sing a more friend ly interface,with integrated management of information throu gh
4、the GSM mod u le screen terminal remote management,with a low-cost,d istance and terrain from the u ps and d owns of the restrictions,convenient and reliable,flexible and efficient characteristics,VB programming langu age and with a more u ser-friend ly interface,easy to learn and u se.Key words:GSM
5、 Mod em,RS-2 32 C,SMS目录1引言.11.1 公交车自动报站系统上位机的发展现状.21.2 GSM 系统.32设计要求.43方案论证.43.1 无线传输方案选择.43.2 编程语言方案选择.63.3 NMEA 协议.74系统结构及工作原理.84.2 GSM 模块.94.3 RS-2 32 C 串 口通信.114.4 AT命令集.144.5 确认站点.164.6 PDU模式及中文短信息的编码.185上位机管理系统设计.225.1 Visu al Basic 简介.235.2 数据库结构设计.245.2.1 系统需求分析.245.2.2 基本信息管理模块.255.2.3 用户管理
6、及权限控制功能集合.266上位机数据处理部分.276.1 MSCOMM通讯控件的使用.276.2上位机软件设计.316.2.1 数据通讯部分程序设计.32622 PC机与GSM通信.336.2.3 数据管理部分程序设计.357小结.36致谢.36参考文献.38附录一位置坐标.40附录二程序清单.4221引言公交车已经成为一般工薪族和学生族出门必须的交通工具,目前 公交车上采用的公交报站系统具有语音和显示报站的基本功能,但由 于报站时采用司机手动切换,一方面增加了司机的劳动强度,另一方 面由于司机的误报或漏报,造成乘客误下或漏下,对于公交运营产生 了很大负面影响,更会对乘客造成很多不必要的影响。
7、作为一个城市 的公交企业,既要代表政府体现当地城市的形象,又要尽一切力量减 少政府投资,创造良好的社会效益和经济效益。而传统的公交运营系 统的装备和管理模式较难达到这两者的完美结合。随着科学技术的发 展,公交应用系统带给公交企业的将不仅是形象的提升,也是效益的 增长。为此,研究公交车自动报站系统是非常必要的。公交车自动报站系统是采用全球定位系统(GPS)进行数据采集,实时解算车辆当时的经度、纬度等信息,获得公交车的实时坐标,将其 发送到上位机与站牌坐标相比较,公交车驶入站牌一定距离范围内时,不用人工干预,系统自动进行控制下位机站牌,提供站牌温磬提示服 务。在这个高速发展的社会中,信息技术、通信
8、技术、电子控制技术、系统综合技术等的快速发展,使得各个电子系统不断向智能化、人性 化、多元化、节能化方向发展,智能化的交通运输系统也已加入了这 个高度发达的科技时代潮流。自动报站系统的建立不仅大大提高运输 的效率、改善了交通环境,并且也提高了交通的安全性。公交车自动报站系统上位机设计是通过关键基础理论模型的研 究,从而将信息技术、通信技术、电子控制技术和系统综合技术等有 效地应用于交通运输系统,从而建立起大范围内发挥作用的实时、准 确、高效的交通运输管理系统。自动报站系统利用现代科学技术在人、车、路之间建立起智能的联系。借助系统的智能,车辆可以在道路上 安全、高效的行驶,依靠智能化手段将车辆运
9、行行程调整到最佳,在 极大地提高运输效率的同时,充分保障交通安全、提高能源利用率,最终实现人、车、路的和谐统一山。本品用以Visu al Basic汇编语言为基础编写发送界面的软件的上 位机(PC机),实现从GSM模块提取由公交车发送的位置信息,进行 处理后再由GSM模块发送到站牌下位机(单片机),并由下位机所控制的LED点阵显示 屏显示出来。L1公交车自动报站系统上位机的发展现状目前国内各大城市常见公交车自动报站信息发布系统的搭建和 信息内容的更新方式,多采用传统技术手段,每个报站系统只是一个 孤立的单体,内容需要专门人员,即便通过计算机控制,实际上也只 是一个孤立的系统,无论是信息录入、终
10、端管理还是自动糊程度都很 低,部署和使用成本也非常高,更别说网络化的信息传输和信息服务 了。本系统通过上位机较为友好的人机界面,采用集成化的管理理念,对信息屏终端通过GSM模块进行远程管理,具有费用低廉,不受距 离远近和地势起伏的限制,方便可靠,灵活快捷的特点,非常适合站 牌信息发布系统。GSM网络主要提供语音、短消息、数据等多种业 2系 其SMS短消息通讯方式采用通常的无线GSM短消息模块就能实 现短消息的传输。SMS以其连接简单,频谱利用率高、费用低廉、覆盖面广、保密性好、抗干扰能力强、实现方便等优点,得到广泛的 应用。因此站牌信息发布系统上位机和控制终端之间可以通过SMS 基于GSM公共
11、网进行数据和相关的命令传送,从而实现了远程信息 的发布和管理。1.2 GSM系统在很多监控领域,各种监控设备大多还是有线方式传输,当距离 遥远时,有线方式监控设备的安装、维护非常不方便,因为监控端远 离采集端,铺设电缆的投入是巨大的。通过无线方式来交换数据,则 可以有效地避免这些问题。GSM(Global System for Mobile Commu nication,全球移动通讯系 统)网络是目前国内覆盖最广,应用最普遍的无线通信网络,利用 GSM网络构建远程检测系统时,完全可以利用现成的GSM无线网络 而无须再建新基站。GSM是基于时分多址技术的移动通讯系统,是目前发展比较成 熟、完善、
12、应用最为广泛的通讯系统。目前已建成的覆盖全国的GSM 数字蜂窝移动通讯网(主要包括中国移动和中国联通两家大型运营 商),是我国公众移动通讯网的主要方式,它主要提供话音、短信息、数据等多种业务。其中基于GSM-SMS(Short Message System,短消 息或短信)功能可以开发出传输各种检测、监控数据信号和控制命令 的数据通讯系统。由于GSM网络在全球范围内实现了联网和漫游,3不需组建专用通讯网络,就可以完成远程数据通讯,而且具有较好的 实时性,所以GSM网络的应用越来越广泛。利用GSM网络短消息业务(SMS)实现监测领域的应用具有以下 优点:通信网络覆盖面广,网络设施完备,实施与运行
13、费用低,可以 实现在无人值守情况、环境恶劣、超远距离的情况下控制信息的收集 和传送。2设计要求系统的具体设计要求为:(1)人机界面友好:方便用户进行常用的管理操作。(2)运行稳定:采用最新技术保证系统能准确的进行数据的发 送与接收。(3)历史记录管理:能对历史记录进行再现,方便汇总。(4)安全保密:系统可设置登录权限,对信息进行访问控制。(5)数据恢复:可以将数据记录进行存档,在遇到灾难性故障 时不至于数据丢失。基于以上的要求,所设计的系统必须有以下结构模块:GSM收 发模块、数据库管理模块、串口通讯模块、系统运行平台。3方案论证3.1 无线传输方案选择目前的无线通道的数据传输方案主要分为两种
14、,一种是通过专用 网进行数据传输,如RF(Rad io Frequ ency,射频)数据传输电台和无 4线局域网(WLAN);一种是通过公共无线通信网络,如GSM/GPRS 网络的成熟度较高、覆盖面较广,因而GSM/GPRS网络被选为该无线 通道总体方案的通信基础。而基于GSM/GPRS网络的数据传输通常有 四种方式,一种是基于短消息的数据传输。第二种是基于DATA方式(注:一种以电路交换为基础的传输方式)的数据传输;第三种是通 过语音方式进行数据传输;最后就是通过IP(INTERNET PROTOCOL,因特网协议)方式的数据传输。下面对四种基于 GSM/GPRS网络的无线数据传输方式的各自
15、特点作简单的介绍。基于 短消息的数据传输是通过短消息作为数据传输的载体,利用AT指令 对通信模块控制,然后将数据按照短消息的格式发送给目标机。目标 机接收到短消息后,利用AT指令将短消息读出并将信息还原,这样 就完成一次数据通信。基于短消息的数据传输方式的特点是资费较 低,组网/使用方面,但数据容量较低(140字节)。短消息数据传输 方式特别适合于小数据量且中低采集频率的无线监控系统使用。基于DATA方式的数据传输是利用GSM的DATA(与传真同)传 输方式,通过AT指令来进行数据拨号,等待数据连接建立后,只需 将ASCII码数据送入通信模块即可。通信模块会按照设定好的通信协 议(默认为V.3
16、2 bis)将数传出,目标机接到数据呼叫后,送出应答信 号,然后便可按照相同的协议接收ASCII码信息。基于DAIA的数据 传输方式数据传输安全、实时性好、数据传输量大,但产要是成本较 高,适合于要求可靠性很高且海量数据传输的系统中。通过语音方式进行数据传输,主要是利用话音通道将数据调制到5话音频率传输出去,目标机将数据解调出来。该方案还可以通过语音 通道-DTMF(Dou ble Time Mu ltiple Frequ ency,双音多频)编码进行数据传输,通信方式与语音方式一样。该方案主要的优点是可以 用来传输音频模拟数据,实时性很好(电路交换方式),但由于GSM 系统的语音编码方式的局
17、限,对数据的压缩/还原会造成数据的失真。该方案基本不被采用,但可以作为备选方案用于无线安防系统中。基于IP的数据传输方式是GPRS系统独有的,因为GPRS是在GSM 网络基础之上新增两个节点一SGSN和GGSN而形成的移动分组数据 网络。由于GPRS数据传输的基础是TCP/IP协议的转换。实时性较好,缺点就是GPRS终端开发成本高,使用复杂度较高(因为涉及到复杂 的组网方案)。根据目前大部分系统的需求并综合以上方案的优缺点,我选择基 于GSM网络的短消息的数据传输方式作为本设计的信息传输方式。3.2 编程语言方案选择方案一:采用 Microsoft SQL Server 2000中型数据库结合
18、 Wind ow Server 2003操作系统平台,开发环境使用Microsoft Visu al Stu d io 2005集成开发平台,该方案具有极强的性能,能适应大数据 量的吞吐需求,在该平台下开发的软件也具有较好的扩展性和跨平台 性。唯一不足的是系统的实现费用较为昂贵。方案二:采用Borland公司最新的开发工具Borland C+Bu ild er 2007,该平台既可与 Microsoft SQL Server 或 Microsoft Access 数据库 搭配,也可使用自己的专用数据库,结合更为紧密,而且全部可视化 6的开发环境大大解放开发者的劳动量。不足的是在访问自己的专用数
19、 据库时操作较为繁琐。方案三:采用Visu al Basic6.0与Microsoft SQL Server方式实现本 系统,VB在Wind ows平台下有极高的运行效率,简单易学,功能强 大,尤其在进行硬件控制(如串行通讯)时可以访问系统的最底层,对数据库的访问也比较方便,使编写过程大大简化。经过上面三种方案的对比,鉴于经济性与开发难易度的适中性考 虑,我选择第三种方案进行开发,即采用Visu al Basic6.0搭配Microsoft SQL Server数据库实现本系统。3.3 NMEA 协议NMEA协议是为了在不同的GPS(全球定位系统)导航设备中 建立统一的BTCM(海事无线电技术
20、委员会)标准,由美国国家海洋 电子协会(NMEA-The National Marine Electronics Associa-tion)制定 的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将 位置、速度等信息通过串口传送到PC机、PDA等设备。NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前 GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS 数据处理软件、导航软件都遵守或者至少兼容这个协议。NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性 最广的语句只有$666人、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$G
21、PGLL等。在本系统中采用$GPGLL语句。具体如下:$GPGLL 7例:$GPGLL,42 50.5589,S,147 18.5084,E,092 2 04.999,A*2 D字段 0:$GPGLL,语句 ID,表明该语句为 Geographic Position(GLL)地理定位信息字段1:纬度d d mm.mmmm,度分格式(前导位数不足则补0)字段2:纬度N(北纬)或S(南纬)字段3:经度d d d mm.mmmm,度分格式(前导位数不足则补0)字段4:经度E(东经)或W(西经)字段5:UTC时间,hhmmss.sss格式字段6:状态,A=定位,V二未定位字段7:校验值4系统结构及工作
22、原理本系统主要由上位机管理系统和下位机控制终端两部分组成。其 系统总体结构图如图1所示。上位机管理系统主要包括计算机及应用软件、GSM无线通讯模 块和数据库系统组成。下位机控制终端包括单片机控制系统和GSM 无线通讯模块。上位机管理系统运行在Wind ows操作系统的PC机上,采用Microsoft公司完全面向对象的开发工具Visu al Basic6.0进行开 发,与SQL Server数据库技术相结合,通过工业级GSM模块以现有 的GSM网络为媒介来完成对终端的控制。线路说明:车载终端把GPS定位装置检测的位置数据送入单片 机模拟量的输入口,单片机通过串口线与GSM收发器相连;在上位 机管
23、理系统中,GSM模块通过串口线与PC机直接相连。8图1系统总体结构图GPS定位装置检测的数据经单片机MCU单元的处理,编辑成短 信息,通过串行口传送给GSM模块后以短消息的方式发送到上位机 管理系统的GSM模块。同样,上位机管理系统中的PC机接收到信 息后,访问数据库,计算出该车距离某站牌的位置,然后PC机通过 串行口向GSM模块发送命令,通过GSM以短消息的形式把设置命 令发送到下位机终端系统的GSM模块,对单片机进行控制,最后通 过LED屏把信息显示出来。4.2 GSM模块目前已经开始使用的GSM通讯模块有TC35、A2 0、WM02、GM47、ZXGM18等。它们都支持GSM07.05协
24、议的AT命令集。本 系统采用支持中文短消息的工业级GSM模块TC35作为通讯模块,TC35模块是SIEMENS公司生产的一种可传送话音、传真及数据的 GSM无线接入终端。内置双频GSM模块、易集成、可方便根据应用 移植升级到GPRS是该模块的几大特点。其结构框图如图2所示。9模块由GSM基带处理器(GSM base-band processor).电源专用 集成电路(Power su pply ASIC),射频电路(GSM Rad io)和闪速存储器(FLASH)等部分组成,其负责处理GSM蜂窝设备中的音频、数据和 信号。TC35i 有 40 个引脚,通过一个 ZIF(Zero Inserti
25、on Force,零阻力 插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。此模块中第1-14脚为电源部分,其中1-5为电源电压输入端,6-10为电源地GND,11,12是充电引脚,13是对外输出电压(供外电路使用),14为ACCU-TEMP接负温度系 数的热敏电阻,第2 4-2 9脚为SIM卡引脚,分别是 CCIN,CCRST,CCIO,CCCLK,CCVCC 和 CCGND,第 33-40 脚为语音 接口,用来图2 TC35结构框图接电话手柄,第15,30,31和32脚为控制部分,15为启动引脚IGT,1030 A RTC backu p,31
26、 为 Power d own,32 为 SYNC,第 16-2 3 脚为数 据输入/输出,分别为 DSRO、RINGO、TXDO、CTSO、RTSO、DTRO 和 DCROo其数据口采用电压为3V的CMOS电平,可通过AT命令实现对 模块控制和传输短信数据;支持TEXT模式和PDU(protocol d ata u nit)两种短信传输模式;可选传输数据的波特率为300bit/sH5kbit/s;工 作在EGSM900和GMS1800双频段时接收灵敏度为-lOld bm,在开阔 地带以基站为中心半径数十公里的范围内可以可靠接收和发送信息,并可由AT命令实现模块重启和故障恢复;工作电压为3.3-
27、5.5V,有休眠模式,通讯时功耗约为12 W。4.3 RS-232C 串 口 通信RS-2 32 c 是美国电子工业协会 EIA(Electronic Ind u stry Association)于1962年公布,并于1969年修订的串行接口标准。它已经成为国际 上通用的标准。它适合于数据传输速率在。2 0000bit/s范围内的通 信,这个标准对串行通信接口的有关问题,如信号电平、信号线功 能、电气特性、机械特性等都做了明确的规定。目前,RS-2 32 C已成为数据终端设备 DTE(Data Terminal Equ ipment)与计算机和数据通信设备 DCE(Data Commu ni
28、cation Equ ipment)的接口 标准,如 Mod em o不仅在远距离通信中要经常用到它,就是两台计算机或设备之间的 11近距离串行连接也普遍采用RS-2 32 c接口。目前RS-2 32 c是PC机与 通信工业中应用最广泛的一种串行接口,在PC机上的COMK COM2 接口,就是 RS-2 32 c 接口。RS-2 32 C对电器特性、逻辑电平和各种信号线功能都做了规 定。在TXD和RXD上:逻辑1为-3-15V、逻辑0为+3+15V;在 RTS、CTS、DSR、DTR 和 DCD 等控制线;信号有效(接通,ON状态,正电压)为+3+15V;信号无效(断开,OFF状态,负电压)为
29、-3-15V。RS-2 32 c是用正负电压来表示逻辑状态,与TTL以高低电平表 示逻辑状态的规定不同,因此,为了能够同计算机接口或终端的 TTL器件连接,必须在RS-2 32 C与TTL电路之间进行电平和逻辑关 系的变换,实现这种变换的方法可用分立元件,也可用集成电路芯 片。目前较为广泛地使用集成电路芯片转换器件,如MC1488、SN7 5150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN7 5154可实现EIA电平到TTL电平的转换,MAX2 32芯片可完成 TTL到EIA双向电平转换,本系统选用MAX2 32芯片实现TTL和 EIA之间的电平转换。RS-2 32 c并未定
30、义连接器的物理特性,因此,出现了 DB-2 5和 DB-9各种类型的连接器,其引脚的定义也各不相同。现在计算机上12一般只提供DB-9连接器,都为公头。相应的连接线上的串口连接器 也有公头和母头之分,如图3。作为多功能I/O卡或主板上提供的COM1和COM2两个串行接口的DB-9连接器它只提供异步通信的9个信号引脚,如图4,各针脚信号功能描述见表1。图3公头与母头串口连接器图4 DB-2 5和DB-9串口连接器表19针串行口针脚功能针脚符号通信方向功能1DCD计 远程数据库对象(RDO,Remote Data Object)和 ActiveX 数据对象(ADO,ActiveX Data Obj
31、ect)o 数据 库访问技术一直在不断进步,而这三种接口的每一种都分别代表了该 技术的不同发展阶段。最新的是ADO,它是比RDO和DAO更加简 单然而更加灵活的对象模型。正因如此,越来越多的人在用Microsoft Visu al Basic开发数据库软件时使用ADO作为数据访问接口。在开发 过程中,我们通常的使用的方法是:先使用数据库管理系统(例如:Microsoft SQL Server)中的可视化数据管理器建立好数据库和数据表 结构,然后在程序中通过使用ADODC数据库控件或引用ADO对象 与数据库中的表建立连接,再通过数据库感知控件(例如:文本框、Data Grid等)来进行数据库的各
32、种操作。为了增强系统的兼容性,使 该系统能方便的扩展为其它的数据传输应用系统,需要在程序运行过 程中动态地建立自己所需的数据库和数据表,以提高程序的灵活性。在程序运行过程中建立自己所需的数据库和数据表,其本质就是用代 码在程序运行过程中建立数据库和数据表。上位机软件主要包括系统设置、信息接收、数据处理三部分。系35统设置模块完成灌区渠系测点结构图、数据库创建、系统通信参数设 置、短消息通信方式设置等功能;信息接收模块完成信息接收、解码、信息存储等功能;数据处理模块完成数据处理统计、报表输出等功能。设计中用MSComm控件完成信息接收,用ADOX数据控件实现数据 库建立及数据添加、存储、查询等。
33、同时系统具有统计及报表输出功 能。7小结由于传统公交车报站系统,由司机手动操作,容易出现报站错误,分散司机的注意力,且不能直观地显示车辆信息。本系统依托覆盖广 泛的GSM移动通讯公共网络提供的短消息业务传输更新数据,无需 自行组网,系统运行费用低廉,数据传输可靠、迅速,是比较理想的 通讯方式。尽管系统在实际通讯过程中会产生延时等现象,但是通过 避开网络繁忙的时间段进行数据传输,或者通过设定更加完善的通讯 协议,或者通过增加多个短信模块,用上位机控制多个模块对信息进 行同时发布,就可以将发送速度提高。通过上述措施这种现象是可以 减少和弥补的。致谢在本次毕业设计过程当中,指导老师给了我很大的帮助,
34、不论何 时向其请教问题,他都不厌其烦地认真听我叙述,然后给予我正确的 指导,特别是在困难的时候,他有意识地培养我独立思考和解决问题 36的能力,指导老师的严格要求,令我以后的工作和生活当中受益匪浅。我的同学们也在这次设计中给予我很大的技术支持,我们共同讨论设 计方案以及程序设计流程,并且当我写程序时遇到不能解决的程序问 题时,他们都积极有帮忙讨论解决方案,让我感受到了强大的团对力 量。在此,对他们所给予的指导和帮助表示最衷心的感谢。37参考文献1常玉林,胡启洲.城市公交线网优化的线性模型J.中国公路 学报,2005(18)2陈弋,汪亚东,李培煌等.基于GPS的嵌入式公交自动报站系统 的研究J.
35、电子技术应用,2 007.33(11)3张新鸣.公交无线信息广播系统J.城市公共交通,2003(4)4李江全,张丽.Visu al Basic串口通信预测空M.北京:人民邮电 出版社,2 007.65 张玉生.Visu al Basic程序设计与上机实验指导M.上海:华东 理工大学出版社,2 006.1 6侯建华.基于短消息业务的智能温室监 控系统M.上海:电子技术,2007,34(9)7 黄卫宁.Visu al Basic实用教程M.北京:人民邮电出版社,2 005.98 王颖,李敏业.Visu al Basic+SQL Server数据库应用实例M.北京:人民邮电出版社,2 006.49李
36、朝青.单片机原理及接口技术M.北京:航空航天大学出版社,1999.3门 0吴嘉澎,郭寒军,王志强等.基于无线收发芯片CC102 0的电子 公交站牌设计J.电子技术应用,2 007.33(12)11张兢,路彦和.基于GSM网络的路灯监控系统J.无线电工程,2005(35)3812冯伟,郭旭.煤矿地面监控系统中基于GSM-SMS的数据传输J.江苏:煤炭科学技术,2007,35(10)13都春明.基于TC35i的小区远程报警系统J.上海:2007:33(11)14袁小兵.基于GSM的数据采集与控制系统J.工程物理研究院 科技年报,2003(1)15李鸿.用单片机控制手机收发短信息J.电子技术应用,2
37、003(1)16马潮.嵌入式GSM短信息接口的软硬件设计J.单片机与嵌入 式系统应用,2003(7)口7赵明富,张先富,张松飞等.公交站牌报站屏设计J.电子技术 应用,2 008.34(10)18畦碧霞.用单片机串行口实现动态扫描LED显示J.电子工程 师,2006(6)19 关积珍.显示发展及其在交通领域的应用J.产业透视,2004(6)2 0江丽炜.智能公交电子站牌显示时间预测方法研究J.交通 与计算机,2006(10)39附录一位置坐标表15路车站牌坐标站牌名编号坐标医学院0501N3516.97 90 E11355.57 32,向阳路口0502N3517.2 7 7 7 E11355.
38、2 952张庄0503N3517.442 2 E11354.3415,新远学校0504N3517.5655,E11355.32 65,溥城花园0505N3517.7 413,E11355.333O40汽车东站0506N3517.7 995,E11353.6047,起重设备厂0507N3517.807 7 E11353.32 00南干桥0508N3517.7 998-E11355.07 87,表24路车站牌坐标站牌名编号坐标医学院0401N3516.97 90 E11355.57 32,三附院0402N3516.9605 E11355.2 452,新延路口0403N3516.9605 E1135
39、4.97 30,佐今明药业0404N3516.9605 E11354.2 62 3,国税局0405N3516.9605 E11353.9350公安大楼0406N3516.9605 E11353.8330,花卉大市场0407N3516.9643 E11353.4130,启明小区0408N3516.9668 E11353.039041附录二程序清单,*pc与 GSM 通信 程 序42定义模块级变量Dim ary_strTask(O To 31)As StringDim n_TaskWord As Long初始化Private Su b Form_Load()MSComm 1.CommPort=1M
40、SComml.Settings=9600,n,8,1MSComml.Inpu tLen=0MSComml.RThreshold=1MSComml.SThreshold=0MSComml.PortOpen=Tru eCmd Read.Enabled=FalseEnd Su b测试GSMPrivate Su b TestAT_Click()txtReceived.Text=MSComml.Ou tpu t=AT&vbCrMSComml.Ou tpu t=AT+CMGF=0&vbCr设置短信发送方式:PDUSleep(1000)MSComml.Ou tpu t=AT+CNMI=&3,1,2,0&vb
41、CrSleep(1000)43MSComml.Ou tpu t=AT+CPMS=&SM,ME,SM&vbCrCmd Read.Enabled=Tru eEnd Su b读取短消息Private Su b Cmd Read _Click()If MSComml.PortOpen=Tru e ThentxtReceived.lext=Call Ad d Task(n_TaskWord,ary_strTask,16,11,AT+CMGF=1&vbCr)Call Ad d Task(n_TaskWord,ary_strTask,8,12,AT+CMGR=&Read NO.lext&vbCr)End I
42、fIf Timer 1.Enabled=False Then Timerl.Enabled=Tru eIf Timer2.Enabled=False Then Timer2.Enabled=Tru eEnd Su bPrivate Su b MSComml _OnComm()Dim blTmp As BooleanDim strATData As StringDim strGetlnfo As StringDim tmpBu f()As Byte,strTmp As String,strTmpHex As String,i As IntegerOn Error Resu me Next44Se
43、lect Case MSComml.CommEventCase comEvReceiveIf g_blIsHexCommData ThentmpBu f=MSComml.Inpu tFor i=0 To UBou nd(tmpBu f)strTmpHex=Hex(tmpBu f(i)If Len(strTmpHex)0 ThenMe.Caption=PickAllSMS 1(strReceived,obj _ Ary S M S Li st)ElseMe.Caption=PickAllSMS(strReceived,obj _ Ar y S M S Li st)End IfOn Error R
44、esu me NextnU=UBou nd(obj_ArySMSList)IfnUOThenFor n=1 To nUIf lenpc 0 ThenSMSNo.Text=obj _ Ary S M S Li st(n).S ou rceNoSMSTime.Text=Format(obj_ArySMSList(n).ReachDate,46YYYY-MM-DD)&Format(obj_ArySMSList(n).ReachTime,HH:MM:SS)&vbCrLfSMSText.Text=obj_ArySMSList(n).SmsMainEnd IfNext nEnd IfEnd Su bPri
45、vate Su b Timerl_Timer()Timerl.Enabled=ScanTaskAEnd Su bPrivate Fu nction ScanTaskA()As BooleanDim nTmp As LongDim i_ScanPtr As IntegerDim ary_nCommand Flag(0 To 31)As LongFor i=0 To 15ary_nCommand Flag(i)=2 A(15-i)Next iOn Error Resu me NextContinu eScan:=取出命令标志数组=nTmp=ary_nCommand Flag(i_ScanPtr)=
46、察看标志是否等于1=47If(n_TaskWord And nTmp)0 Then,如果有任务存在,则准备执行之任务执行的条件是 串口打开,而且没有正在进行的接收任务If MSComml.PortOpen=Tru e Then,将任务命令下发MSComml.Ou tpu t=ary_strTask(i_ScanPtr)Else,如果执行的条件不满足,则保留权利,等待下次 会话-ScanTaskA=Tru eExit Fu nctionEnd If,如果程序能够执行到此处,说明该任务已经完成那么将该任 务的标志删除n_TaskWord=(n_TaskWord And(Not nTmp)因为一个会
47、话只能执行一个任务,因此扫描指针回零,退出 当前会话,等待下次会话,重新扫描i_ScanPtr=0ScanTaskA=Tru eExit Fu nctionEnd If=没有捕获任务,将扫描指针前移一个位置=48i_ScanPtr=i_ScanPtr+1,如果扫描了整个队列也没有发现任务If i_ScanPtr=16 Then,-结束扫描,等待外部触发i_ScanPtr=0ScanTaskA=FalseElse,否则的话,继续扫描GoTo Continu eScanEnd IfEnd Fu nction途出程序,关闭串口Private Su b Cmd qu it_Click()Unload
48、MeEnd Su bPrivate Su b Form_Unload(Cancel As Integer)MS Comm 1.PortOpen=FalseEnd Su b串口通信模块程序Option ExplicitPu blic g_blIsListSMSPu blic g_blIsSysBu syAs BooleanAs Boolean49Pu blic g_blIsWaitingPu blic g_blIsNewSMSInAs BooleanAs BooleanAs BooleanAs BooleanAs BooleanAs BooleanAs StringAs StringAs Str
49、ingAs StringAs LongPu blic g_blIsSend ingSMSPu blic g_blIsHexCommDataPu blic g_blMaySaveAHSMSPu blic g_blwavPu blic g_strSavePu blic g_strThisATPu blic g_strLastATPu blic g_strLatestATPu blic n_Cou ntListSMSPu blic g_SysInfo As SysStru ctPu blic TheForm As FormPu blic TheMenu As MenuPu blic Declare
50、Su b Sleep Lib kernel32 (ByVai d wMillisecond s AsLong)VB延时API函数Pu blic Declare Su b winhelp Lib u ser32 (ByVai hWnd As Long,By Vai Iphelpfile As String,By Vai wcommand As Long,By Vai d wData As Long)调用帮助API函数Pu blic Declare Fu nction htmlHelp Lib hhctrl.ocx Alias HtmlHelpA(By Vai hwnd Caller As Lon