肖 揚,張國輝,丁問司
(華南理工大學(xué) 機械與汽車工程學(xué)院,廣東 廣州510640)
公交系統(tǒng)作為城市交通系統(tǒng)中最基礎(chǔ)的部分,其運行效率和服務(wù)質(zhì)量對城市交通狀況有很大的影響[1]。然而大部分公交監(jiān)控系統(tǒng)只是對車輛的GPS信息和監(jiān)控攝像頭信息進行監(jiān)控,信息量少,而公交車上電子設(shè)備還有報站器、CAN 控制器、車載收費系統(tǒng)和車載DVD 等,各個模塊都有單獨的產(chǎn)品,大部分都彼此獨立工作,相互之間在功能上不關(guān)聯(lián)互動、信息不共享互換,沒有一個綜合的監(jiān)控信息平臺,而監(jiān)控信息量少導(dǎo)致調(diào)度手段單一,是公交運營面臨的主要問題。因此,需要建立一個智能化的多數(shù)據(jù)流的公交客車監(jiān)控系統(tǒng)。本文研究設(shè)計了一種基于ARM 嵌入式平臺的公交客車遠(yuǎn)程數(shù)字化監(jiān)控系統(tǒng),基于GPS 定位、無線通信技術(shù)和地理信息技術(shù)等技術(shù)的綜合運用,對公交車的GPS信息和CAN 總線信息進行監(jiān)控,實現(xiàn)公交車輛運營調(diào)度的智能化和運行的信息化、可視化。
公交客車遠(yuǎn)程數(shù)字化監(jiān)控系統(tǒng)是一種通過無線通信網(wǎng)絡(luò)遠(yuǎn)程實時采集監(jiān)控數(shù)據(jù),實現(xiàn)對公交車的監(jiān)視和控制的多數(shù)據(jù)流監(jiān)控系統(tǒng)。
根據(jù)公交客車遠(yuǎn)程數(shù)字化監(jiān)控的實際需要,本系統(tǒng)主要有以下5點功能要求:
(1)車輛定位。車載終端實時的將車輛的GPS信息發(fā)送到監(jiān)控中心,實時監(jiān)控車隊中每一輛車的位置和方向,并實現(xiàn)軌跡回放和電子圍欄等功能,對公交車實現(xiàn)動態(tài)監(jiān)控和實時指揮。
(2)監(jiān)控客車CAN 總線信息,記錄車輛在預(yù)設(shè)時間內(nèi)的行駛信息,包括速度、加速度、里程、水溫、油耗速度以及發(fā)動機和電子風(fēng)扇參數(shù)等。并以此作為車輛保養(yǎng)以及駕駛員工作評估參考[2]。
(3)通過報站器,實現(xiàn)駕駛員上下班簽到、車輛報站、更新電子路牌信息以及車輛的調(diào)度申請等,駕駛員用過報站器上的人機界面與監(jiān)控中心交互實現(xiàn)公交車輛的智能調(diào)度。
(4)車輛報警。當(dāng)檢測到車輛有安全隱患、駕駛員未按時發(fā)車或者偏離預(yù)定行駛路線,可以給駕駛員發(fā)出鈴聲以示警告或者向監(jiān)控中心發(fā)出警報信息,確保車輛及乘客安全。
(5)車載終端的遠(yuǎn)程維護。監(jiān)控中心能夠遠(yuǎn)程更新車載終端的應(yīng)用程序,并且更新公交客車車載終端的運行線路信息和廣告播放內(nèi)容。
公交遠(yuǎn)程數(shù)字化監(jiān)控系統(tǒng)主要由車載終端、監(jiān)控中心服務(wù)器、監(jiān)控客戶端組成。系統(tǒng)框架結(jié)構(gòu)如圖1所示。
圖1 遠(yuǎn)程數(shù)字化監(jiān)控系統(tǒng)組成
車載終端是車載系統(tǒng)的核心,也是整個監(jiān)控系統(tǒng)的關(guān)鍵,協(xié)調(diào)和監(jiān)控車上各個模塊工作,其結(jié)構(gòu)如圖2所示。
圖2 車載終端結(jié)構(gòu)框
所有的監(jiān)控數(shù)據(jù)都是通過車載終端發(fā)送給監(jiān)控中心服務(wù)器的。車載終端主要采集以下4方面的數(shù)據(jù):
(1)GPS信息。通過GPS模塊接收的來自GPS衛(wèi)星的數(shù)據(jù)。
(2)CAN 總線。采集CAN 總線上各節(jié)點的信息,主要包括有累計里程、車速、水溫、油耗速度、電壓、氣壓和發(fā)動機參數(shù)等。
(3)滿意度調(diào)查器。乘客對此次乘車的評價,共有5個星級的評價。
(4)報站器。公交車上下行和當(dāng)前站點的數(shù)據(jù),加氣加油和故障停車等調(diào)度信息,駕駛員上下班簽到和運營簽到的信息。
車載終端接收周圍電子設(shè)備發(fā)來的數(shù)據(jù),根據(jù)協(xié)議提取其中我們需要的信息,并打包成TCP 數(shù)據(jù)幀通過3G 無線通信模塊發(fā)送到無線網(wǎng)絡(luò)的接收點,再通過網(wǎng)關(guān)轉(zhuǎn)入Internet網(wǎng)絡(luò)并將數(shù)據(jù)投遞給監(jiān)控服務(wù)器。
監(jiān)控中心服務(wù)器是一臺有固定IP地址的服務(wù)器,集成了Web服務(wù)器和FTP服務(wù)器。它接收車載終端發(fā)來的數(shù)據(jù)包,解析、存儲到數(shù)據(jù)庫。同時,監(jiān)控中心讀取數(shù)據(jù)庫中的數(shù)據(jù)并生成可視化網(wǎng)頁。
監(jiān)控客戶端就是一個通用的IE 瀏覽器,用戶可以通過IE瀏覽器登陸監(jiān)控中心查看監(jiān)控信息,也可以給車載終端發(fā)送調(diào)度信息以及遠(yuǎn)程升級應(yīng)用程序等。
監(jiān)控系統(tǒng)的硬件主要由服務(wù)端和車載終端組成,服務(wù)端就是一臺服務(wù)器,這里只介紹終端硬件。嵌入式車載終端是監(jiān)控系統(tǒng)的核心部分,該終端主要由AT890X-DIP2.0核心板、GPS 模塊、3G 模塊,STM8S208RB 單片機等組成,外部接口主要有6個UART 異步串口、100M 網(wǎng)絡(luò)接口、HDMI 高 清 口、兩 個 USB 接 口、AV 口、SATA接口等。
核心板采用韓國Telechips公司的TCC8900 芯片,該公司在視頻播放、MP3 直接編碼等方面做的非常出色,TCC8900更是一款低功耗、高性能、高性價比的ARM11 SOC芯片,穩(wěn)定性強、爆音少,支持多種編碼格式,視頻解碼最高支持1920*1080 分辨率。其主頻高達(dá)800MHZ,配有256M DDR2SDRAM 的內(nèi)存。
核心板提供豐富的接口,為公交遠(yuǎn)程監(jiān)控系統(tǒng)功能擴展做好準(zhǔn)備,但是TCC8900上沒有CAN 接口,這里通過STM8S208RB單片機和TJA1040組合實現(xiàn)CAN 接口與串口的轉(zhuǎn)換,TJA040是高速CAN 控制收發(fā)器,其設(shè)計原理如圖3所示。
圖3 JTA1040原理
GPS全球定位系統(tǒng)由24顆人造衛(wèi)星組成,能為用戶提供全天候、全球性和高精度的實時定位導(dǎo)航服務(wù)。本系統(tǒng)采用u-blox的第六代GPS模塊NEO-6M-0-001,定位精度達(dá)到2.5MCEP,啟動和輔助啟動首次定位時間小于1 秒。與GPS模塊通信主要通過串口來實現(xiàn)的。
3G 通信技術(shù)是指支持高速數(shù)據(jù)傳輸?shù)姆涓C移動通訊技術(shù)。主要有WCDMA、CDMA2000、TS-CDMA 這3 種通信標(biāo)準(zhǔn),而WCDMA 是在GSM 基礎(chǔ)上演進的,集成了其永遠(yuǎn)在線、網(wǎng)絡(luò)接入速度快、通信費用低等特點,并且具有傳輸速度快、能夠軟切換以及全球范圍的無縫漫游等特點,廣泛應(yīng)用于遠(yuǎn)程監(jiān)控系統(tǒng)中[3]。本系統(tǒng)選用華為的EM770W 模塊,內(nèi)置TCP/IP 協(xié)議棧,支持標(biāo)準(zhǔn)AT 指令集和華為擴展AT 指令集,具有SIM 卡接口和天線接口,帶有60PinBTB連接器2xUART 接口 (其中UART1 為8線流控制功能串口,最大速率達(dá)230400bit/s)。
系統(tǒng)軟件主要由車載終端軟件、監(jiān)控中心服務(wù)器軟件、監(jiān)控客戶端軟件3個部分組成。監(jiān)控客戶端軟件即普通的IE瀏覽器。
軟件設(shè)計主要有3部分:開發(fā)平臺的選擇、數(shù)據(jù)采集模塊的設(shè)計和3G 通信模塊的設(shè)計。數(shù)據(jù)采集模塊主要是接收來自報站器、CAN 總線、GPS模塊和報站器的數(shù)據(jù)。3G通信模塊實現(xiàn)終端與服務(wù)器之間的通信。
3.1.1 開發(fā)平臺的選擇
常見的嵌入式操作系統(tǒng)有WinCE、Linux、Vxworks等。WinCE是擁有多線程、多任務(wù)、確定性的實時和完全搶占式優(yōu)先級等特性的操作系統(tǒng)[4],由于其具有模塊化設(shè)計方式、占用內(nèi)存小以及開發(fā)周期短等優(yōu)點,因此,本系統(tǒng)選用WinCE作為本系統(tǒng)的軟件開發(fā)平臺。
3.1.2 數(shù)據(jù)采集模塊
CAN 總線、滿意度調(diào)查器和報站器與車載終端的通信都是通過UART 串口來實現(xiàn)的,GPS模塊也是通過串口通信實現(xiàn)數(shù)據(jù)采集的。數(shù)據(jù)接收流程如圖4所示,程序通過CreateFile()創(chuàng)建5個串口與之對應(yīng),然后創(chuàng)建DCB結(jié)構(gòu)體變量并給其賦值,在調(diào)用SetCommState()設(shè)置相應(yīng)的波特率、奇偶校驗、數(shù)據(jù)位和停止位等參數(shù),波特率根據(jù)串口所連接的對象來設(shè)置,調(diào)用SetTimeouts()設(shè)置串口讀寫等待時間,并為每個串口創(chuàng)建一個線程讀取數(shù)據(jù)。調(diào)用SetCommMask ()設(shè)置事件掩碼EV_RXCHAR,調(diào)用WaitCommEvent()無限阻塞線程等待事件的發(fā)生,即當(dāng)輸入緩沖區(qū)收到數(shù)據(jù)時觸發(fā)事件,則即可調(diào)用ReadFile()讀取數(shù)據(jù),并且從這些數(shù)據(jù)中解析出我們需要的信息。當(dāng)需要從串口發(fā)送數(shù)據(jù)時,直接調(diào)用WriteFile()并指明寫入哪個串口即可。
圖4 串口接收數(shù)據(jù)流程
3.1.3 3G 通信模塊
TCP/IP網(wǎng)絡(luò)協(xié)議廣泛應(yīng)用于網(wǎng)絡(luò)數(shù)據(jù)傳輸,其網(wǎng)絡(luò)模型定義了4層,即網(wǎng)絡(luò)接口層、網(wǎng)絡(luò)層、傳輸層、應(yīng)用層。傳輸層協(xié)議有TCP和UDP,而車載終端與服務(wù)器之間的通信采用的是TCP方式,TCP提供一種面向連接的、可靠的字節(jié)流服務(wù)。
車載終端上電,完成系統(tǒng)初始化,創(chuàng)建套接字,綁定本機IP和端口,建立與監(jiān)控中心的Socket連接,創(chuàng)建通訊線程,調(diào)用WaitForSingleObject()監(jiān)聽客戶端通訊事件,例如當(dāng)接收到數(shù)據(jù)、連接斷開或通訊過程發(fā)生錯誤等,當(dāng)有事件觸發(fā)時,調(diào)用select()來判斷是否有讀事件發(fā)生,再調(diào)用recv()就可以接收、解析監(jiān)控中心發(fā)送的數(shù)據(jù)或指令,根據(jù)數(shù)據(jù)內(nèi)容,程序調(diào)用相應(yīng)的方法,比如切換電子路牌線路信息、從監(jiān)控中心下載更新文件等操作。當(dāng)車載終端將監(jiān)控信息發(fā)回監(jiān)控中心時,只需要將數(shù)據(jù)打包調(diào)用send ()即可。同時,車載終端每隔5s發(fā)送一個心跳包以保持和監(jiān)控中心服務(wù)器的網(wǎng)絡(luò)連接。
監(jiān)控中心服務(wù)器是數(shù)據(jù)的中轉(zhuǎn)站,接收車載終端傳過來的數(shù)據(jù),按照通信協(xié)議進行相應(yīng)的處理并存入數(shù)據(jù)庫,數(shù)據(jù)庫使用SQL Server關(guān)系數(shù)據(jù)庫。軟件采用C++的Socket編程技術(shù)實現(xiàn)對數(shù)據(jù)的收發(fā)處理,由于車載終端的數(shù)量比較多,一個終端一個線程服務(wù)器負(fù)擔(dān)太大,這里采用完成端口模型來響應(yīng)大量Socket請求,避免因大量用戶并發(fā)請求而導(dǎo)致服務(wù)器崩潰。同時采用線程池和內(nèi)存池等方法來調(diào)度線程及內(nèi)存分配,提高服務(wù)器的工作效率。
車載終端軟件遠(yuǎn)程升級和廣告內(nèi)容更新是通過FTP的方式訪問服務(wù)器中指定文件并下載到車載終端的,這種方式便捷、可靠、高效。另一方面,監(jiān)控客戶端通過瀏覽器發(fā)送http請求查看監(jiān)控信息,因此,監(jiān)控中心服務(wù)器需要提供FTP服務(wù)和Web服務(wù)。其基本結(jié)構(gòu)如圖5所示。
圖5 監(jiān)控中心服務(wù)器結(jié)構(gòu)
為了測試系統(tǒng)的實用性和穩(wěn)定性,將車載終端 (包含報站器)放在車上并按照預(yù)定的公交線路移動,測試結(jié)果表明,車載終端報站以及接發(fā)調(diào)度命令正常,在監(jiān)控中心服務(wù)器可以查看終端發(fā)回來的GPS位置信息,與實際值相差甚小,在誤差范圍內(nèi)。如今,公交遠(yuǎn)程監(jiān)控系統(tǒng)已經(jīng)在佛山公交大量應(yīng)用,報站器和CAN 總線都與車載終端連上,目前佛山公交運行正常。其中圖6是監(jiān)控系統(tǒng)對其中的一條線路監(jiān)控,圓和箭頭代表公交車及其行車方向。圖7是公交車總線的部分信息。
在WinCE嵌入式平臺上,結(jié)合GPS 全球定位技術(shù)和3G 通信技術(shù),建立了一個多數(shù)據(jù)流的信息監(jiān)控平臺,公交遠(yuǎn)程數(shù)字化監(jiān)控系統(tǒng)不僅能夠?qū)崟r監(jiān)控車輛的位置信息,也能夠?qū)崟r監(jiān)控CAN 總線上有關(guān)車輛運行狀態(tài)信息,而且通過報站器的人機界面可以簡單的和監(jiān)控中心通信,幫助調(diào)度人員掌握車輛運行情況,合理安排公交車發(fā)車時間,有效提高了公交運營效率,改善了對駕駛員和公交車輛的行為管理。車載終端平臺提供了豐富的接口,具有很強的擴展性,預(yù)留的AV 口可集成視頻監(jiān)控模塊,而芯片更是支持多種格式的視頻播放,通過HDMI接口可流暢地播放視頻廣告,同時,7 寸觸摸屏可以連接到車載終端用作人機界面,方便駕駛員與監(jiān)控中心交流。在實際應(yīng)用中可靈活擴展功能,以適應(yīng)市場需求。
雖然系統(tǒng)的功能基本實現(xiàn),但仍存在一些不足和值得改進的地方,可以從以下幾個方面進行完善與改進:
(1)監(jiān)控信息不夠完善,可以增加對客流量、車廂內(nèi)部溫度、空氣質(zhì)量、甚至駕駛員的心率等信息進行監(jiān)視。
(2)隨著越來越多的公交車上使用車載終端,甚至連同使用我們的服務(wù)器,需要處理的數(shù)據(jù)也會越來越多。海量的數(shù)據(jù)勢必給服務(wù)器帶來挑戰(zhàn),利用分布式服務(wù)器或者云存儲、云計算等方法可有效解決此問題。
[1]LIN Lvzhou,WANG Lichao,LU Qiyong.Intelligent supervisory system of buses based on GPS and GPRS[J].Chinese Journal of Scientific Instrument,2006,27 (6):561-563(in Chinese).[林綠洲,王力超,陸起涌.基于GPS與GPRS的公交智能監(jiān)控系統(tǒng)[J].儀器儀表學(xué)報,2006,27 (6):561-563.]
[2]LIN Lvzhou,LU Qiyong,TIAN Xiaofang,et al.Bus supervisory system design based on embedded platform [J].Telecommunication Engineering,2006,46 (3):78-81 (in Chinese).[林綠洲,陸起涌,田小芳,等.基于嵌入式平臺的公交車輛監(jiān)控系統(tǒng) [J].電訊技術(shù),2006,46 (3):78-81.]
[3]ZHANG Xue,LI Xin,F(xiàn)AN Yingying.ARM9remote monitoring system based on Linux [J].Electronic Design Engineering,2012,20 (1):187-189 (in Chinese).[張雪,李欣,樊迎迎.基于Linux的ARM9遠(yuǎn)程客車監(jiān)控系統(tǒng) [J].電子設(shè)計工程,2012,20 (1):187-189.]
[4]WANG Bing.Advanced programming and examples of Windows CE embedded[M].Beijing:China WaterPower Press,2008:1-238(in Chinese).[汪兵.Windows CE嵌入式高級編程及實例詳解[M].北京:中國水利水電出版社,2008:1-238.]
[5]LIU Chengxu,SUN Guokai,LIU Yingji,et al.Remote online monitoring system for bus by integrating CAN-BUS techniques [J].Journal of Shenyang Agricultural University,2012,43 (1):110-113 (in Chinese). [劉成許,孫國凱,劉應(yīng)吉,等.基于CAN 總線技術(shù)的客車遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計 [J].沈陽農(nóng)業(yè)大學(xué)學(xué)報,2012,43 (1):110-113.]
[6]SHAO Tingli.Design and analyse software of city bus monitoring system [J].Science and Technology Information,2012(27):199-200 (in Chinese).[邵霆力.城市公交監(jiān)控系統(tǒng)軟件設(shè)計淺析 [J].科技資訊,2012 (27):199-200.]
[7]SUN Haiping,ZENG Hong,GUO Jiali.Bus data acquisition and romote monitoring system based on CAN bus and GPRS[C]//Consumer Electronics,Communications and Networks,2011:1094-1097.
[8]ZHAO Jindong,MA Lingxian.Design and implementation of vehicle monitor system based on GPS and GPRS [J].Computer Engineering and Design,2007,28 (10):2498-2500 (in Chinese).[趙金東,馬領(lǐng)先.基于GPS/GPRS的車輛監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2007,28 (10):2498-2500.]
[9]Liu Y J,Zhou W,Li W L,et al.Design and realization of remote monitoring platform software for transportation vehicle with hazard-ous material[C]//ICCTP.ASCE,2010:2295-2305.
[10]ZENG Hong.Bus data acquisition and remote monitoring system based on CAN bus and GPRS/3G [D].Guangzhou:South China University of Technology,2012 (in Chinese).[曾宏.基于CAN 的公交車車況信息采集及GPRS/3G 的遠(yuǎn)程監(jiān)控調(diào)度系統(tǒng) [D].廣州:華南理工大學(xué),2012.]
[11]YAO Hongxin,HUANG Bing.A BRT monitoring system for main road based on embedded platform [J].Electronic Engineer,2009,35 (3):30-33 (in Chinese).[姚宏昕,黃冰.基于嵌入式平臺的城市主干道BRT 監(jiān)控系統(tǒng)設(shè)計 [J].信息化研究,2009,35 (3):30-33.]