基于GPRS网络的GPS图形导航仪(上)
图2
本导航终端主要的功能如下: 终端用户进行当前所在地理位置的查询; 当获得了当前的地理位置信息后,在TFT液晶屏上显示出对应的地图区域; 导航终端可对指定了网络服务器发送自身的相关信息,如地理位置、自身状态等; 导航终端通过接收网络服务器发送的控制命令进行相应的控制; 终端用户可以通过GPRS模块拨打电话。 系统的工作原理如下:
导航终端的核心控制部分是基于ARM7内核的AT91SAM7S64微控制器,其核心是对GPS接收模块的定位数据读取;对GPRS模块的控制,包括连接Internet、向网络监控服务器发送数据和读取服务器发送过来的数据;最后是针对Flash存储体的控制,通过对当前获得的地理位置信息,读取存储在Flash存储体中所存储的地图的对应部分,然后在TFT彩色液晶屏上显示出来。
其中,控制器对GPRS模块的控制是通过串行口UART0实现的,通过发送对应的AT命令实现对G20模块的控制,如连接Internet、向服务器发送信息和接收数据、拨打电话等。关键命令如下:
at+mipCAll=1,cmnet//建立一个无线GPRS链接
+MIPCALL:10.103.201.135
//返回本地IP地址(注:当GPRS模块拨号上网后,会获得一个服务器提供的唯一IP,这里以10.103.201.135为例)
at+mipopen=1,2000,"10.103.67.30",3000,1
//打开一个SOCKET,本地端口为2000,目标IP地址为
//"10.103.67.30"
OK
+MIPOPEN:1,1//返回目标端口为3000,协议类型为UDP
at+mipsend=1,"41424344"//向服务器发送"ABCD"4个字母,这里以发送"ABCD"字//符为例,来代替所要发送的数据
+MIPSEND:1,1367
OK//发送成功
at+mippush=1//准备接收数据
+MIPPUSH:0
OK//接收数据成功
+MIPRUDP:211.139.189.180,47280,1,5,5152535455//接收到服务器发送来的数据"QRSTU"字符
对GPS模块的数据接收是通过串行口UART1实现的,通过设定GPS模块指定的波特率从模块的串行口获得定位数据。GPS通用的命令格式是NMEA0183,而最需要的关键信息是其中的一组定位信息。如果此时GPS接收机和卫星的通信正常,则可以接收到的定位信息的那组数据格式如下:
$GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6E
数据说明如下:
$GPRMC代表GPS推荐的最短数据;
204700UTC_TIME代表24小时制的标准时间,按照小时/分钟/秒的格式;
AA或者VA表示数据"OK",V表示一个警告;3403.868LAT纬度值,精确到小数点前4位,后3位NLAT_DIRN表示北纬,S表示南纬;
11709.432LON经度值,精确到小数点前5位,后3位WLON_DIRW表示西经,E表示东经。
如果当前没有和卫星取得联系,那么字符串的格式为:
$GPRMC,UTC_TIME,V,...
下面是一个例子:
$GPRMC,204149,V,,,,,,,170698,,*3A
由于这里仅仅需要接收的信息为定位信息,即GPS推荐的最短数据,所以在接收GPS模块的数据时,只需要判断每行数据开头的关键字是否为"$GPRMC",如是,则接收下来。
最后是针对Flash存储体和TFT彩色液晶屏的控制。这里,CPU使用普通的SPI高速串行总线来驱动Flash存储体。可以从当地的勘测部门获得普通精度的数字彩色经纬地图,并将其存储到Flash存储体中,而用普通的I/O引脚来驱动TFT彩色液晶屏,将从GPS模块里获得的定位信息进行分析,然后通过处理,再在LCD上面显示Flash存储体中所存储的地图的对应部分。
- 基于GPRS网络的GPS图形导航仪(下)(01-08)
- 无线车辆管理调度系统的设计与实现(07-07)
- 车辆定位监控系统移动终端的设计(10-02)
- 基于GPS 和GPRS 的多功能汽车记录仪的设计(11-02)
- GPRS_ZigBee技术的公交车智能监控系统(06-14)
- 基于GPS&GPRS车辆实时监控系统的设计(08-21)