蓋憲坤
摘 要:當(dāng)前,在公交系統(tǒng)中利用GPS實(shí)現(xiàn)自動(dòng)語(yǔ)音報(bào)站已經(jīng)比較常見,但是將GPS定位功能結(jié)合車載移動(dòng)電視,從而實(shí)現(xiàn)可視化的視頻報(bào)站和定點(diǎn)圖片廣告還鮮有耳聞。本文結(jié)合我公司自研的公交機(jī)頂盒,闡述了基于GPS定位的視頻報(bào)站和定點(diǎn)圖片廣告系統(tǒng)軟件設(shè)計(jì)思想及實(shí)現(xiàn),該設(shè)計(jì)提高了我們產(chǎn)品的附加值和技術(shù)含量,為我們的廣電客戶的廣告推廣提供了新的思路。
關(guān)鍵詞:公交機(jī)頂盒;GPS定位;視頻報(bào)站;定點(diǎn)圖片廣告
1.引言
GPS是全球定位系統(tǒng)(Global Positioning System)的縮寫形式,它是一種基于衛(wèi)星的定位系統(tǒng),用于獲得地理位置信息以及準(zhǔn)確的通用協(xié)調(diào)時(shí)間。該系統(tǒng)由美國(guó)政府放置在軌道中的24顆衛(wèi)星組成。GPS可提供精確度在10米之內(nèi)的導(dǎo)航。它可在任何天氣條件下、全球任何地方工作。GPS系統(tǒng)包括三大部分:空間部分---GPS衛(wèi)星;地面控制部分---地面監(jiān)控系統(tǒng);用戶設(shè)備部分---GPS信號(hào)接收機(jī)。普通的GPS用戶只要有GPS信號(hào)接收機(jī)就可以接收到包括經(jīng)度、緯度、時(shí)間、速度等信息。
2.設(shè)計(jì)思想
本款機(jī)頂盒在播放移動(dòng)電視視頻的基礎(chǔ)上,具備自動(dòng)播報(bào)站名的功能,可以顯示即將到達(dá)站的一些簡(jiǎn)單介紹,能夠顯示一些宣傳文字和廣告圖片,以及一些重要信息的即時(shí)滾動(dòng)宣傳發(fā)布功能。一般情況下,機(jī)頂盒正常全屏幕播放電視視頻,當(dāng)即將進(jìn)入公交站點(diǎn)的時(shí)候,依靠GPS的定位功能觸發(fā)視頻報(bào)站及廣告圖片的顯示,此時(shí),視頻畫面被暫時(shí)的縮小,三十秒后,視頻報(bào)站及圖片廣告結(jié)束,視頻恢復(fù)為全屏幕。具體界面見圖1。
為了方便廣告圖片和公交站點(diǎn)GPS坐標(biāo)的更換,這些信息將被存儲(chǔ)在外接SD卡中,我們?cè)械墓粰C(jī)頂盒留有USB接口,在硬件設(shè)計(jì)時(shí),需要將SD卡轉(zhuǎn)成USB接口。另外,GPS模塊和機(jī)頂盒之間的通信方式為串行接口。因此,公交機(jī)頂盒和外掛的GPS模塊盒子主要有兩個(gè)接口:USB接口和串行接口。
3.軟件設(shè)計(jì)
3.1 SD卡中文本文件的解析
SD卡中主要存儲(chǔ)各個(gè)公交站點(diǎn)的GPS坐標(biāo)信息以及該站點(diǎn)對(duì)應(yīng)的廣告圖片。廣告圖片的格式一律為bmp格式,并且bmp文件名的長(zhǎng)度最長(zhǎng)為五個(gè)英文或者數(shù)字字符。為了方便解析文本文件,規(guī)定該配置文件必須以”//end”為結(jié)尾,注釋從英文的”//”開始,可用漢字。
例:{38508230,121307860,"1.bmp"},//七賢嶺
這行文本的含義是七賢嶺站的緯度為3850.8230,經(jīng)度為12130.7860,該站點(diǎn)對(duì)應(yīng)的廣告圖片為1.bmp。在程序中用數(shù)據(jù)結(jié)構(gòu)
structGPS_Point
{
unsignedlongsLatitude;
unsignedlongsLongitude;
charsBmpFileName[BmpFileNameLen];
}GPS_Point;
來(lái)存儲(chǔ)每個(gè)站點(diǎn)的坐標(biāo)信息以及對(duì)應(yīng)的廣告圖片文件名。在機(jī)頂盒上電的時(shí)候,從SD卡中讀取配置文本文件,并逐行解析,形成一個(gè)GPS_Point數(shù)組,為下面的定點(diǎn)視頻報(bào)站做好準(zhǔn)備。
3.2機(jī)頂盒與GPS模塊之間通信協(xié)議解析
GPS的通訊協(xié)議比較多,其中NMEA(National Ma2rine Electronics Association),0183協(xié)議為GPS接收機(jī)和其他航海電子產(chǎn)品的導(dǎo)航數(shù)據(jù)輸出格式,是目前普遍使用且為大多數(shù)生產(chǎn)商遵循的協(xié)議之一。在本應(yīng)用中,我們只關(guān)心公交車當(dāng)前的經(jīng)緯度信息,因此不需要用到NMEA的全部信息,而只需解析GPS推薦的最短數(shù)據(jù)$GPRMC即可。該語(yǔ)句的基本格式如下:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
下面先以一個(gè)具體的例子來(lái)分析該語(yǔ)句各個(gè)字段的含義:
$GPRMC,055142,A,3603.3291,N,10346.3723,E,0.0,230.4,250503,1.3,W,A*02
其中數(shù)據(jù)分別為:
$GPRMC 串頭,其中RMC表示該語(yǔ)句為定位語(yǔ)句
055142 表示UTC24小時(shí)制的標(biāo)準(zhǔn)時(shí)間,格式為“時(shí)時(shí)/分分/秒秒”。
A或V 表示信號(hào)接收狀態(tài),其中A表示數(shù)據(jù)OK,V表示一個(gè)警告
3603.3291 表示緯度值,格式為“ddmm.mmmm”
N或S 標(biāo)明南北半球,N為北半球(北緯)、S為南半球(南緯)
10346.3723 表示經(jīng)度值,格式為“dddmm.mmmm”
E或W 標(biāo)明東西半球,E為東半球(東經(jīng))、W為西半球(西經(jīng))
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=數(shù)據(jù)無(wú)效)
*02 校驗(yàn)值
視頻化的自動(dòng)報(bào)站所依據(jù)的便是GPS模塊傳來(lái)的經(jīng)緯度信息。公交機(jī)頂盒與GPS模塊通過(guò)串口進(jìn)行物理連接,GPS模塊發(fā)出的信息遵從NMEA協(xié)議。每隔一秒鐘,GPS模塊將以9600的波特率發(fā)出GPRMC定位語(yǔ)句,給出當(dāng)前車輛的實(shí)時(shí)經(jīng)緯度坐標(biāo)信息。我們?cè)跈C(jī)頂盒的底層串口驅(qū)動(dòng)中,加入了NMEA協(xié)議解析任務(wù),該任務(wù)主要處理串口接收到的GPS信息,從各種各樣的信息中解析出當(dāng)前的經(jīng)緯度坐標(biāo),當(dāng)當(dāng)前的經(jīng)緯度坐標(biāo)落入預(yù)先設(shè)置的站點(diǎn)的坐標(biāo)范圍時(shí),我們認(rèn)為公交車到達(dá)該站,通過(guò)向上層OSD發(fā)出到達(dá)該站信息,在OSD層上實(shí)現(xiàn)了可視化的視頻報(bào)站。在軟件設(shè)計(jì)中,我們需要從該語(yǔ)句中解析出信號(hào)的接收狀態(tài)(即字段2)以及當(dāng)前車輛的經(jīng)緯度坐標(biāo)(字段3和5),得到有效的經(jīng)緯度坐標(biāo)后,將它們和上面得到的GPS_Point數(shù)組中的經(jīng)緯度坐標(biāo)逐一比較,當(dāng)滿足一定閾值時(shí),認(rèn)為到達(dá)某個(gè)站點(diǎn),我們調(diào)出包含該站點(diǎn)各種提示信息和廣告圖片,顯示30秒左右后,廣告圖片自動(dòng)消失,恢復(fù)全屏幕視頻。當(dāng)?shù)玫揭粭l完整的GPRMC語(yǔ)句時(shí),其解析和對(duì)比的流程如圖2。
參考文獻(xiàn):
[1]王建宏,GPS串口編程應(yīng)用,微機(jī)發(fā)展,2003年11月