基于GPS和3G技術(shù)的智能公交終端設計
最后,通過(guò)編寫(xiě)上層應用程序完成圖像采集、GPS信息采集、3G傳輸等功能。下面幾節詳細的介紹了幾個(gè)主要程序的設計思想。
3.1 圖像采集程序
在視頻采集方面,本文采用的攝像頭是網(wǎng)眼V2000,它是一款是以ov511為主控芯片的攝像頭。選用它的原因是由于Linux內核自帶ov511驅動(dòng),所以不用再自己編寫(xiě)攝像頭的驅動(dòng)程序,只需在定制內核的時(shí)候選中即可。為開(kāi)發(fā)節省了時(shí)間。
當Linux系統正常啟動(dòng)后,插上V2000攝像頭,如果成功加載驅動(dòng),將為攝像頭在/dev/v41/目錄下創(chuàng )建設備文件device0,上層應用程序即可通過(guò)此設備文件訪(fǎng)問(wèn)攝像頭,實(shí)現拍攝圖像的功能。嵌入式系統平臺已搭建成功,要實(shí)現實(shí)時(shí)地獲取圖像,就需要利用V4L(Vidio For Linux)編程接口實(shí)現圖像采集程序了。
考慮到攝像頭采集的640x480的RGB圖像數據量較大,這里用圖像壓縮函數put_image_jpeg將圖像轉化為JPEG格式,這樣存儲時(shí)就減少了占用的NandFlash空間,同時(shí)通過(guò)3G網(wǎng)絡(luò )回傳監控中心時(shí),也減少了傳輸費用和確保傳送成功。
3.2 GPS解析程序
GPS接收機HOLUX的GR-87模塊輸出數據格式符合NMEA.183標準。NMEA.0183協(xié)議是由美國國家海洋電子協(xié)會(huì )制定的一種串行通信的數據協(xié)議,所有輸入輸出信息均為一行ASCII字符。它的一條消息稱(chēng)為語(yǔ)句(Sentence),每條語(yǔ)句都以“$”開(kāi)始,以回車(chē)換行符()結束,中間是用逗號分隔的若干個(gè)域。
由于此GPS模塊設置信息掉電丟失,在每次系統啟動(dòng)時(shí)均要對該GPS模塊進(jìn)行初始化。將模塊設置成每秒鐘輸出一次GPS信息。系統啟動(dòng)后,模塊接收GPS信息,然后解析出GPS信息,根據解析出來(lái)的經(jīng)緯度信息與數據區中存儲的站點(diǎn)信息比較,計算出實(shí)際距離。如果距離到達閥值時(shí),啟動(dòng)GPS報站中斷。
該GPS模塊接收模塊遵循NMEA.0183協(xié)議,可以輸出多種格式的數據幀,均以“MYM”開(kāi)頭。輸出數據采用的是ASCII碼字符,內容包含了緯度、經(jīng)度、速度、日期、航向及衛星狀況等信息。該系統所使用的僅限于$GPRMC定位數據幀格式。
系統啟動(dòng)后,通過(guò)串口對GPS模塊進(jìn)行設置,由于系統對實(shí)時(shí)性要求不高,將GPS設置為每秒鐘輸出一次RMC數據。提取GPRMC語(yǔ)句的思路是設置一個(gè)數據緩沖區,把接收到的GPS數據都放入這個(gè)緩沖區,當緩沖區滿(mǎn)了的時(shí)侯就在緩沖區中查找是否接受到GPRMC定位語(yǔ)句,如果沒(méi)有接收到則重新接GPS數據。
如果找到GPRMC定位語(yǔ)句則還要判斷該語(yǔ)句在緩沖區中的位置離緩沖區的最大字節數是否大于62個(gè)字節(因為本程序中需要的GPRMC定位語(yǔ)句所包含的字節數為62),然后通過(guò)多程序提取相關(guān)經(jīng)緯度、時(shí)間和速度等信息并通過(guò)數據處理線(xiàn)程進(jìn)行相關(guān)處理。運行過(guò)程如圖3所示。
3.3 3G模塊解析程序
MC8630模塊驅動(dòng)可以通過(guò)驅動(dòng)源碼交叉編譯生成。MC8630模塊的加載和撥號連接的過(guò)MC8630模塊驅動(dòng)可以通過(guò)驅動(dòng)源碼交叉編譯生成。MC8630模塊的加載和撥號連接的過(guò)程如下:
1)在編譯前首先要確認編譯驅動(dòng)和編譯內核的編譯環(huán)境相同,也就是需要相同版本號的交叉編譯工具(本系統Linux版本號為2.6);
2)修改驅動(dòng)源碼Makefde文件,包括添加內核源碼目錄和編譯工具;
3)Make編譯之后,生成ztemt.ko;
4)insmod ztemt.ko,生成4個(gè)設備節點(diǎn)/dev/ttyUSB0-ttyUSB3;
5)mknod/dev/ttyUSB0 c 188 0,創(chuàng )建設備節點(diǎn);
6)編寫(xiě)Linux下?lián)芴柲_本、chat配置文件和賬號密碼配置文件;
7)添加內核選項,編譯支持PPP協(xié)議的內核;
8)pppd call evdo撥號連接,ifconfig查詢(xún)網(wǎng)絡(luò )是否連接;
9)ppp-off中斷連接。
4 結束語(yǔ)
本系統設計的智能公交終端采用先進(jìn)的3G/GPS技術(shù),通過(guò)對公交車(chē)輛運行時(shí)的信息的采集、傳輸和處理,實(shí)現了對公交運營(yíng)車(chē)輛的實(shí)時(shí)監控和調度,迅速調整公交車(chē)輛的運行狀況,提高車(chē)輛工作的效率,使公交資源實(shí)現最佳利用和分配,達到公交的智能化。
評論