基于GPRS的出租车监控调度系统方案

发布者:a407895356最新更新时间:2012-06-05 来源: 21ic 关键字:GPRS  监控调度  S3C2410 手机看文章 扫描二维码
随时随地手机看文章

  1  引言

  在车辆定位系统中,GPS 系统是目前世界上应用得最为广泛的,其功能作用已广为人所接受。它能为用户提供全球、全天候、高精度、连续实时的导航、定位和授时。

  随着移动 GPRS 业务的开展,GPRS 在无线传输中已经成为一种成熟可靠的传输方式。

  GPRS 网本身支持TCP/IP、X.25 等协议,可以直接与IP 网或X.25 网互通,实现GPRS 终端的上网功能。它可以保证永远在线,而且是按照流量记费,不传输数据时不计费,同时中国移动公司的众多基站和可靠的频段信号能够保证信息传输及时、无误。

  2  系统总体结构和实现功能介绍

  本系统基于 GPS/GPRS 进行设计,主要以出租车公司为服务对象,总体结构如图1:

图1 系统总体结构

  主要实现的功能为:

  出租车终端利用 GPS 模块实时地接收其定位、速度、时间等信息,然后通过GPRS 模块将这些信息上传至监控中心,在遇到紧急情况时,向监控中心发出求救警报。

  监控中心将接收到的信息写入数据库,对车辆的位置、速度进行实时的监控,必要时发出警告信息,处理客户预订业务时向出租车发送调度信息。

  3  整体系统的设计

  本系统的设计主要由三部分组成:出租车终端软硬件设计、监控中心软件设计以及车载终端和监控中心通信程序设计。

  3.1 出租车终端的软硬件设计

  3.1.1 出租车终端的硬件设计

  该终端硬件部分主要由主控芯片、GPRS 模块、GPS 模块组成。

  主控芯片选用三星公司生产的 S3C2410 处理器,该处理器采用ARM920T 内核,S3C2410外围电路包含电源模块、64M SDRAM、64M FLASH、RS232 串行口、USB 接口、4×4 键盘接口模块、LCD 模块等。

  GPS 模块选用的是Compass Systems 公司生产的GM611 滑鼠型GPS 卫星接收机,它具有超高灵敏度、超低功耗和超小体积的特点,而且带强力磁性,拥有严格的防水设计,可将其直接吸附于车顶使用,2D 定位精度小于10 米。该GPS 模块与主板的串口1 连接,上电后以每秒钟一次的频率将定位信息传送给处理器。

  GPRS 模块选用的是WAVECOM 公司生产的WISMO QUIK Q2406A 模块,它是GSM/GPRS 900/1800 双频模块,与标准的AT 指令兼容。它与S3C2410 主板的串口2 连接,实现GPRS 拨号上网。

  3.1.2 出租车终端的软件设计

  该终端的软件设计主要包含两个部分:GPS 定位信息的接收和GPRS 拨号上网的实现。

  由于终端移植了嵌入式Linux(内核版本为2.6.16),它提供丰富的设备支持和成熟的系统管理能力,因而大大地简化了软件的开发过程。

  (1)GPS 定位信息接收的实现

  该过程主要通过 Linux 串口通信编程来实现,在实现过程中的关键处理部分是:串口属性设置以及对接收到的GPS 信息的解析。

  由于 GPS 模块输出的每帧数据都是以换行符结束,所以在设置串口属性的时候可将其模式设为规范(Canonical)模式,即每次读取串口时先将数据保存到缓存,直到读到换行符时所有数据才会被传输,这样就能保证每次读取的是整帧数据,方便之后的帧头判断和信息解析。接下来还要根据GPS 模块的默认参数配置串口传输速率为4800bps,8 位数据位,1 位停止位,无校验位,串口属性就设置完毕了。

  GPS 模块的输出帧遵循NMEA0183 标准,具有多种格式,主要由帧头进行标志,包括$GPGGA、$GPGLL、$GPGSA、 $GPGSV、$GPGMC、$GPVTG 六种帧,分别描述不同信息,一般来说$GPRMC 帧就可以提供我们所关心的数据,如经纬度、速度、时间等,所以只需对该帧信息进行提取。$GPRMC 帧的格式如图2:

图2 GPRMC 帧的格式

  在每次读取的时候首先需要对帧头进行判断是否是$GPRMC 帧,然后再根据帧中的逗号位置,对该帧数据进行解析,提取所需的定位、速度和时间信息。

  (2)GPRS 拨号上网的实现

  该部分是整个系统的关键,是实现出租车终端和监控中心进行无线通信的基础,该过程主要依靠PPP(点到点协议)来实现,它可以实现在串行链路上创建和运行IP 协议。[page]

   为了能够实现PPP 连接,首先需要配置内核使其支持PPP,然后通过交叉编译生成ARM平台下的pppd 和chat 应用程序。PPP 连接的建立和维持需要由pppd 和内核中的PPP 驱动程序配合完成。chat 程序主要用于和GPRS 模块进行交互,完成拨号和各项配置。执行pppd的时候将首先调用chat 程序进行拨号连接,PPP 链路的建立流程如图3:

图3 PPP 链路建立流程

  首先执行 chat 程序对中国移动的接入号码进行拨号,建立与PPP 服务器端的物理连接,然后进行LCP 链路的协商,主要协商一些链路参数(数据帧格式、最大传输单元等),协商成功后将建立与PPP 服务器端的数据链路,接着向PPP 服务器端提供用户和口令进行PAP验证,在未通过验证之前是不能进行任何数据传输的,最后,进行IPCP 协商,主要进行IP地址的协商,协商成功后,出租车终端将获得GGSN(GPRS 网关)为其动态分配的IP 地址。PPP 链路就建立完成了,之后出租车终端就相当于公网上的一台主机,可以自由地与Internet 的其他主机进行数据交互了。

  3.2 监控中心的软件设计

  监控中心是位于出租车公司的控制中心,它与公司服务器进行局域网连接如图1,服务器具有固定公网(Internet)IP 地址,而监控中心的IP 地址为局域网IP,公网上的主机(出租车终端)是不能通过该IP 来访问监控中心的,要想实现这个过程,必须在公司服务器设置端口映射,端口映射的原理是将拥有固定IP 地址的服务器端口映射到处于局域网的某台主机端口上,如图4:

图4 端口映射示意

  上图中,将服务器的1111 端口映射到局域网内监控中心的2222 端口,这样外网主机发往服务器1111 端口的数据都将被重定向到监控中心的2222 端口,监控中心只要开放并监听该端口,即可获得相关数据。

  监控中心主机采用 Debian Linux 操作系统,Debian 是一套为计算机设计的自由操作系统,它包含一万五千多个软件包,都是自由开源的,并被包装成容易安装的deb 格式,Debian是一款功能强大的Linux 操作系统。

  监控中心的软件设计主要完成以下两个任务:接收出租车终端发送过来的信息并写入数据库;设计图形管理软件,方便各项功能的实现。

  (1)接收出租车终端发送过来的定位信息并写入数据库

  设计一个守护(Daemon)进程,它可以实现在操作系统启动后一直在后台运行,不受控制终端的控制,该进程主要用于监听本监控中心的指定端口,接收由出租车终端发送过来的定位、速度和时间信息,然后将所有信息写入POSTGRESQL8.0 数据库[4]。POSTGRESQL数据库是世界上可以获得开放源码的最先进的数据库系统,支持几乎所有 SQL 构件(包括子查询,事务和用户定义类型和函数),并且为多种开发语言提供接口(包括 C,C++,Java 等)。

  Linux 系统下采用C 语言对该数据库进行操作,主要用到以下三个函数:

  PQconnectdb(“dbname=psql_data”)用于打开名为psql_data 的POSTGRESQL 数据库;PQexec(PQconnectdb(),sql_query)用于对打开的数据库执行各种SQL 语句;PQfinish()用于关闭打开的数据库。

  (2)图形管理软件设计

  监控中心采用 GTK+2.0 进行图形管理软件的开发,GTK+2.0 采用面向对象的C 语言开发框架,尽管完全用 C 写成的,但它是基于类和回调函数的思想实现的,应用它可以轻松的在Linux 系统平台的X WINDOW 环境下开发出漂亮的图形界面应用程序。

  该管理软件采用双线程编程,实现的功能如图5:

图5 监控中心软件功能

  POSTGRESQL 数据库中保存的信息是各项功能实现的基础。由于GTK+2.0 开发可以完全使用C 语言来实现,所以在一个GTK+2.0 程序中可以很方便的进行POSTGRESQL 数据库的各项操作。需要注意的是在使用GTK+2.0 开发中文软件的时候要将输入字符设置为utf-8 的格式,否则软件不能正常显示中文字。

  3.3 车载终端和监控中心通信程序设计

  出租车终端已获得 IP 实现拨号上网,监控中心也进行了服务器端的端口映射,两者都成为了连上Internet 的主机,接下来就可以通过Socket(嵌套字)实现两主机进程间的通信。

  在网络通信过程中,各主机的进程是由与其绑定的端口号来进行区分的。

  出租车终端和监控中心采用 client 和server 模型,因为数据发送比较频繁,所以使用UDP 协议进行数据包的传输,以提高传输速率。首先由车载终端进程创建一个Socket,接着向监控中心指定端口发起连接请求。监控中心进程也创建一个Socket,并将其绑定到该指定端口,接着对该端口进行监听,一旦检测到连接请求,随即调用connect 函数建立该连接,从而在两主机上的Socket 之间建立连接,之后双方进程之间就可以通过send()和recv()函数进行数据的发送和接收操作了。

  4  结论

  本文提出了一套完整的出租车监控调度系统设计方案,充分利用了 GPS 精确的定位能力和GPRS 稳定、高速的无线数据传输能力。在经过实际调试应用后,系统运行稳定。再加上本系统软件部分都是在Linux 操作系统下实现,使得系统开发成本大大降低,如果在车载终端硬件设计时能够进行针对性的优化配置,将使得成本进一步降低。另外,在本系统的基础上扩展其他功能也是很方便的,如在车载终端引入电子地图的导航功能,以及监控中心引入路况报告功能等。随着GPS定位能力的进一步提高和3G时代带来的移动通信速率的提升,相信本系统将拥有更为广阔的应用前景。

关键字:GPRS  监控调度  S3C2410 引用地址:基于GPRS的出租车监控调度系统方案

上一篇:基于GSM网络的RFID汽车防盗系统设计
下一篇:基于加速度的车祸报警系统的设计与实现

推荐阅读最新更新时间:2024-03-16 13:01

基于GPRS的物联网终端的污水处理厂网络控制系统
1 引 言     在传统污水处理工业中,一直存在着监测节点分散,有线网络数据传输有限?污水处理作为工业生产的附加产业,为提高生产效益,降低工程费用,实现远程监控、少人甚至无人监管具有重要的意义。将网络覆盖范围更广、网络连接更方便的GPRS技术应用到污水处理监控系统,与工业现场的传感器相融合,从根本上解决原有问题,实现工业现场的远程实时监控。 2 GPRS 技术简介     GPRS(General Packet Radio Service),通用无线分组业务,是一种基于GSM系统的无线分组交换技术,提供端到端的、广域的无线IP连接?通俗地讲,GPRS是一项高速数据处理的技术,方法是以“分组”的形式将资料到传送用户手上。
[嵌入式]
S3C2410 -- UART
自动流控模式 S3C2410的UART0和UART1都可以通过各自的nRTS和nCTS信号来实现自动流控。 在自动流控(AFC)模式下nRTS取决于接收端的状态,而nCTS控制了发送断的操作。具体地说:只有当nCTS有效时(表明接收方的FIFO已经准备就绪来接收资料了),UART才会将FIFO中的资料发送出去。在UART接收资料之前,只要当接收FIFO有至少2-byte空余的时候,nRTS就会被置为有效。图5-12是UART 自动流控模式的连接方式 图5-12 中断/DMA请求产生 S3C2410的每个UART都有7种状态,分别是:溢出覆盖(Overrun)错误、奇偶校验错误、帧出错、断线错误、接收就绪、发送缓冲空闲、发
[单片机]
<font color='red'>S3C2410</font> -- UART
ARM处理器结合GPRS模块设计M2M终端的总体设计方案
引言 目前,对输油管道、电力装置、油井等进行远程监控主要采用人工巡逻的方式,这种方式存在实时性差、成本高、浪费人力资源、无法对环境恶劣的地区进行监控、可能出现误报等缺点。随着工业领域现代化水平的提高和通信技术的发展,这种生产方式亟待得到改善。 M2M 是指应用无线移动通信技术,实现机器与机器、机器与人之间数据通信和交流的一系列技术及其组合的总称。 GPRS 具有覆盖地域广、通信距离远、网络可靠性高等优点。随着 GPRS 的推广和应用,以及基于 GPRS 的 M2M 产品的推出,采用 GPRS 技术来解决上述问题成为一种较好的方案。 嵌入式系统是当前国内外研究的热点之一。采用嵌入式系统技术设计一种可以解决远程监控领域数
[单片机]
ARM处理器结合<font color='red'>GPRS</font>模块设计M2M终端的总体设计方案
基于Linux和S3C2410的嵌入式图象传输系统设计
1 引言 如何更好的获得监控现场的图象数据一直是棘手的一个问题,传统的方法是采用CCD摄象机获取现场的视频信息,这种方法易于实现,但成本较高。随着ARM系列处理器应用的越来越广和基于linux的嵌入式技术的迅速发展,利用linux自身带有的TCP/IP协议来实现远程监控、图象传输已成为可能。本文提出的正是一种这样的方法,利用市场上很常见的中星微系列的USB摄象头来得到现场的图象数据,利用linux内核中的Video4Linux编程接口函数采集图象,并把得到的图象通过Internet传输到上位机PC上,在PC上实现图象的保存和显示。 2 硬件系统设计原理 系统的硬件功能框图如图1所示,CPU采用的是三星公司的S3C2410。该
[嵌入式]
GPRS_ZigBee技术的公交车智能监控系统
  引言   在如今的现代生活中,公交车是城市交通中最重要的部分,其运行效率与服务质量很大程度上影响城市交通状况和市民的出行状况。衡量运行效率和服务质量的重要标准是公交车能否准点到达各站和人们能否知道自己等待的公交车运行情况。   目前,除始发站和终点站外,中间的众多站无法保证公交车准点;依靠驾驶员按键操作报站,难免出现错误而误导乘客;候车人不知道等待的公交车运行状况。为此,本文开发了一种基于GPRS和ZigBee的公交车运行监控系统,以期能较好的解决这些问题。   1 系统整体设计   该系统由公交车监控中心、公交车站台的站台监测器和公交车上的智能无线终端(以下简称监控中心、监测器和无线终端)组成,如图1所示。无线终端通
[单片机]
<font color='red'>GPRS</font>_ZigBee技术的公交车智能<font color='red'>监控</font>系统
skyeye模拟s3c2410 linux下程序
在前面的基础上,下面开始利用skyeye自带的testsuites中的资源来运行自己的程序的方法 1.首先是下载下载skyeye-1.2.5_REL.tar.gz,然后解压该文件 2.使用skyeye模拟板子s3c2410运行某个linux 首先进入解压完的目录,然后 cd ./linux/s3c2410/s3c2410x-2.6.14 skyeye –c skyeye.conf –e vmlinux 注意的是skyeye的版本问题,我是用的是skyeye-1.2.6的,其他版本可能不能够使用。 然后出现 Welcome to ......(arm linux) ARMLinux for Skyeye 3.编写hello.
[单片机]
基于ARM和GPRS的远程监测终端设计
随着现代生产科技水平的发展,对监测技术的要求越来越高,形式趋于多样化。在无人值守的变电站、水文站、气象站等野外监测或是在交通运输等行业中,因分布比较分散、环境恶劣,地点不固定,不便于用传统方法实现集中控制和实时监测并且有线网络的架设受到种种限制。在这些场合采用基于GPRS的无线网络通信技术,具有无可比拟的优势。将嵌入式应用系统与无线通信技术结合在一起是未来嵌入式应用的必然趋势。GPRS(General Packet Radio Service),即通用无线分组业务。 GPRS技术应用于远程数据传输系统,具有以下几个特点:1)永远在线,接入速度快。分组交换接入时间少于1秒,可使远程数据传输的效率大大提高:2)采用数据流量的计费
[单片机]
基于ARM和<font color='red'>GPRS</font>的远程监测终端设计
智能电力负荷控制与监测系统设计
   0 引言   通过智能电力负荷控制与监测系统可对智能配电设备的数字化信息进行采集和处理,实现配电站少人或无人值守,为制定电力系统规划设计和电力生产计划提供决策依据。本文着重给出了一种新型的电力负荷控制与监测系统的设计方法。该方法在性能可靠、高精度、低功耗、小体积的基础上,更能适应负荷管理、电能分析、电量集抄、多种控制方式、优化用电分析等功能需要,可满足电力负荷侧管理的各种应用需求。    l 系统工作原理   图1所示是本系统的工作原理框图。本系统采用适合于嵌入式系统设计的LPC2132FBD64作为主处理器;接口电路主要完成对脉冲量、开关量及模拟量的采集,主处理电路负责对其进行运算,以形成各种功率,电量,电表读数、需
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved