APP下载

基于GPS的视频报站公交机顶盒设计

2015-10-21盖宪坤

企业文化·下旬刊 2015年3期
关键词:GPS定位

盖宪坤

摘 要:当前,在公交系统中利用GPS实现自动语音报站已经比较常见,但是将GPS定位功能结合车载移动电视,从而实现可视化的视频报站和定点图片广告还鲜有耳闻。本文结合我公司自研的公交机顶盒,阐述了基于GPS定位的视频报站和定点图片广告系统软件设计思想及实现,该设计提高了我们产品的附加值和技术含量,为我们的广电客户的广告推广提供了新的思路。

关键词:公交机顶盒;GPS定位;视频报站;定点图片广告

1.引言

GPS是全球定位系统(Global Positioning System)的缩写形式,它是一种基于卫星的定位系统,用于获得地理位置信息以及准确的通用协调时间。该系统由美国政府放置在轨道中的24颗卫星组成。GPS可提供精確度在10米之内的导航。它可在任何天气条件下、全球任何地方工作。GPS系统包括三大部分:空间部分---GPS卫星;地面控制部分---地面监控系统;用户设备部分---GPS信号接收机。普通的GPS用户只要有GPS信号接收机就可以接收到包括经度、纬度、时间、速度等信息。

2.设计思想

本款机顶盒在播放移动电视视频的基础上,具备自动播报站名的功能,可以显示即将到达站的一些简单介绍,能够显示一些宣传文字和广告图片,以及一些重要信息的即时滚动宣传发布功能。一般情况下,机顶盒正常全屏幕播放电视视频,当即将进入公交站点的时候,依靠GPS的定位功能触发视频报站及广告图片的显示,此时,视频画面被暂时的缩小,三十秒后,视频报站及图片广告结束,视频恢复为全屏幕。具体界面见图1。

为了方便广告图片和公交站点GPS坐标的更换,这些信息将被存储在外接SD卡中,我们原有的公交机顶盒留有USB接口,在硬件设计时,需要将SD卡转成USB接口。另外,GPS模块和机顶盒之间的通信方式为串行接口。因此,公交机顶盒和外挂的GPS模块盒子主要有两个接口:USB接口和串行接口。

3.软件设计

3.1 SD卡中文本文件的解析

SD卡中主要存储各个公交站点的GPS坐标信息以及该站点对应的广告图片。广告图片的格式一律为bmp格式,并且bmp文件名的长度最长为五个英文或者数字字符。为了方便解析文本文件,规定该配置文件必须以”//end”为结尾,注释从英文的”//”开始,可用汉字。

例:{38508230,121307860,"1.bmp"},//七贤岭

这行文本的含义是七贤岭站的纬度为3850.8230,经度为12130.7860,该站点对应的广告图片为1.bmp。在程序中用数据结构

structGPS_Point

{

unsignedlongsLatitude;

unsignedlongsLongitude;

charsBmpFileName[BmpFileNameLen];

}GPS_Point;

来存储每个站点的坐标信息以及对应的广告图片文件名。在机顶盒上电的时候,从SD卡中读取配置文本文件,并逐行解析,形成一个GPS_Point数组,为下面的定点视频报站做好准备。

3.2机顶盒与GPS模块之间通信协议解析

GPS的通讯协议比较多,其中NMEA(National Ma2rine Electronics Association),0183协议为GPS接收机和其他航海电子产品的导航数据输出格式,是目前普遍使用且为大多数生产商遵循的协议之一。在本应用中,我们只关心公交车当前的经纬度信息,因此不需要用到NMEA的全部信息,而只需解析GPS推荐的最短数据$GPRMC即可。该语句的基本格式如下:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh

下面先以一个具体的例子来分析该语句各个字段的含义:

$GPRMC,055142,A,3603.3291,N,10346.3723,E,0.0,230.4,250503,1.3,W,A*02

其中数据分别为:

$GPRMC 串头,其中RMC表示该语句为定位语句

055142 表示UTC24小时制的标准时间,格式为“时时/分分/秒秒”。

A或V 表示信号接收状态,其中A表示数据OK,V表示一个警告

3603.3291 表示纬度值,格式为“ddmm.mmmm”

N或S 标明南北半球,N为北半球(北纬)、S为南半球(南纬)

10346.3723 表示经度值,格式为“dddmm.mmmm”

E或W 标明东西半球,E为东半球(东经)、W为西半球(西经)

0.0 表示速度,(这里速度为0)

230.4 方位角,范围为000.0到359.9度

250503 为UTC的日期,格式为“日日/月月/年年”

1.3 地磁变化(磁偏角),从000.0到180.0度

W 地磁变化方向,为E或W

A 模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)

*02 校验值

视频化的自动报站所依据的便是GPS模块传来的经纬度信息。公交机顶盒与GPS模块通过串口进行物理连接,GPS模块发出的信息遵从NMEA协议。每隔一秒钟,GPS模块将以9600的波特率发出GPRMC定位语句,给出当前车辆的实时经纬度坐标信息。我们在机顶盒的底层串口驱动中,加入了NMEA协议解析任务,该任务主要处理串口接收到的GPS信息,从各种各样的信息中解析出当前的经纬度坐标,当当前的经纬度坐标落入预先设置的站点的坐标范围时,我们认为公交车到达该站,通过向上层OSD发出到达该站信息,在OSD层上实现了可视化的视频报站。在软件设计中,我们需要从该语句中解析出信号的接收状态(即字段2)以及当前车辆的经纬度坐标(字段3和5),得到有效的经纬度坐标后,将它们和上面得到的GPS_Point数组中的经纬度坐标逐一比较,当满足一定阈值时,认为到达某个站点,我们调出包含该站点各种提示信息和广告图片,显示30秒左右后,广告图片自动消失,恢复全屏幕视频。当得到一条完整的GPRMC语句时,其解析和对比的流程如图2。

参考文献:

[1]王建宏,GPS串口编程应用,微机发展,2003年11月

猜你喜欢

GPS定位
基于STM32的儿童管家设计
自行车共享计算机技术如何带来改变
基于微信平台的并行签到考勤管理系统
移动轨迹挖掘算法设计与系统实现
一种基于卡尔曼滤波的动态目标GPS定位算法
基于Android的多维级联定位技术的研究与实现
基于手机的分布式空气粉尘检测系统
烟草精益物流配送管理平台构建
基于安卓系统的手机防盗设计与实现