基于Linux的ARM9遠(yuǎn)程客車監(jiān)控系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:針對(duì)長(zhǎng)途客車普遍存在著超員問(wèn)題,提出了一種基于GPS/GPRS的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)方案,該方案采用ARM微處理器和嵌入式Linux操作系統(tǒng)作為開(kāi)發(fā)平臺(tái),利用數(shù)字圖像處理和GPS定位技術(shù),以GPRS無(wú)線通信技術(shù)為傳輸手段,實(shí)現(xiàn)了客車車內(nèi)圖像數(shù)據(jù)、速度、定位等信息的采集、存儲(chǔ)和無(wú)線傳輸功能。
關(guān)鍵詞:Linux;GPS;GPRS;圖像采集
隨著我國(guó)汽車數(shù)量的增加和國(guó)家公路網(wǎng)的建設(shè),城市間的往來(lái)日益頻繁,受經(jīng)濟(jì)利益的驅(qū)使,長(zhǎng)途客運(yùn)市場(chǎng)普遍存在超員等問(wèn)題,由此造成的重特大交通事故逐年增加,已嚴(yán)重威脅了人民群眾的生命和財(cái)產(chǎn)安全。目前,客運(yùn)交通監(jiān)管部門主要采用設(shè)立檢查站和路上巡檢的傳統(tǒng)方法檢測(cè)客車是否超員,這些方法耗費(fèi)人力物力,自動(dòng)化程度不高,管理落后而且檢測(cè)精度很低。在國(guó)內(nèi),只有少數(shù)地區(qū)對(duì)當(dāng)?shù)氐牟糠诌\(yùn)營(yíng)車輛安裝了智能檢測(cè)設(shè)備。本文設(shè)計(jì)的監(jiān)控終端以GPS定位信息和車內(nèi)的圖像數(shù)據(jù)為基礎(chǔ),利用GPRS無(wú)線通信技術(shù),通過(guò)Internet建立與交通監(jiān)管中心的通信,對(duì)長(zhǎng)途客車的超員、超速、以及車輛運(yùn)行狀況、突發(fā)事件等進(jìn)行實(shí)時(shí)監(jiān)控,為交通監(jiān)管、車輛調(diào)度、事故處理提供了必要的依據(jù)和證據(jù)。
1 系統(tǒng)整體設(shè)計(jì)方案
本文針對(duì)長(zhǎng)途客車監(jiān)控終端的功能要求,以GPS空間定位技術(shù)作為定位手段,獲得客車當(dāng)前的定位信息。同時(shí)提出通過(guò)攝像頭模塊采集車內(nèi)圖像的超員檢測(cè)方案,即當(dāng)長(zhǎng)途客車在出站和運(yùn)輸途中,發(fā)生開(kāi)關(guān)門動(dòng)作并重新運(yùn)動(dòng)時(shí),車內(nèi)的攝像頭會(huì)自動(dòng)拍攝圖片,同時(shí)將GPS接收信息中的定位信息和車內(nèi)圖像信息以約定的數(shù)據(jù)幀格式通過(guò)GPRS數(shù)據(jù)通道上傳至監(jiān)控中心,方便監(jiān)控載客數(shù)量,避免超員,有效防止了由于司乘人員私自帶客給公司帶來(lái)的經(jīng)濟(jì)損失。同時(shí)監(jiān)控人員也可以發(fā)送指令,隨時(shí)進(jìn)行圖片拍攝和回傳。此外,當(dāng)車內(nèi)發(fā)生搶劫、盜竊或意外事故時(shí)也可以人為啟動(dòng)攝像頭進(jìn)行拍照。這種設(shè)計(jì)可以在出現(xiàn)超員等情況下使得監(jiān)控中心第一時(shí)間獲取到目標(biāo)客車的圖像和定位信息,為監(jiān)控中心實(shí)現(xiàn)全方位客車管理提供有力的幫助。系統(tǒng)的整體設(shè)計(jì)方案如圖1所示。
[!--empirenews.page--]
2 系統(tǒng)硬件設(shè)計(jì)
在硬件設(shè)計(jì)上,基于系統(tǒng)多任務(wù)并發(fā)執(zhí)行的需要,主控電路采用ARM微處理器S3C2440芯片;系統(tǒng)的存儲(chǔ)單元分別采用了SDRAM和NAND Flash;其外圍接口設(shè)備包括GPS接收機(jī)、GPRS通信模塊、攝像頭等。系統(tǒng)的硬件連接框圖如圖2所示。
以下就圖中主要電路展開(kāi)說(shuō)明。
2.1 微處理器的選擇
文中設(shè)計(jì)的監(jiān)控終端要求具有性能高、運(yùn)行可靠、功耗低等特點(diǎn)。鑒于此,嵌入式微處理器選擇了內(nèi)核為ARM920T的ARM9處理器。綜合考慮成本、集成度、處理速度、開(kāi)發(fā)難度等諸多因素,本系統(tǒng)決定選擇SAMSUNG公司生產(chǎn)的S3C2440芯片作為系統(tǒng)的微處理器。該處理器是一款基于RISC的32位微處理器,工作頻率為400MHz,最高可達(dá)533 MHz,滿足了本系統(tǒng)對(duì)處理速度的要求,同時(shí)該處理器還集成了豐富的通信接口和控制器,有效地降低了系統(tǒng)的復(fù)雜度,為系統(tǒng)開(kāi)發(fā)提供了良好的硬件平臺(tái)。
2.2 GPS模塊的選型與連接
GPS全球定位系統(tǒng)是最新一代的衛(wèi)星導(dǎo)航定位系統(tǒng),可為用戶提供全天候、全球性和高精度的實(shí)時(shí)定位導(dǎo)航服務(wù)。GPS系統(tǒng)包括3個(gè)部分:空間部分-GPS衛(wèi)星星座;地面控制部分-地面監(jiān)控系統(tǒng);用戶設(shè)備部分-GPS接收機(jī)。GPS的空間部分和地面監(jiān)控部分,是用戶應(yīng)用該系統(tǒng)進(jìn)行定位的基礎(chǔ),而用戶只有通過(guò)用戶設(shè)備,才能實(shí)現(xiàn)應(yīng)用GPS定位的目的。GPS接收機(jī)負(fù)責(zé)接收GPS衛(wèi)星發(fā)送的定位信號(hào),并計(jì)算出車載終端當(dāng)前所處位置、速度、方向等信息。在嵌入式車載監(jiān)控終端系統(tǒng)中,從價(jià)格、功耗、體積、抗干擾能力等方面比較,本課題選擇了GARMIN GPS15L。最簡(jiǎn)單的系統(tǒng),除GPS外還要包括外部電源和GPS天線。與GPS系統(tǒng)的通信可以通過(guò)RS232或CMOS電平的串行口來(lái)實(shí)現(xiàn)。
2.3 GPRS模塊的選型與連接
GPRS技術(shù)具有實(shí)時(shí)在線、覆蓋范圍廣、數(shù)據(jù)傳輸速率高等優(yōu)點(diǎn),目前被廣泛應(yīng)用于遠(yuǎn)程監(jiān)控系統(tǒng)中,主要完成被監(jiān)測(cè)數(shù)據(jù)的遠(yuǎn)程無(wú)線傳輸。采用GPRS無(wú)線通信技術(shù)進(jìn)行遠(yuǎn)程數(shù)據(jù)傳輸為該系統(tǒng)的實(shí)時(shí)監(jiān)控管理提供了良好的解決方案。GPRS通信模塊主要完成無(wú)線上網(wǎng)的功能,通過(guò)GPRS傳輸手段連接到Internel網(wǎng)絡(luò),并主動(dòng)與監(jiān)控中心建立雙向數(shù)據(jù)通信鏈路。文中選用SIMCOM公司的SIM300模塊,它可自動(dòng)掉線重連,支持GSM/GPRS通信,內(nèi)嵌了強(qiáng)大的TCP/IP協(xié)議棧,AT指令功能完善,具有SIM卡連接、天線、RS232串口等接口。S3C2440提供標(biāo)準(zhǔn)的RS232串口,可以通過(guò)串口和各種外設(shè)進(jìn)行通信。SIM300與S3C2440之間的通信就是通過(guò)串口來(lái)實(shí)現(xiàn)的。[!--empirenews.page--]
2.4 攝像頭模塊的選型與連接
考慮到無(wú)線網(wǎng)絡(luò)的帶寬限制和本系統(tǒng)的應(yīng)用背景.文中采用了靜態(tài)圖像監(jiān)控方式。選用的是網(wǎng)眼V2000攝像頭,它的成本低、成像速度快、圖片質(zhì)量高,具有良好的通用性。其采用USB接口,不需要視頻卡,可即插即用,使用方便,圖像清晰連貫。其圖像傳感器和數(shù)字信號(hào)處理芯片為Omnivision公司的OV7620和OV511。
OV7620是一款高集成度、高分辨率的彩色圖像傳感器。其分辨率為640x480(30萬(wàn)像素),傳輸速率可達(dá)30幀/秒。OV7620的控制采用SCCB(Serial Camera Control Bus)協(xié)議,可利用其SCCB(Serial Camera Control Bus)接口完成對(duì)它的有關(guān)設(shè)置和讀取圖像數(shù)據(jù)。OV511是攝像頭的主控芯片,其片內(nèi)的高性能壓縮引擎可使圖像的壓縮比達(dá)到7:1,保證了從圖像傳感器到主控制器的快速圖像傳輸。
網(wǎng)眼V2000攝像頭通過(guò)其USB接口直接與CPU上集成的USB Host接口相連。
3 系統(tǒng)軟件設(shè)計(jì)
常見(jiàn)的嵌入式操作系統(tǒng)有Linux、WinCE、Vxworks等。Linux操作系統(tǒng)的源碼完全開(kāi)放,由于其具有高效穩(wěn)定、內(nèi)核小、執(zhí)行速度快,網(wǎng)絡(luò)資源豐富,可移植性好等優(yōu)點(diǎn),廣泛應(yīng)用于嵌入式系統(tǒng)領(lǐng)域。因此,選擇嵌入式Linux操作系統(tǒng)作為本系統(tǒng)的軟件開(kāi)發(fā)平臺(tái)。
在軟件設(shè)計(jì)上,首先需建立交叉編譯環(huán)境,用來(lái)編譯引導(dǎo)程序和Linux內(nèi)核。然后完成引導(dǎo)程序Bootloader的移植;配置和編譯Linux內(nèi)核;制作根文件系統(tǒng)以及編寫各外設(shè)與CPU間的接口驅(qū)動(dòng)程序。最后,通過(guò)編寫上層應(yīng)用程序完成GPS信息采集、圖像采集、GPRS傳輸?shù)裙δ堋O旅婢唧w介紹了幾個(gè)主要程序的設(shè)計(jì)思路。
3.1 圖像采集程序
在車載監(jiān)控系統(tǒng)中,攝像頭網(wǎng)眼V2000是以ov511為主控芯片的攝像頭,它的驅(qū)動(dòng)主要是要實(shí)現(xiàn)結(jié)構(gòu)體相應(yīng)函數(shù)功能。由于Linux內(nèi)核自帶ov511驅(qū)動(dòng),所以不用再自己編寫攝像頭的驅(qū)動(dòng)程序,只需在定制內(nèi)核的時(shí)候選中即可。
當(dāng)Linux系統(tǒng)正常啟動(dòng)后,插上V2000攝像頭,如果成功加載驅(qū)動(dòng),將為攝像頭在/dev/v41/目錄下創(chuàng)建設(shè)備文件device0,上層應(yīng)用程序即可通過(guò)此設(shè)備文件訪問(wèn)攝像頭,實(shí)現(xiàn)拍攝圖像的功能。嵌入式系統(tǒng)平臺(tái)已搭建成功,要實(shí)現(xiàn)實(shí)時(shí)地獲取圖像,就需要利用V4L(Vidio For Linux)編程接口實(shí)現(xiàn)圖像采集程序了??紤]到攝像頭采集的640x480的RGB圖像數(shù)據(jù)量較大,這里用圖像壓縮函數(shù)put_image_jpeg將圖像轉(zhuǎn)化為JPEG格式,這樣存儲(chǔ)時(shí)就減少了占用的NandFlash空間,同時(shí)通過(guò)GPRS網(wǎng)絡(luò)回傳監(jiān)控中心時(shí),也減少了傳輸費(fèi)用和確保傳送成功。
3.2 GPS解析程序
GPS接收機(jī)GPS15L輸出數(shù)據(jù)格式符合NMEA-0183標(biāo)準(zhǔn)。NMEA-0183協(xié)議是由美國(guó)國(guó)家海洋電子協(xié)會(huì)制定的一種串行通信的數(shù)據(jù)協(xié)議,所有輸入輸出信息均為一行ASCII字符。它的一條消息稱為語(yǔ)句(Sentenee),每條語(yǔ)句都以‘$’開(kāi)始,以回車換行符(<CR><LF>)結(jié)束,中間是用逗號(hào)分隔的若干個(gè)域。一條NMEA-0183語(yǔ)句包含以下5個(gè)部分:
起始符,固定字符‘$’,表示語(yǔ)句開(kāi)始;
標(biāo)識(shí)符域,表示一條語(yǔ)句的全部數(shù)據(jù)域的特定格式,長(zhǎng)度可變;
數(shù)據(jù)域,包含各種類型的數(shù)據(jù),各數(shù)據(jù)之間用逗號(hào)分隔,數(shù)據(jù)域可以為空,但用來(lái)分隔數(shù)據(jù)的逗號(hào)不可省略;
校驗(yàn)和,以‘*’開(kāi)始,由2個(gè)字符的十六進(jìn)制數(shù)組成;
結(jié)束符,固定字符<CR><LF>,表示語(yǔ)句結(jié)束。
NMEA-0183語(yǔ)句中最常見(jiàn)的幾種格式有GPGGA、GPRMC、GPGSV、GPVTG等,它們包含的信息不盡相同。本設(shè)計(jì)中采用的是GPGGA(Global Positioning System Fix Data)輸出語(yǔ)句,它包含了主要的GPS定位數(shù)據(jù)。
GPS信息解析程序流程圖如圖3所示。
[!--empirenews.page--]
3.3 GPRS數(shù)據(jù)傳輸程序
GPRS數(shù)據(jù)傳輸任務(wù)分為GPRS初始化、建立連接、傳輸數(shù)據(jù)和斷開(kāi)連接這4個(gè)步驟。
GPRS初始化主要是完成波特率等通信參數(shù)的設(shè)置。初始化完成后,就可以通過(guò)AT命令建立和GPRS網(wǎng)絡(luò)的物理層連接,然后實(shí)現(xiàn)GPRS網(wǎng)絡(luò)的附著、PDP激活、傳輸環(huán)境配置,進(jìn)而建立PPP數(shù)據(jù)鏈路,最后實(shí)現(xiàn)Internet的接入,進(jìn)入數(shù)據(jù)傳輸階段。本設(shè)計(jì)中,采用的中國(guó)移動(dòng)的GPRS網(wǎng)絡(luò)。當(dāng)撥號(hào)上網(wǎng)成功后,就通過(guò)中國(guó)移動(dòng)網(wǎng)關(guān)連接到了Internet,因此就可以利用TCP/IP協(xié)議與Internet上的交通監(jiān)管中心的IP地址進(jìn)行通信了。由于Linux操作系統(tǒng)已內(nèi)置TCP/IP協(xié)議棧,因此可以直接使用套接字編程實(shí)現(xiàn)數(shù)據(jù)傳輸。套接字的基本模式是C/S(客戶/服務(wù)器),監(jiān)控終端是客戶模式,而遠(yuǎn)程監(jiān)控中心是服務(wù)器模式。GPRS數(shù)據(jù)傳輸程序的流程圖如圖4所示。
4 結(jié)束語(yǔ)
針對(duì)長(zhǎng)途客車監(jiān)控手段相對(duì)落后以及事故頻發(fā)的現(xiàn)狀,提出了一種基于GPRS/GPS的監(jiān)控系統(tǒng)。經(jīng)實(shí)驗(yàn)測(cè)試,該系統(tǒng)在靈敏度和精度上均能滿足實(shí)際的需求,解決了傳統(tǒng)的巡檢方式造成的人員浪費(fèi)和檢測(cè)精度低的問(wèn)題,有效防止了客車超員現(xiàn)象的發(fā)生,為長(zhǎng)途客運(yùn)的安全提供了保障,同時(shí)也使得交通監(jiān)管部門的工作更科學(xué)化、系統(tǒng)化和自動(dòng)化。此外,本系統(tǒng)還可以進(jìn)一步擴(kuò)充,如可以增加免提車載電話、語(yǔ)音提示、報(bào)警開(kāi)關(guān)等,使監(jiān)控系統(tǒng)的功能更加完善和智能。