亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于BBB平臺的車載定位監(jiān)控系統(tǒng)設計

        2015-07-03 07:41:36劉博楊斌
        關鍵詞:開發(fā)板字段線程

        劉博,楊斌

        (西南交通大學 信息科學與技術學院,成都610031)

        引 言

        隨著人們生活水平不斷提高,私家車越來越多地走進了平常百姓家。這樣就引發(fā)了一個嚴重的社會問題,車輛被盜的情況越來越多,在這個趨勢下車載定位監(jiān)控系統(tǒng)越來越得到廣大車主關注。車載定位監(jiān)控系統(tǒng)可以時時刻刻保護車輛的財產安全。這種車輛安防系統(tǒng)將會是汽車租賃公司、汽車廠商保護車輛安全的合理解決方案。

        1 硬件平臺

        1.1 BeagleBone Black開發(fā)板

        中國版BeagleBone Black(BBB)是英蓓特科技有限公司推出的一款基于AM3359處理器的開源開發(fā)套件。處理器集成了4 GHz的ARM Cortex-A8內核,并提供了豐富的外設接口。中國版BBB的擴展接口包括網口、USB Host、USB OTG、TF卡接口、串口、JTAG 接口(默認不焊)、HDMI D Type接口、e MMC、ADC、I2C、SPI、PWM 和LCD屏接口。通用接口包括4組通用輸入輸出接口(GPIO),每一組GPIO模組提供32個專用的通用接口輸入輸出引腳,因此通用的GPIO有128個引腳??删幊虒崟r單元和工業(yè)通信子系統(tǒng)(PRU-ICSS)包含了兩個32位RISC內核(可編程實時單元,即PRUs)、存儲器、終端控制器,以及能夠支持更多周邊接口和協(xié)議的內部外設。圖1為BeagleBone Black開發(fā)板。

        1.2 SIM908開發(fā)板

        圖1 BeagleBone Black開發(fā)板

        圖2為SIM908開發(fā)板。SIM908是一款集成GPS導航技術的四頻GSM/GPRS 模 塊。模塊結構緊湊,將GPRS和GPS整合在SMT封裝里。開發(fā)板擁有一個GSM控制串口和GPS控制串口。GSM控制串口可以控制開發(fā)板工作狀態(tài),開啟相應的功能,GPS控制串口功能為讀取GPS數(shù)據。SIM908開發(fā)板可以實現(xiàn)GPS定位和GPRS數(shù)據的傳輸。

        1.3 系統(tǒng)硬件架構

        整個系統(tǒng)共分為3個部分,如圖3所示。第一部分為車載監(jiān)控終端,由SIM908和BBB開發(fā)板構成,SIM908負責GPS數(shù)據的采集,并通過GPRS數(shù)據傳輸功能發(fā)送GPS數(shù)據,BBB開發(fā)板負責GPS數(shù)據處理和SIM908工作狀態(tài)的控制。第二部分為移動基站,負責數(shù)據的轉發(fā)交互。第三部分為系統(tǒng)的PC操作上位機,顯示車輛位置信息。

        圖3 系統(tǒng)硬件架構圖

        2 軟件設計

        2.1 系統(tǒng)軟件構建

        系統(tǒng)軟件構建如圖4所示。

        圖4 系統(tǒng)軟件構建圖

        2.2 PC上位機軟件實現(xiàn)

        2.2.1 基于QT實現(xiàn)上位機

        在PC操作上位機,有兩個Qt Web Kit控件分別用來顯示Google地圖和Baidu地圖、一個IP地址輸入對話框、當前GPS信息顯示欄等。窗口界面的設計比較簡單,在這里主要介紹數(shù)據的處理和內部的信號機制。在QT編程中應用最廣泛的應該是信號、槽。信號顧名思義,就是一種聲明消息,當按鈕等觸發(fā)事件發(fā)生的時候,監(jiān)聽的特定槽函數(shù)就可以運行,對指定的數(shù)據操作進行處理。

        在本系統(tǒng)中SIGNAL readyRead()是TCP通信中特定的信號,它的意義就是當前的數(shù)據已經準備妥當,可以進行讀取,這個時候就可以觸發(fā)槽函數(shù)void readdata()對網絡傳輸來的數(shù)據進行讀取。同樣,系統(tǒng)中聲明了很多槽函數(shù)和信號觸發(fā),SIGNAL connected()是指當TCP通信建立成功后觸發(fā)connectfinished()函數(shù),告訴用戶連接成功。當連接成功后就開始對獲取的GPS進行解析,然后通過QT的QtWeb Kit與JavaScript的交互分別在Google和Baidu地圖上描點顯示,并在旁邊的GPS數(shù)據欄中顯示當前GPS數(shù)據信息。

        2.2.2 GPS數(shù)據解析原理

        GPS數(shù)據格式如下:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F

        字段0:$GPGGA,語句ID,表明該語句為Global Positioning System Fix Data(GGA)GPS定位信息。

        字段1:UTC時間,hhmmss.sss,時分秒格式。

        字段2:緯度ddmm.mmmm,度分格式(前導位數(shù)不足則補0)。

        字段3:緯度N(北緯)或S(南緯)。

        字段4:經度dddmm.mmmm,度分格式(前導位數(shù)不足則補0)。

        字段5:經度E(東經)或 W(西經)。

        字段6:GPS狀態(tài),0=未定位,1=非差分定位,2=差分定位,3=無效PPS,6=正在估算。

        字段7:正在使用的衛(wèi)星數(shù)量(00~12)(前導位數(shù)不足則補0)。

        字段8:HDOP水平精度因子(0.5~99.9)。

        字段9:海拔高度(-9999.9~99999.9)。

        字段10:地球橢球面相對大地水準面的高度。

        字段11:差分時間(從最近一次接收到差分信號開始的秒數(shù),如果不是差分定位將為空)。

        字段12:差分站ID號0000~1023(前導位數(shù)不足則補0,如果不是差分定位將為空)。

        字段13:校驗值。

        程序設計中,首先應用字符串查找函數(shù)對GPGGA字段進行查找,然后分別對其進行相應處理,處理過程中會運用數(shù)據的相互轉換。比如string和double,應用string庫函數(shù)atof進行相應的轉換。當數(shù)據處理結束之后,就可以應用GPS數(shù)據進行地圖定位。

        2.2.3 在線地圖加載

        QWeb View類提供了一個可以展現(xiàn)和編輯網頁文檔的widget。QWeb View是Qt Web Kit網頁瀏覽模塊的一個主要widget組件,可以用它來展現(xiàn)互聯(lián)網網頁。Qt Designer中創(chuàng)建的一個QWeb View,可以使用QWeb View的load()方法來加載一個網站,如load(QUrl("googlemap.html"))同其他所有QT的widget一樣,需要調用show()方法才會顯示出QWeb View。QWeb View除了用load方法設定網頁路徑外,也可以使用set Html方法加載html格式的網頁,如set Url(QUrl("baidumap.html"))。網頁文件加載之后,開啟QWeb View的JS功能,這樣就可以實現(xiàn)與網頁文件進行JS交互應用了。

        2.2.4 QtWebKit與JavaScript交互實現(xiàn)地圖定位

        QT與JavaScript互調是通過QWebFrame的兩個函數(shù)來實現(xiàn)的:add ToJavaScript Window Object()將 QObject對象傳給JS,這樣JS就能調用QObject的public slots函數(shù)。QT通過evaluateJavaScript()直接調用JS中的函數(shù),QWeb Kit與JavaScript交互原理圖如圖5所示。當GPS數(shù)據被解析之后通過如下的函數(shù)進行交互:

        其中BaiDu_Mark()為網頁中的JavaScript功能函數(shù),如下所示:

        圖5 QtWeb Kit與JavaScript交互原理圖

        2.3 車載終端實現(xiàn)

        2.3.1 BBB串口驅動和設備樹的實現(xiàn)

        Device Tree是一種描述硬件的數(shù)據結構,起源于OpenFirmware(OF)。在Linux 2.6中,ARM架構的硬件細節(jié)過多地被硬編碼在arch/arm/plat-xxx和arch/arm/mach-xxx中,采用Device Tree后,許多硬件的細節(jié)可以直接通過它傳遞給Linux,而不需要在kernel中進行大量的冗余編碼。device tree有3種格式:一個是方便閱讀的源文件*.dts(device tree source),另兩個是經過編譯送給系統(tǒng)使用的文件*.dtb(device tree blob)和*.dtbo(device tree blob overlay)。BBB上有UART1~UART5共5個可用的UART串口,配置*.dts源文件。在/lib/firmware目 錄 中 創(chuàng) 建 設 備 樹 源 文 件/lib/firmware/BBUART1-00A0.dts。以UART1為例:

        P9.24和P9.26分別用作txd和rxd引腳。編譯*.dts文件:dtc-I dts-O dtb-@ BB-UART1-00A0.dts> BBUART1-00A0.dtbo

        加載dtbo文件BeagleBone Black中用cape manager軟 件 管 理 所 有 的 cape,目 錄 是/sys/devices/bone_capemgr.8/。這個目錄內有一個叫做slots的文件,是capemgr軟件的對外接口。加載cape:

        echo BB-UART1>/sys/devices/bone_capemgr.8/slots

        slot是“插槽”的意思,要插上一個cape,就要向這個“插槽”里“插入”(echo)相應的設備,echo的含義是“向標準設備輸出”。同樣也可以在程序中調用system終端命令掛載device tree來啟動UART1:system("echo BB-UART1>$SLOTS")

        通過以上的配置我們就可以方便地使用串口了。

        2.3.2 GPS數(shù)據采集線程

        GPS數(shù)據采集線程就是所謂的生產者,它主要的工作是不間斷地對GPS數(shù)據進行采集,然后通知數(shù)據發(fā)送線程將打包好的數(shù)據發(fā)送。

        在GPS采集線程中應用了Linux的特色功能異步I/O,Linux異步I/O是Linux2.6版本內核的一個標準特性,異步I/O背后的基本思想是允許進程發(fā)起很多I/O操作,而不用阻塞或等待任何操作完成。稍后在接收到I/O操作完成的通知時,進程就可以檢索I/O操作的結果。在一個CPU密集型的應用中,需要預先知道這些數(shù)據的位置,所以預先發(fā)起異步I/O讀請求。等到真正需要用到這些數(shù)據的時候,再等待異步I/O完成。使用了異步I/O,在發(fā)起I/O請求到實際使用數(shù)據這段時間內,CPU還可以繼續(xù)做其他事情。這樣就可以很好地應用CPU的資源,讓應用程序更加合理有效地運行。串口數(shù)據準備好后,GPS數(shù)據采集線程就可以將準備好的GPS數(shù)據放入事先申請的隊列中,并發(fā)送信號給發(fā)送線程,告知采集成功。

        2.3.3 GPS數(shù)據發(fā)送線程

        SIM908模塊的GPRS發(fā)送模式一共有兩個,分別是非透傳模式和透傳模式,其中非透傳模式具有支持多連接的功能。但是在編程處理時選擇了透傳模式,透傳模式下在設置生效、連接好網絡端之后,就可以直接傳輸數(shù)據了。如“AT+CIPMODE=1”設置透傳模式,“AT+CIPSTART="TCP","119.129.252.148",8080”建 立 TCP/IP連接或UDP,透傳模式下建立好連接后就可以直接發(fā)送數(shù)據,無需發(fā)送指令即可相互發(fā)送數(shù)據。

        GPS數(shù)據發(fā)送線程就是所謂的消費者,它主要負責將準備好的GPS數(shù)據發(fā)送到監(jiān)控系統(tǒng)的終端,當GPS數(shù)據發(fā)送線程接到GPS數(shù)據采集線程的信號后,就會訪問內存,將內存隊列中的數(shù)據通過Socket套接字發(fā)送到客戶端,然后發(fā)送一個信號給GPS數(shù)據采集線程,告之已經成功發(fā)送,可以再次采集數(shù)據。

        3 測 試

        當遠程監(jiān)控終端程序開啟的時候,首先將GPS數(shù)據進行解析,然后在地圖上描點。監(jiān)控端地圖定位如圖6所示,圖中的左半部分為百度地圖的定位顯示,右半部分為谷歌地圖的定位顯示,用兩個地圖進行對比,從而獲得更加合理的定位顯示。監(jiān)控端衛(wèi)星定位圖示如圖7所示,地圖中標定的位置為西南交通大學0號實驗樓。

        結 語

        本系統(tǒng)使用GPRS作為GPS車輛綜合監(jiān)控調度管理系統(tǒng)的無線傳輸手段,具有費用低、無需線纜施工及安全可靠、維護方便的特點,是一種經濟可行、技術成熟的系統(tǒng)構建方案。通過實際檢驗,系統(tǒng)工作穩(wěn)定,能夠較精確地完成車輛監(jiān)控,操作簡單方便。

        圖7 監(jiān)控端衛(wèi)星定位圖示

        [1]李延興.GPS技術研究新進展[M].天津:天津科學技術出版社,2009.

        [2]鄧中衛(wèi).GPS技術、應用與市場[M].北京:航空工業(yè)出版社,2012.

        [3]錢天爵.GPS接收機使用與維修[M].北京:北京海潮出版社,2013.

        [4]王廣運.GPS精密測地系統(tǒng)原理[M].北京:測繪出版社,2007.

        [5]王解先.GPS精密定軌定位[M].上海:同濟大學出版社,2007.

        [6]錢天爵,瞿學林.GPS全球定位系統(tǒng)及其應用[M].北京:北京海潮出版社,2007.

        [7]洪大永.GPS全球定位系統(tǒng)技術及其應用[M].廈門:廈門大學出版社,2008.

        [8]日本測地學會.GPS人造衛(wèi)星精密定位系統(tǒng)[M].北京:地震出版社,2010.

        [9]魏子卿.GPS衛(wèi)星測軌網研究[M].北京:北京星球地圖出版社,2012.

        猜你喜歡
        開發(fā)板字段線程
        圖書館中文圖書編目外包數(shù)據質量控制分析
        Microchip最新推出兩款PIC32 Curiosity開發(fā)板
        淺談linux多線程協(xié)作
        淺析單片機開發(fā)板的設計與制作
        電子制作(2017年22期)2017-02-02 07:10:14
        CNMARC304字段和314字段責任附注方式解析
        無正題名文獻著錄方法評述
        Mouser為您呈上開發(fā)關鍵之STMicroelectronics Nucleo開發(fā)板
        Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
        關于CNMARC的3--字段改革的必要性與可行性研究
        圖書館建設(2014年3期)2014-02-12 15:41:35
        Linux線程實現(xiàn)技術研究
        日韩精品一区二区三区av| 国产三级精品三级| 久久国内精品自在自线图片| 国产精品久久久久久52avav| 中文字幕亚洲欧美日韩在线不卡| 亚洲精品国产二区三区在线| 国产av麻豆精品第一页| 亚洲精品一区二区三区52p| 波多野结衣爽到高潮大喷| 欧洲freexxxx性少妇播放 | 亚洲暴爽av天天爽日日碰| 亚洲色大成在线观看| 无码一区二区三区久久精品| 久久精品亚洲成在人线av| 国产一区二区三区视频网| 品色堂永远免费| 久久人人爽天天玩人人妻精品| 人妻无码一区二区| 四虎成人精品国产永久免费| 韩国一区二区三区黄色录像| 精品久久久久久综合日本| 亚洲国产欧美日韩欧美特级| 久青草国产视频| 国产一区二区三区四区色| 成人国产一区二区三区av| 蜜臀亚洲av无码精品国产午夜.| 国产成人无码精品午夜福利a | 亚洲视频在线观看第一页| 亚洲av无码国产精品久久| 久久精品女人天堂av| 女同中的p是什么意思| 亚洲一区久久久狠婷婷| 国产三级黄色大片在线免费看| 欧美成妇人吹潮在线播放| 国产嫖妓一区二区三区无码| 色综合久久加勒比高清88| 风韵丰满妇啪啪区老老熟女杏吧| 亚洲精品岛国av一区二区| 久久久久88色偷偷| 丰满人妻av无码一区二区三区| 亚洲男人天堂av在线|