一种基于物联网的公交车信息查询系统设计
扫描二维码
随时随地手机看文章
摘要 系统结合新一代信息技术的重要组成部分——物联网的科学技术理念,利用各类传感器收集信息,并将信息通过GPRS网路发送给综合信息处理平台,平台对各班次公交车的各类信息进行存储和分析,并实时更新。用户通过手机登录综合信息处理平台Web界面即可获取想要秉坐的公交车具体信息,从而给用户的出行带来便捷。
关键词 智能公交;物联网;无线通信
1 研究背景
随着城市建设的飞速发展及公交系统的不断完善,公交车已成为城市居民出行的主要交通工具。但由于城市公交线路四通八达,且随着城市扩建而快速发展,新的公交线路在不断延伸和开辟,再加上单行道、禁左等道路交通约束,出现了交通拥堵问题。而且近年来严重的交通拥堵问题不仅局限于大城市,在二线甚至三线城市也开始蔓延。根据中国汽车协会2010年发布的数据,2009年中国汽车销售量达1 364.48万辆,超过美国成为全球第一,其中乘用车数量为1033.13万辆,同比增长53%。而去年全国公路增长里程共计9.8万公里,同比下降33%。二者之间的不均衡发展导致了交通安全事故频发、城市居民乘车出行不便、上下班时间增加等问题。
随着现代网络技术的不断发展,公交查询系统因运而生。因此也出现了基于各种技术的公交查询系统,如基于ASP.NET+XML的公交查询系统、基于J2ME的公交查询系统、基于GIS、GPS、RS的公交查询系统等。这些系统能提供电子地图、二维数字城市中的地图和三维城市模型的信息、高精度的GPS定位服务,但是他们无法及时反应出某一时刻某一站点的来车详细信息。
目前大多数的公交查询系统,基本具备以下功能:采用车站站点查询、车次查询、模糊查询、站至站查询4种查询形式,不仅能够查询到各条线路的起停站点,同时还能够分析出换乘车辆情况。但是由于各个地区公交车数据庞大,无法迅速、准确地查到所需要的目的地以及各个车次所经过站点的信息,导致查询不便且结果复杂缺少人性化。另外,物联网作为新一代信息技术的重要组成部分,第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了物体与物体之间,进行信息交换和通信。但其应用方面多是对于一些大型行业,还没有扩展到民用基础设施上。
而本系统可以给用户带来意想不到的便捷,通过登陆网站即可查到用户要乘坐的公交车的具体情况,包括距用户还有多少站以及车上乘客数量,这样即使正在赶往公交站台的路上,也不用担心会误了最快到达的公交车。同时用户也可以作出等待还是换乘别的路线的公交车的选择,这样不仅节省了时间而且使公交资源最大化利用。
2 系统的总体结构
系统结合物联网的科学技术理念,利用特定装置如红外扫描等对公交车的乘客数量进行统计,将RFID标签嵌入到公交站牌上,公交车路过站牌时自动提取站点信息,同时实现弯道提醒、线路提醒等功能。车载信息存储模块将乘客数量信息、站点信息和车辆上下行信息汇总和储存,并通过GPRS网络发送至综合信息处理平台,平台对各班次公交车的信息进行排序整理,作出为每一站点的两个方向生成各自数据模块等处理,同时上传互联网,并实时更新。
从技术架构上看,基于物联网的公交信息查询系统可分为3层:感知层、网络层和应用层。(1)感知层由各种传感器以及传感器网关构成,包括红外传感器、RFID等感知终端。感知层主要功能是识别物体和采集信息。(2)网络层由无线通信、互联网和网络管理系统等组成,负责传递和处理感知层获取的信息。系统拟建立公交信息综合处理平台,基于互联网编程实现公交信息数据库的建立和维护,并对接受信息进行排序、添加、删除及实时更新,包括整个平台的维护等。(3)应用层是公交信息查询系统和用户的接口,它实现公交信息查询系统的智能应用。本系统拟采用用户手机查询浏览公交信息查询系统网页的方式实现公交信息查询系统的用户应用。
系统总体结构如图1所示。
3 基于GPRS的信息传输方案设计
系统采用GPRS无线数据传输方式实现车载终端与监控中心的通信,并以华为公司GTM900-C无线通信模块为例,具体介绍车辆监控系统中实现GPRS数据传输的方法以及关键技术。
GPRS专网系统终端上网登录服务器平台的流程为:(1)检查网络状态。(2)用户发出GPRS登录请求,请求中包括由移动公司为GPRS专网系统专门分配的专网APN;(3)根据请求中的APN,SGSN向DNS服务器发出查询请求,找到与企业服务器平台连接的GGSN,并将用户请求通过GTP隧道封装送给GGSN;(4)GGSN将用户认证信息(包括手机号码、用户账号、密码等)通过专线送至Radius进行认证;(5)Paddius认证服务器看到手机号等认证信息,确认是合法用户发来的请求,向DHCP服务器请求分配用户地址;(6)Radius认证通过后,由Radius向GGSN发送携带用户地址的确认信息;(7)用户得到了IP地址,就可以携带数据包,对GPRS专网系统信息查询和业务处理平台进行访问。(8)访问后关闭链路。
下面基于上述流程,并结合实际实验操作,详解可能用到的AT指令。
3.1 建立GPRS数据传输的调制指令
系统设计的主要思路是单片机通过发送AT指令控制GPRS模块建立无线信道、完成数据传输。GPRS数据传输的实现主要有两种方式:通过域名解析进行GPRS数据传输。AT指令实现通过IP地址进行GPRS数据传输的调制指令如下:
(1)AT+CSQ查询网络质量。实验中在串口调试助手上返回“+CSQ 31,99”,说明网络质量好。通常,CSQ为24以上就认为网络质量良好。
(2)AT+CPIN?查询SLM是否准备好。实验中返回“+CPIN READY”说明SIM准备就绪。
(3)AT+CGREG?查询是否注册成功。实验中返回“+CGREG:0,5”说明注册成功。
以上3步主要是确认当前网络和模块的状态。
(4)AT+CGDCQNT=1,“IP”,“CMNET”设置APN无线接入点。实验中返回:“OK”,说明接入点设置成功。APN(Access Point Name),即“接入点名称”,是在通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络,用来标识GPRS的业务种类,目前分为两大类:CMWAP/UNIWAP/3GWAP和CMNET/UNINET/3GNET。中国联通2G业务WAP浏览器中使用的APN为“UNIWAP”,3G业务WAP浏览器使用的APN为"3GWAP";中国联通的2G上公网使用的APN为“UNINET”,3G业务上网卡及上公网使用的APN为“3GNET”。中国移动上内网的APN为“CMWAP”,上网卡及上公网使用的APN为“CMNET”。实验中使用移动动感地带,APN设置为“CMWAP”。
(5)AT%ETCPIP=“”,“”进行PPP拨号。实验中返回:“OK”,说明拨号成功。
(6)AT%ETCPIP?查询获得本地IP地址,以用DNS服务器地址。实验返回:+ETCPIP:1,“10.73.11.1”,“211.138.24.71”,“211.138.30.66”。其中“10.73.11.1”是本地IP,“211.138.24.71”,“211.138.30.66”是获得的DNS服务器地址。
(7)AT%IPOPEN=“ICP”,“192.168.1.101”,1234(实验时改成自己的IP和端口号)。
(8)AT%IPSEND=“616263313233”。发送abc123。此处由于使用华为公司GTM900-C无线通信模块,数据以16进制发送,所以发送的是abc123的16进制表示。
(9)AT%IPOPEN?查询链路状态。试验中返回:“TCP”,”211.252.207.107”,1234,1026。AT%IPOPEN之后,要等待直到出现CONNECT或者CONNECTERROR之类的提示信息才能做下一步的操作。
(10)AT%IPCLOSE和AT%IPCLOSE=5关闭连接。实际中必须等待连接成功后才能关闭。
3.2 数传终端的硬件设计
系统中单片机串口利用MAX232完成TTL/CMOS电平转换后与GPRS模块相连接,实现模块初始化和数据收发。同时扩展串口可与GPS接收机或其他嵌入式系统相连进行数据处理与交换。MCU选用Atmel公司的AT89S51;GPRS模块选用华为公司GTM900-C无线通信模块。
3.3 数传终端的软件实现
系统软件设计的核心部分是单片机与GPRS模块的通信,两者间需定义通信协议、规定帧格式,通过AT指令实现GPRS网络的附着、PDP激活、Internet的接入及数传。系统程序设计采用模块化设计思想,主要分为系统初始化模块、建立连接模块、数据传输模块、断开连接模块4部分。
3.3.1 初始化及通信协议
通信协议功能:实现GPS模块、蓝牙模块、GPRS模块与单片机间的通信。此处信息由GPS、蓝牙采集,经过单片机处理后经GPRS网络发送。
帧格式说明:1,帧头。0xff,一帧的起始位置。2,帧类型。0x01,代表命令帧;0x02,代表数据帧。3,区别码。0x11:模块发送信息给单片机;0x12:单片机发送信息给模块。4,设备号。0x20:单片机;0x21:GPS模块;0x22:蓝牙模块;0x23:GPRS模块。5,内容长度。
0x(xx),xx为适当的值。6,命令类型。0x31:读取目标设备的当前状态;0x32:读取目标设备的数据。7,内容。在不使用它的命令格式中,它的值无意义,为通信方便,在不使用它的命令格式中,规定其值为0x00。8,校验码。从第一个字节开始到Xor的前一字节,共N-1 Byte,作异或运算。
3.3.2 建立连接
为方便程序设计,将建立连接所需的AT命令以字符串形式存放于AT命令缓存区,所需多条AT指令长度不一且发送顺序不可改变,为有效控制每条AT指令、提高CPU利用率需将AT指令缓存区设置为指针数组形式,在建立连接时通过循环调用字符串发送函数将AT命令发送,相邻AT命令间需要2~3 s的延时,每发送完一条AT命令调用一个3 s的延时子程序,然后通过串口中断接收函数接收AT命令返回值来判断连接是否成功。注意,AT命令均以回车符作为结束标志,并以字符串形式传送,因此在定义AT命令缓存区时应注意转义字符的使用。
3.3.3 数据传输
在与上位机连接成功后,通过字符串发送函数发送数据缓存区中的数据,数据缓存区仍需设置为指针数组形式,发送数据的原理与建立连接时的基本相同,但数据的接收是通过串口中断接收函数完成的,同时将接收到的数据必须先放入接收缓存区以便作显示处理。需要指出的是,串口中断程序既要接收指令返回值又要接收上位机传来的数据,这两种接收信息的处理方式不同,所以在中断函数中应通过设置两个不同的标志来解决这一问题。
3.3.4 断开连接
数据链路的释放可通过发送数据结束标志“+++”实现,但必须延时一定时间后再发送断开连接指令:AT#CONNECTIONST;AT+OGATT=0。
4 综合信息处理平台的设计
综合信息处理平台,包括网络通信模块,历史记录分析模块、Web登录管理界面模块,该Web登录管理界面模块,用于登录管理公交车查询系统的综合信息处理平台,该网络通信模块用于接收移动通信终端传输的实时公交车信息,并将其数据传输至历史记录分析模块进行存储和分析,待用户登录查看。综合信息处理平台结构框图如图3所示。
系统中,综合信息处理平台当接收到网络通信模块发来的公交车数据时,首先对数据进行分类,统计和储存,当有用户通过Web界面连接到平台之后,新建立一个子线程为其服务,之后接收到用户传输过来的查询数据,按照协议对数据进行分类、统计和分析,并将结果反馈给用户。
5 结束语
系统完成了一个基于物联网的公交车信息查询系统,很好地利用了物联网的采集处理发送信息等相关理念,是一款使用简单、操作方便、查询速度快、目标车辆明确的信息查询系统。系统基于物联网是信息科学技术领域内的新兴研究方向,既是对物联网技术的探索和应用,又是对实际问题的解决。