• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Qt的嵌入式車輛遠程監(jiān)控報警系統(tǒng)圖形界面設計

      2018-01-17 10:42:40陳安郭文榮鄧惟記
      科技創(chuàng)新與應用 2018年34期
      關鍵詞:嵌入式車輛

      陳安 郭文榮 鄧惟記

      摘 要:文章在對基于Linux的嵌入式車輛遠程監(jiān)控報警系統(tǒng)的功能進行分析的基礎上,采用Qt軟件設計了系統(tǒng)的圖形界面,包括監(jiān)控主窗口和各個子窗口。詳細闡述了系統(tǒng)圖形界面的設計方法以及功能實現(xiàn)方法,并對系統(tǒng)采用的關鍵編程技術進行了詳細介紹。經(jīng)系統(tǒng)運行測試,系統(tǒng)圖形界面的設計和功能達到了預期設計需求。

      關鍵詞:嵌入式;車輛;遠程監(jiān)控報警;Qt;圖形界面設計

      中圖分類號:TP319 文獻標志碼:A 文章編號:2095-2945(2018)34-0022-03

      Abstract: On the basis of the analysis of the functions of the embedded vehicle remote monitoring and alarming system based on Linux, this paper designs the graphical interface of the system using Qt software, including the main monitoring window and each sub-window. The design method and function realization method of the system graphical interface are described in detail, and the key programming technology used in the system is introduced in detail. Through the system running test, the system graphical interface design and the function achieved the anticipated design demand.

      Keywords: embedded; vehicle; remote monitoring and alarming; Qt; graphical interface design

      1 概述

      隨著嵌入式技術的快速發(fā)展和廣泛應用,嵌入式技術也越來越多地應用于車載系統(tǒng)以便為用戶提供更多樣、便捷和實用的應用服務。在此背景下,針對當今愈發(fā)突出的車輛安全問題,開發(fā)了一套基于嵌入式Linux的車輛遠程監(jiān)控報警系統(tǒng),以實現(xiàn)對車輛安全情況的實時監(jiān)測和危險報警,方便車主或管理人員對車輛的遠程監(jiān)控和管理。

      在車輛遠程監(jiān)控報警系統(tǒng)的設計開發(fā)中,為了使系統(tǒng)的界面設計美觀、實用,同時保證系統(tǒng)的功能性、實時性等需求,選擇一套合適的開發(fā)工具非常重要。Qt軟件是一種跨平臺、面向?qū)ο蟮腃++應用程序圖形界面設計軟件,具有界面設計簡捷、美觀,設計的應用程序?qū)崟r性和靈活性高等特點,在嵌入式系統(tǒng)GUI圖形界面設計中有著廣泛的應用,能夠滿足本系統(tǒng)的設計開發(fā)需求,因此選擇其作為本系統(tǒng)的圖形界面設計軟件。

      2 系統(tǒng)概述

      本文所研究的車輛遠程監(jiān)控報警系統(tǒng)用于車主或管理人員對車輛的遠程監(jiān)控和報警,通過車載GPS模塊、溫度傳感器、加速度傳感器、振動傳感器和熱釋電傳感器實時采集車輛的位置、行駛狀態(tài)以及非法入侵等信息,并將這些信息顯示主控制器的監(jiān)控界面中。主控制器對實時采集的車輛信息進行分析處理,若發(fā)生危險則通過GSM網(wǎng)絡將報警信息和車輛信息發(fā)送給車主或管理者手機,從而實現(xiàn)車輛的快速報警處理。主控制器的功能包括車輛信息的實時顯示與處理、監(jiān)控短消息的收發(fā)與顯示、GPS模塊測試、GSM模塊測試、報警設置、自動報警、手動報警等。

      主控制器采用飛凌OK6410-A ARM11開發(fā)板,采用S3C6410處理器,4.3寸屏幕,運行Linux3.0.1嵌入式系統(tǒng)。各種車載傳感器分別連接主控板的GPIO、I2C等接口。GPS模塊和GSM/GPRS模塊通過不同串口連接主控制器,實現(xiàn)車輛GPS信息的實時采集和監(jiān)控報警短信息的收發(fā)。

      3 主控制器圖形界面設計

      3.1 軟件開發(fā)環(huán)境的搭建

      主控制器程序的圖形界面設計是在PC宿主機的Linux虛擬機上完成的,程序需要編譯后下載到主控制器上運行。本文的PC宿主機采用Window7系統(tǒng),安裝Linux Ubuntu12.04虛擬機。在Ubuntu虛擬機上需完成主控制器qt-4.7.1應用開發(fā)工具包的編譯、Qt Creator 2.4.1軟件的安裝。此外,還需安裝arm-linux-gcc-4.3.2交叉編譯器,以便編譯在主控制器ARM板上運行的qt-4.7.1應用程序。在完成上述工作后,還需在Qt Creator 2.4.1軟件中添加qt-4.7.1的qmake編譯文件路徑,并為其添加arm-linux-gcc-4.3.2交叉編譯器路徑,以實現(xiàn)主控制器程序的編譯。

      3.2 監(jiān)控主窗口的設計與實現(xiàn)

      監(jiān)控主窗口是主控制器上顯示的主界面,其功能是實時顯示車輛狀態(tài)信息、GPS定位信息、GSM遠程監(jiān)控報警短信息,以及GPS測試、GSM測試、報警設置、自動報警、手動報警等功能。

      3.2.1 創(chuàng)建應用程序項目和監(jiān)控主窗口

      首先,在Qt Creator 2.4.1軟件中創(chuàng)建車輛遠程監(jiān)控報警系統(tǒng)的應用程序項目(Project),項目類型為“Qt Widget Project”下的“Qt Gui Application”。隨后,創(chuàng)建基于QDialog的對話框類,并自動生成無模式對話框,此對話框即監(jiān)控主窗口。

      3.2.2 監(jiān)控主窗口設計

      根據(jù)監(jiān)控主窗口的功能需求,其界面設計包括四個部分:車輛信息顯示、GPS信息顯示、GSM遠程監(jiān)控報警信息顯示以及各個功能按鈕,如圖1所示。窗口元素采用Qlabel標簽顯示靜態(tài)文本信息、QlineEdit單行文本框顯示內(nèi)容簡短的動態(tài)文本信息,各個功能按鈕則利用QpushButton來實現(xiàn)。窗口文字采用簡體中文“文泉驛字體”。窗口布局采用 QgridLayout網(wǎng)格布局形式,以便當窗口縮放時各窗口元素能夠根據(jù)窗口大小自動進行縮放調(diào)整。

      3.2.3 監(jiān)控主窗口功能的實現(xiàn)

      (1)車輛信息的實時動態(tài)顯示

      監(jiān)控主窗口采用定時器每隔1秒鐘讀取各種車載傳感器采集的溫度、加速度、振動以及外人非法進入車輛等信息并顯示在車輛信息顯示界面中。具體實現(xiàn)方法如下:

      首先,在監(jiān)控主窗口源文件(.cpp)中包含定時器庫文件“Qtimer”,創(chuàng)建定時器并設置定時器的超時時間為1秒。然后,通過Qt 的“信號——槽”機制將定時器超時信號與傳感器的數(shù)據(jù)采集和顯示程序相關聯(lián),從而實現(xiàn)定時器超時后自動執(zhí)行傳感器的數(shù)據(jù)采集和顯示程序。

      以車輛溫度為例,關聯(lián)定時器超時信號與溫度采集和顯示程序的代碼如下:

      connect(tempTimer,SIGNAL(timeout()),this,SLOT(show_Temprature()));

      其中,“tempTimer”為發(fā)送信號的定時器對象指針,“SIGNAL(timeout())”為定時器發(fā)送的超時信號,“this”為接收信號的主窗口對象指針, “show_Temprature() ”為主窗口接收到定時器超時信號后自動執(zhí)行的車輛溫度采集和顯示槽函數(shù)。

      (2)GPS信息的實時動態(tài)顯示

      監(jiān)控主窗口每隔一秒鐘實時顯示車輛的GPS經(jīng)度和緯度定位信息,其GPS定位信息來自于GPS子窗口。當主控制器程序運行后,將創(chuàng)建監(jiān)控主窗口、GPS子窗口以及其他子窗口。GPS子窗口采用定時器每隔一秒鐘通過串口讀取GPS模塊接收的GPS定位信息,經(jīng)解析處理后將GPS經(jīng)度和緯度信息同步回傳到主窗口進行顯示。

      GPS子窗口與主窗口之間通過Qt 帶參數(shù)的“信號——槽”機制來實現(xiàn)數(shù)據(jù)的同步傳遞。GPS子窗口(GPSDialog)定時向主窗口發(fā)送sendGPSsignal(QString,QString)信號,將GPS經(jīng)度和緯度數(shù)據(jù)通過兩個Qstring參數(shù)發(fā)送給主窗口。主窗口接收到該信號后,將自動執(zhí)行show_GPS(QString,QString)槽函數(shù)顯示接收到的GPS經(jīng)度和緯度數(shù)據(jù)。

      主窗口和GPS子窗口的“信號——槽”關聯(lián)代碼如下:

      connect(GPSDialog,SIGNAL(sendGPSsignal(QString,QString)),this,SLOT(show_GPS(QString,QString)));

      (3)GSM監(jiān)控短信息的實時動態(tài)顯示

      與GPS信息的顯示方法類似,GSM監(jiān)控短信息的實時顯示也是利用帶參數(shù)的“信號——槽”將GSM子窗口中實時接收的監(jiān)控短信息同步回傳到主窗口中進行顯示,具體實現(xiàn)過程不再贅述。

      (4)子窗口的顯示

      在監(jiān)控主窗口中設置了GPS測試、GSM測試、報警設置等按鈕,單擊某按鈕將打開相應的子窗口實現(xiàn)其功能。

      以“GPS測試”按鈕為例,單擊該按鈕將打開GPS子窗口。具體實現(xiàn)方法為:

      在主窗口的“.cpp”文件中定義“GPS測試”按鈕的鼠標單擊槽函數(shù),函數(shù)實現(xiàn)代碼如下:

      void JkDialog::on_Button_GPSTest_clicked()

      {

      GPSDialog->show(); // 顯示GPS子窗口

      }

      3.3 GPS子窗口的設計與實現(xiàn)

      除監(jiān)控主窗口之外,主控制器程序還包括GPS、GSM、報警設置等子窗口,各自實現(xiàn)不同的系統(tǒng)功能。由于篇幅所限,本文僅以GPS子窗口為例說明其設計與實現(xiàn)方法。

      3.3.1 創(chuàng)建GPS子窗口

      在應用程序項目中,選擇創(chuàng)建新的“Qt Designer Form Class”,然后選擇窗體模板“Dialog without Buttons”,設置窗體類名,完成GPS對話框的創(chuàng)建,此對話框為無模式對話框。

      3.3.2 GPS子窗口設計

      GPS子窗口的功能是測試GPS模塊狀態(tài)、定時讀取GPS模塊所接收的原始GPS定位信息,并對信息進行解析處理,獲得詳細的GPS定位信息(包括經(jīng)度、緯度、速度、航向、UTC時間等)并加以顯示。此外,還會將車輛的GPS經(jīng)緯度信息同步傳送給主窗口進行顯示。

      根據(jù)GPS子窗口的功能需求,其界面設計包括:經(jīng)度、緯度、速度、航向、UTC時間、GPS狀態(tài)、GPS信息(GPS原始信息)等文本信息以及GPS測試和退出等按鈕,如圖2所示。界面元素采用Qlabel標簽顯示靜態(tài)文本信息,采用QlineEdit單行文本框顯示緯度、經(jīng)度、速度、航向等簡短動態(tài)文本信息,采用QtextBrower多行文本瀏覽框顯示GPS模塊接收的原始GPS信息,GPS測試和退出等按鈕則采用QpushButton來實現(xiàn)。對話框窗口文字和窗口布局形式與監(jiān)控主窗口相同。

      3.3.3 GPS子窗口功能的實現(xiàn)

      (1)GPS初始化設置

      在GPS子窗口中,單擊“GPS測試”按鈕開始GPS模塊的初始化和測試。具體實現(xiàn)方法如下:

      程序首先打開GPS模塊所連接的串口,若成功則設置串口的通信參數(shù),本文的GPS串口的通信速率設置為9600KBps、8位數(shù)據(jù)位、無奇偶校驗、1位停止位、無數(shù)據(jù)流控制。隨后,創(chuàng)建并啟動定時器,設置定時器的超時時間為1秒。然后,將定時器的超時信號與GPS信息接收和處理槽函數(shù)相關聯(lián),以實現(xiàn)定時讀取GPS信息進行處理及顯示。若串口打開失敗,則顯示提示信息。

      (2)GPS信息的接收與處理

      GPS信息接收和處理槽函數(shù)首先讀取GPS串口所接收的GPS原始信息,并根據(jù)GPS 的NMEA0183通信標準, 對GPS原始信息中的“$GPRMC”部分進行解析處理,從而得到經(jīng)度、緯度、速度、航向、UTC時間等詳細信息。隨后,將GPS原始信息和解析處理后的GPS定位信息顯示在GPS子窗口中。若GPS信息中出現(xiàn)無效定位字符,則提示GPS定位失敗。

      (3)GPS子窗口向主窗口同步傳送GPS數(shù)據(jù)

      在GPS信息接收和處理槽函數(shù)中,當完成GPS信息的解析處理后,將向主窗口發(fā)送“sendGPSsignal(QString,

      QString)”信號,將GPS經(jīng)度和緯度數(shù)據(jù)作為參數(shù)傳遞給主窗口進行顯示。發(fā)送該信號的代碼如下:

      emit sendGPSsignal(longtitude,latitude);

      其中,參數(shù)longtitude和latitude分別為解析后得到的GPS經(jīng)度和緯度數(shù)據(jù)。

      4 結(jié)束語

      本文采用Qt軟件實現(xiàn)了基于Linux的嵌入式車輛遠程監(jiān)控報警系統(tǒng)的設計,完成了監(jiān)控主窗口和各個子窗口的界面設計,實現(xiàn)了各窗口的功能和窗口之間的數(shù)據(jù)傳遞,界面簡潔、實用,系統(tǒng)功能達到了車輛遠程監(jiān)控和自動報警的應用需求,提高了車輛的安全性,具有較高的實用性。

      參考文獻:

      [1]田磊.嵌入式Linux系統(tǒng)中基于QT庫的應用程序設計[J].實驗室研究與探索,2014,33(5):84-86+115.

      [2]孫弋,張曉剛.基于嵌入式Linux的車載終端的設計與實現(xiàn)[J].微計算機信息,2009,25(6-2):86-88.

      [3]王存健,張建正.嵌入式Linux下Qt/Embedded的應用[J].計算機技術與發(fā)展,2006,16(11):179-181.

      [4]成潔,路欣.嵌入式Linux平臺的GPS數(shù)據(jù)采集研究[J].江西理工大學學報,2006,27(3):24-26.

      [5]趙慶麗,魏東興,郭永山.基于嵌入式LINUX的GPRS數(shù)據(jù)傳輸系統(tǒng)[J].信息技術,2004,28(3):1-4+19.

      [6]張歡慶,高麗,宋承祥.基于ARM的嵌入式Linux交叉編譯環(huán)境的研究與實現(xiàn)[J].計算機與數(shù)字工程,2012(2):151-153.

      猜你喜歡
      嵌入式車輛
      無人駕駛車輛
      科學(2020年3期)2020-11-26 08:18:28
      TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應用
      電子制作(2019年7期)2019-04-25 13:17:14
      車輛異響的判斷
      嵌入式系統(tǒng)通信技術的應用
      電子制作(2018年18期)2018-11-14 01:48:16
      車輛
      小太陽畫報(2018年3期)2018-05-14 17:19:26
      搭建基于Qt的嵌入式開發(fā)平臺
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
      冬天路滑 遠離車輛
      車輛出沒,請注意
      提高車輛響應的轉(zhuǎn)向輔助控制系統(tǒng)
      汽車文摘(2015年11期)2015-12-02 03:02:53
      遂宁市| 大冶市| 海门市| 铜川市| 新平| 莱西市| 张家口市| 宣化县| 沾益县| 惠东县| 衡山县| 沈丘县| 庆云县| 法库县| 宜兰市| 皋兰县| 牟定县| 隆子县| 三亚市| 惠来县| 英德市| 若尔盖县| 灵台县| 上林县| 三原县| 股票| 土默特右旗| 永清县| 绥宁县| 洛南县| 海淀区| 安化县| 辽源市| 资讯 | 平安县| 新平| 正蓝旗| 曲阳县| 荣成市| 普洱| 肇州县|