0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用GPS模塊與GPRS實(shí)現(xiàn)出租車監(jiān)控調(diào)度系統(tǒng)設(shè)計(jì)方案

電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2018-10-16 08:42 ? 次閱讀

1 引言

在車輛定位系統(tǒng)中,GPS 系統(tǒng)是目前世界上應(yīng)用得最為廣泛的,其功能作用已廣為人所接受。它能為用戶提供全球、全天候、高精度、連續(xù)實(shí)時(shí)的導(dǎo)航、定位和授時(shí)。

隨著移動(dòng) GPRS 業(yè)務(wù)的開展,GPRS 在無線傳輸中已經(jīng)成為一種成熟可靠的傳輸方式。

GPRS 網(wǎng)本身支持TCP/IP、X.25 等協(xié)議,可以直接與IP 網(wǎng)或X.25 網(wǎng)互通,實(shí)現(xiàn)GPRS 終端的上網(wǎng)功能。它可以保證永遠(yuǎn)在線,而且是按照流量記費(fèi),不傳輸數(shù)據(jù)時(shí)不計(jì)費(fèi),同時(shí)中國(guó)移動(dòng)公司的眾多基站和可靠的頻段信號(hào)能夠保證信息傳輸及時(shí)、無誤。

2 系統(tǒng)總體結(jié)構(gòu)和實(shí)現(xiàn)功能介紹

本系統(tǒng)基于 GPS/GPRS 進(jìn)行設(shè)計(jì),主要以出租車公司為服務(wù)對(duì)象,總體結(jié)構(gòu)如圖1:

主要實(shí)現(xiàn)的功能為:

出租車終端利用 GPS 模塊實(shí)時(shí)地接收其定位、速度、時(shí)間等信息,然后通過GPRS 模塊將這些信息上傳至監(jiān)控中心,在遇到緊急情況時(shí),向監(jiān)控中心發(fā)出求救警報(bào)。

監(jiān)控中心將接收到的信息寫入數(shù)據(jù)庫(kù),對(duì)車輛的位置、速度進(jìn)行實(shí)時(shí)的監(jiān)控,必要時(shí)發(fā)出警告信息,處理客戶預(yù)訂業(yè)務(wù)時(shí)向出租車發(fā)送調(diào)度信息。

3 整體系統(tǒng)的設(shè)計(jì)

本系統(tǒng)的設(shè)計(jì)主要由三部分組成:出租車終端軟硬件設(shè)計(jì)、監(jiān)控中心軟件設(shè)計(jì)以及車載終端和監(jiān)控中心通信程序設(shè)計(jì)。

3.1 出租車終端的軟硬件設(shè)計(jì)

3.1.1 出租車終端的硬件設(shè)計(jì)

該終端硬件部分主要由主控芯片、GPRS 模塊、GPS 模塊組成。

主控芯片選用三星公司生產(chǎn)的 S3C2410 處理器,該處理器采用ARM920T 內(nèi)核,S3C2410外圍電路包含電源模塊、64M SDRAM、64M FLASH、RS232 串行口、USB 接口、4×4 鍵盤接口模塊、LCD 模塊等。

GPS 模塊選用的是Compass Systems 公司生產(chǎn)的GM611 滑鼠型GPS 衛(wèi)星接收機(jī),它具有超高靈敏度、超低功耗和超小體積的特點(diǎn),而且?guī)?qiáng)力磁性,擁有嚴(yán)格的防水設(shè)計(jì),可將其直接吸附于車頂使用,2D 定位精度小于10 米。該GPS 模塊與主板的串口1 連接,上電后以每秒鐘一次的頻率將定位信息傳送給處理器。

GPRS 模塊選用的是WAVECOM 公司生產(chǎn)的WISMO QUIK Q2406A 模塊,它是GSM/GPRS 900/1800 雙頻模塊,與標(biāo)準(zhǔn)的AT 指令兼容。它與S3C2410 主板的串口2 連接,實(shí)現(xiàn)GPRS 撥號(hào)上網(wǎng)。

3.1.2 出租車終端的軟件設(shè)計(jì)

該終端的軟件設(shè)計(jì)主要包含兩個(gè)部分:GPS 定位信息的接收和GPRS 撥號(hào)上網(wǎng)的實(shí)現(xiàn)。

由于終端移植了嵌入式Linux(內(nèi)核版本為2.6.16),它提供豐富的設(shè)備支持和成熟的系統(tǒng)管理能力,因而大大地簡(jiǎn)化了軟件的開發(fā)過程。

(1)GPS 定位信息接收的實(shí)現(xiàn)

該過程主要通過 Linux 串口通信編程來實(shí)現(xiàn),在實(shí)現(xiàn)過程中的關(guān)鍵處理部分是:串口屬性設(shè)置以及對(duì)接收到的GPS 信息的解析。

由于 GPS 模塊輸出的每幀數(shù)據(jù)都是以換行符結(jié)束,所以在設(shè)置串口屬性的時(shí)候可將其模式設(shè)為規(guī)范(Canonical)模式,即每次讀取串口時(shí)先將數(shù)據(jù)保存到緩存,直到讀到換行符時(shí)所有數(shù)據(jù)才會(huì)被傳輸,這樣就能保證每次讀取的是整幀數(shù)據(jù),方便之后的幀頭判斷和信息解析。接下來還要根據(jù)GPS 模塊的默認(rèn)參數(shù)配置串口傳輸速率為4800bps,8 位數(shù)據(jù)位,1 位停止位,無校驗(yàn)位,串口屬性就設(shè)置完畢了。

GPS 模塊的輸出幀遵循NMEA0183 標(biāo)準(zhǔn),具有多種格式,主要由幀頭進(jìn)行標(biāo)志,包括$GPGGA、$GPGLL、$GPGSA、 $GPGSV、$GPGMC、$GPVTG 六種幀,分別描述不同信息,一般來說$GPRMC 幀就可以提供我們所關(guān)心的數(shù)據(jù),如經(jīng)緯度、速度、時(shí)間等,所以只需對(duì)該幀信息進(jìn)行提取。$GPRMC 幀的格式如圖2:

在每次讀取的時(shí)候首先需要對(duì)幀頭進(jìn)行判斷是否是$GPRMC 幀,然后再根據(jù)幀中的逗號(hào)位置,對(duì)該幀數(shù)據(jù)進(jìn)行解析,提取所需的定位、速度和時(shí)間信息。

(2)GPRS 撥號(hào)上網(wǎng)的實(shí)現(xiàn)

該部分是整個(gè)系統(tǒng)的關(guān)鍵,是實(shí)現(xiàn)出租車終端和監(jiān)控中心進(jìn)行無線通信的基礎(chǔ),該過程主要依靠PPP(點(diǎn)到點(diǎn)協(xié)議)來實(shí)現(xiàn),它可以實(shí)現(xiàn)在串行鏈路上創(chuàng)建和運(yùn)行IP 協(xié)議。

為了能夠?qū)崿F(xiàn)PPP 連接,首先需要配置內(nèi)核使其支持PPP,然后通過交叉編譯生成ARM平臺(tái)下的pppd 和chat 應(yīng)用程序。PPP 連接的建立和維持需要由pppd 和內(nèi)核中的PPP 驅(qū)動(dòng)程序配合完成。chat 程序主要用于和GPRS 模塊進(jìn)行交互,完成撥號(hào)和各項(xiàng)配置。執(zhí)行pppd的時(shí)候?qū)⑹紫日{(diào)用chat 程序進(jìn)行撥號(hào)連接,PPP 鏈路的建立流程如圖3:

首先執(zhí)行 chat 程序?qū)χ袊?guó)移動(dòng)的接入號(hào)碼進(jìn)行撥號(hào),建立與PPP 服務(wù)器端的物理連接,然后進(jìn)行LCP 鏈路的協(xié)商,主要協(xié)商一些鏈路參數(shù)(數(shù)據(jù)幀格式、最大傳輸單元等),協(xié)商成功后將建立與PPP 服務(wù)器端的數(shù)據(jù)鏈路,接著向PPP 服務(wù)器端提供用戶和口令進(jìn)行PAP驗(yàn)證,在未通過驗(yàn)證之前是不能進(jìn)行任何數(shù)據(jù)傳輸?shù)?,最后,進(jìn)行IPCP 協(xié)商,主要進(jìn)行IP地址的協(xié)商,協(xié)商成功后,出租車終端將獲得GGSN(GPRS 網(wǎng)關(guān))為其動(dòng)態(tài)分配的IP 地址。PPP 鏈路就建立完成了,之后出租車終端就相當(dāng)于公網(wǎng)上的一臺(tái)主機(jī),可以自由地與Internet 的其他主機(jī)進(jìn)行數(shù)據(jù)交互了。

3.2 監(jiān)控中心的軟件設(shè)計(jì)

監(jiān)控中心是位于出租車公司的控制中心,它與公司服務(wù)器進(jìn)行局域網(wǎng)連接如圖1,服務(wù)器具有固定公網(wǎng)(Internet)IP 地址,而監(jiān)控中心的IP 地址為局域網(wǎng)IP,公網(wǎng)上的主機(jī)(出租車終端)是不能通過該IP 來訪問監(jiān)控中心的,要想實(shí)現(xiàn)這個(gè)過程,必須在公司服務(wù)器設(shè)置端口映射,端口映射的原理是將擁有固定IP 地址的服務(wù)器端口映射到處于局域網(wǎng)的某臺(tái)主機(jī)端口上,如圖4:

上圖中,將服務(wù)器的1111 端口映射到局域網(wǎng)內(nèi)監(jiān)控中心的2222 端口,這樣外網(wǎng)主機(jī)發(fā)往服務(wù)器1111 端口的數(shù)據(jù)都將被重定向到監(jiān)控中心的2222 端口,監(jiān)控中心只要開放并監(jiān)聽該端口,即可獲得相關(guān)數(shù)據(jù)。

監(jiān)控中心主機(jī)采用 Debian Linux 操作系統(tǒng),Debian 是一套為計(jì)算機(jī)設(shè)計(jì)的自由操作系統(tǒng),它包含一萬五千多個(gè)軟件包,都是自由開源的,并被包裝成容易安裝的deb 格式,Debian是一款功能強(qiáng)大的Linux 操作系統(tǒng)。

監(jiān)控中心的軟件設(shè)計(jì)主要完成以下兩個(gè)任務(wù):接收出租車終端發(fā)送過來的信息并寫入數(shù)據(jù)庫(kù);設(shè)計(jì)圖形管理軟件,方便各項(xiàng)功能的實(shí)現(xiàn)。

(1)接收出租車終端發(fā)送過來的定位信息并寫入數(shù)據(jù)庫(kù)

設(shè)計(jì)一個(gè)守護(hù)(Daemon)進(jìn)程,它可以實(shí)現(xiàn)在操作系統(tǒng)啟動(dòng)后一直在后臺(tái)運(yùn)行,不受控制終端的控制,該進(jìn)程主要用于監(jiān)聽本監(jiān)控中心的指定端口,接收由出租車終端發(fā)送過來的定位、速度和時(shí)間信息,然后將所有信息寫入POSTGRESQL8.0 數(shù)據(jù)庫(kù)[4]。POSTGRESQL數(shù)據(jù)庫(kù)是世界上可以獲得開放源碼的最先進(jìn)的數(shù)據(jù)庫(kù)系統(tǒng),支持幾乎所有 SQL 構(gòu)件(包括子查詢,事務(wù)和用戶定義類型和函數(shù)),并且為多種開發(fā)語言提供接口(包括 C,C++Java 等)。

Linux 系統(tǒng)下采用C 語言對(duì)該數(shù)據(jù)庫(kù)進(jìn)行操作,主要用到以下三個(gè)函數(shù):

PQconnectdb(“dbname=psql_data”)用于打開名為psql_data 的POSTGRESQL 數(shù)據(jù)庫(kù);PQexec(PQconnectdb(),sql_query)用于對(duì)打開的數(shù)據(jù)庫(kù)執(zhí)行各種SQL 語句;PQfinish()用于關(guān)閉打開的數(shù)據(jù)庫(kù)。

(2)圖形管理軟件設(shè)計(jì)

監(jiān)控中心采用 GTK+2.0 進(jìn)行圖形管理軟件的開發(fā),GTK+2.0 采用面向?qū)ο蟮腃 語言開發(fā)框架,盡管完全用 C 寫成的,但它是基于類和回調(diào)函數(shù)的思想實(shí)現(xiàn)的,應(yīng)用它可以輕松的在Linux 系統(tǒng)平臺(tái)的X WINDOW 環(huán)境下開發(fā)出漂亮的圖形界面應(yīng)用程序。

該管理軟件采用雙線程編程,實(shí)現(xiàn)的功能如圖5:

POSTGRESQL 數(shù)據(jù)庫(kù)中保存的信息是各項(xiàng)功能實(shí)現(xiàn)的基礎(chǔ)。由于GTK+2.0 開發(fā)可以完全使用C 語言來實(shí)現(xiàn),所以在一個(gè)GTK+2.0 程序中可以很方便的進(jìn)行POSTGRESQL 數(shù)據(jù)庫(kù)的各項(xiàng)操作。需要注意的是在使用GTK+2.0 開發(fā)中文軟件的時(shí)候要將輸入字符設(shè)置為utf-8 的格式,否則軟件不能正常顯示中文字。

3.3 車載終端和監(jiān)控中心通信程序設(shè)計(jì)

出租車終端已獲得 IP 實(shí)現(xiàn)撥號(hào)上網(wǎng),監(jiān)控中心也進(jìn)行了服務(wù)器端的端口映射,兩者都成為了連上Internet 的主機(jī),接下來就可以通過Socket(嵌套字)實(shí)現(xiàn)兩主機(jī)進(jìn)程間的通信。

網(wǎng)絡(luò)通信過程中,各主機(jī)的進(jìn)程是由與其綁定的端口號(hào)來進(jìn)行區(qū)分的。

出租車終端和監(jiān)控中心采用 client 和server 模型,因?yàn)閿?shù)據(jù)發(fā)送比較頻繁,所以使用UDP 協(xié)議進(jìn)行數(shù)據(jù)包的傳輸,以提高傳輸速率。首先由車載終端進(jìn)程創(chuàng)建一個(gè)Socket,接著向監(jiān)控中心指定端口發(fā)起連接請(qǐng)求。監(jiān)控中心進(jìn)程也創(chuàng)建一個(gè)Socket,并將其綁定到該指定端口,接著對(duì)該端口進(jìn)行監(jiān)聽,一旦檢測(cè)到連接請(qǐng)求,隨即調(diào)用connect 函數(shù)建立該連接,從而在兩主機(jī)上的Socket 之間建立連接,之后雙方進(jìn)程之間就可以通過send()和recv()函數(shù)進(jìn)行數(shù)據(jù)的發(fā)送和接收操作了。

4 結(jié)論

本文提出了一套完整的出租車監(jiān)控調(diào)度系統(tǒng)設(shè)計(jì)方案,充分利用了 GPS 精確的定位能力和GPRS 穩(wěn)定、高速的無線數(shù)據(jù)傳輸能力。在經(jīng)過實(shí)際調(diào)試應(yīng)用后,系統(tǒng)運(yùn)行穩(wěn)定。再加上本系統(tǒng)軟件部分都是在Linux 操作系統(tǒng)下實(shí)現(xiàn),使得系統(tǒng)開發(fā)成本大大降低,如果在車載終端硬件設(shè)計(jì)時(shí)能夠進(jìn)行針對(duì)性的優(yōu)化配置,將使得成本進(jìn)一步降低。另外,在本系統(tǒng)的基礎(chǔ)上擴(kuò)展其他功能也是很方便的,如在車載終端引入電子地圖的導(dǎo)航功能,以及監(jiān)控中心引入路況報(bào)告功能等。隨著GPS定位能力的進(jìn)一步提高和3G時(shí)代帶來的移動(dòng)通信速率的提升,相信本系統(tǒng)將擁有更為廣闊的應(yīng)用前景。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • gps
    gps
    +關(guān)注

    關(guān)注

    22

    文章

    2897

    瀏覽量

    166332
  • 監(jiān)控
    +關(guān)注

    關(guān)注

    6

    文章

    2216

    瀏覽量

    55250
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9222

    瀏覽量

    85607
  • GPRS
    +關(guān)注

    關(guān)注

    21

    文章

    984

    瀏覽量

    129484
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    出租車計(jì)價(jià)器系統(tǒng)設(shè)計(jì)

    們帶來了出行的享受。但是總存在買賣糾紛困擾著行業(yè)的發(fā)展。然而解決這一矛盾的最好方法就是改良出租車的計(jì)價(jià)器,用更加精良的計(jì)價(jià)器來為乘客提供更加方便快捷的服務(wù)?;趩纹瑱C(jī)系統(tǒng)設(shè)計(jì)的出租車計(jì)價(jià)器是以單片機(jī)作為
    發(fā)表于 05-21 13:26

    出租車計(jì)費(fèi)系統(tǒng)

    誰有出租車的計(jì)費(fèi)系統(tǒng)或著套件呀!急需呀!
    發(fā)表于 10-22 17:39

    出租車計(jì)費(fèi)系統(tǒng)設(shè)計(jì)

    出租車計(jì)費(fèi)系統(tǒng)設(shè)計(jì),才有外部時(shí)鐘方式。
    發(fā)表于 02-28 10:13

    基于FPGA出租車計(jì)價(jià)系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)的技術(shù)框架是什么

    我想知道基于FPGA出租車計(jì)價(jià)系統(tǒng)實(shí)現(xiàn)的技術(shù)框架是什么?
    發(fā)表于 04-26 10:36

    如何利用FPGA設(shè)計(jì)出租車計(jì)價(jià)器系統(tǒng)?

    設(shè)計(jì)電子系統(tǒng),具有設(shè)計(jì)周期短、易于修改等明顯特點(diǎn),特別適合于進(jìn)行科學(xué)實(shí)驗(yàn)、樣機(jī)研制和電子產(chǎn)品的小批量生產(chǎn)。針對(duì)FPGA器件,用EDA工具軟件Max+P1usⅡ,設(shè)計(jì)了一種出租車的計(jì)價(jià)器,它可以以十進(jìn)制數(shù)的形式,直觀地顯示出租車
    發(fā)表于 08-15 06:31

    如何用HT46RU24單片機(jī)實(shí)現(xiàn)出租車計(jì)價(jià)器?

    本文詳細(xì)的闡述了用HT46RU24單片機(jī)實(shí)現(xiàn)出租車計(jì)價(jià)器的軟硬件原理。
    發(fā)表于 05-17 06:50

    如何實(shí)現(xiàn)出租車里程計(jì)時(shí)系統(tǒng)設(shè)計(jì)?

    如何實(shí)現(xiàn)出租車里程計(jì)時(shí)系統(tǒng)設(shè)計(jì)?
    發(fā)表于 10-27 07:17

    利用51單片機(jī)設(shè)計(jì)并實(shí)現(xiàn)一種出租車計(jì)價(jià)器

    利用51單片機(jī),設(shè)計(jì)實(shí)現(xiàn)市面上的出租車計(jì)價(jià)器的基本功能,能區(qū)分白天和黑夜,自動(dòng)調(diào)整價(jià)格;在液晶上顯示界面和計(jì)價(jià)信息等;價(jià)格存儲(chǔ)在外部EEPROM中,防止修改;其軟件系統(tǒng)的主要
    發(fā)表于 01-13 06:03

    基于FPGA的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

    提出了在QuartusII 9.0 軟件平臺(tái)上,基于FPGA的出租車計(jì)費(fèi)器的設(shè)計(jì)方案。通過VHDL描述出租車計(jì)費(fèi)系統(tǒng)的操作流程及控制方案,
    發(fā)表于 12-28 10:35 ?123次下載
    基于FPGA的<b class='flag-5'>出租車</b>計(jì)費(fèi)<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>

    一種新型的出租車調(diào)度系統(tǒng)

    本文設(shè)計(jì)和實(shí)現(xiàn)了一種新型的出租車調(diào)度系統(tǒng),該系統(tǒng)通過改進(jìn)當(dāng)前調(diào)度
    發(fā)表于 09-06 10:23 ?0次下載
    一種新型的<b class='flag-5'>出租車</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>系統(tǒng)</b>

    ATmega128出租車調(diào)度中心系統(tǒng)設(shè)計(jì)方案

    當(dāng)前,城市智能交通系統(tǒng)得到了廣泛的應(yīng)用。其中,出租車中心調(diào)度系統(tǒng)在一些大城市得到了充分的利用。通過全球定位
    發(fā)表于 11-22 15:56 ?0次下載
    ATmega128<b class='flag-5'>出租車</b><b class='flag-5'>調(diào)度</b>中心<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>設(shè)計(jì)方案</b>

    基于GPS的新型出租車調(diào)度系統(tǒng)設(shè)計(jì)解析

    引言 在大多數(shù)國(guó)家,出租車都是一種十分普遍和便捷的交通工具。多數(shù)發(fā)達(dá)國(guó)家建設(shè)了完善的出租車調(diào)度系統(tǒng)實(shí)現(xiàn)
    發(fā)表于 11-30 14:13 ?0次下載
    基于<b class='flag-5'>GPS</b>的新型<b class='flag-5'>出租車</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)解析

    基于GPS的新型出租車調(diào)度系統(tǒng)設(shè)計(jì)方案

    在大多數(shù)國(guó)家,出租車都是一種十分普遍和便捷的交通工具。多數(shù)發(fā)達(dá)國(guó)家建設(shè)了完善的出租車調(diào)度系統(tǒng),實(shí)現(xiàn)出租
    發(fā)表于 12-01 11:51 ?0次下載
    基于<b class='flag-5'>GPS</b>的新型<b class='flag-5'>出租車</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>設(shè)計(jì)方案</b>

    如何使用CPLD實(shí)現(xiàn)出租車計(jì)費(fèi)器的設(shè)計(jì)

    本文借助QuartusⅡ9.0軟件,基于大規(guī)??删幊踢壿嬈骷﨔PGA,利用Verilog HDL 語言,進(jìn)行出租車計(jì)費(fèi)器設(shè)計(jì)。該出租車計(jì)費(fèi)系統(tǒng)包括計(jì)數(shù)器分頻
    發(fā)表于 08-21 16:16 ?11次下載
    如何使用CPLD<b class='flag-5'>實(shí)現(xiàn)出租車</b>計(jì)費(fèi)器的設(shè)計(jì)

    利用單片機(jī)和霍爾傳感器模擬實(shí)現(xiàn)出租車計(jì)價(jià)器

    利用單片機(jī)和霍爾傳感器模擬實(shí)現(xiàn)出租車計(jì)價(jià)器,系統(tǒng)可以通過按鍵設(shè)置計(jì)價(jià)器的起步價(jià),里程價(jià),等待價(jià)等。
    發(fā)表于 10-17 10:52 ?1387次閱讀