• 
    

    
    

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

      基于Qt/Embedded的機房環(huán)境監(jiān)控系統(tǒng)

      2014-09-27 17:59:17劉鐘情
      現(xiàn)代電子技術(shù) 2014年8期

      劉鐘情

      摘要: 為了實現(xiàn)機房環(huán)境監(jiān)控系統(tǒng)實時性,可控性和可預(yù)警性,在軟硬件資源受限的嵌入式環(huán)境中,采用Qt/Embedded在嵌入式Linux系統(tǒng)下開發(fā)出友好的GUI界面,可以提供實驗室環(huán)境參數(shù)的查詢和設(shè)置,從而實現(xiàn)實時監(jiān)控。通過結(jié)合Qt/Embedded的特點和優(yōu)點,提出用Qt/Embedded實現(xiàn)實驗室環(huán)境監(jiān)控系統(tǒng)的圖形用戶界面的設(shè)計思路,并對Qt/Embedded圖形系統(tǒng)應(yīng)用開發(fā)過程中的一些關(guān)鍵問題進行了深入研究。

      關(guān)鍵詞: Qt/Embedded; 嵌入式GUI; 嵌入式Linux; 控制界面

      中圖分類號: TN911?34; TP311 文獻標(biāo)識碼: A文章編號: 1004?373X(2014)08?0038?02

      Qt/Embedded?based environment monitoring system for laboratory

      LIU Zhong?qing

      (Chengdu Sport University, Chengdu 610041, China)

      Abstract: To achieve the real?time performance, controllability and early warning of computer room environment monitoring system, Qt/Embedded is adopted in the embedded Linux system to realize friendly GUI, which makes query and set of the laboratory environment parameters possible in the hardware and software resource?constrained embedded environment. In consideration of the characteristics and advantages of Qt/Embedded, Qt/Embedded is used to realize the GUI of remote monitoring system for the environment in the laboratory. Some key problems existing in the process of developing the GUI based on Qt/Embedded is deeply discussed in this paper.

      Keywords: Qt/Embedded; embedded GUI; embedded Linux; control interface

      0引言

      智能監(jiān)控是當(dāng)前自動控制領(lǐng)域研究的熱點問題,在軟硬件資源受限的嵌入式環(huán)境中,將32位高性能微處理器和Qt/Embedded結(jié)合,應(yīng)用到現(xiàn)實控制場合具有一定的可行性和前瞻性。

      隨著自動化設(shè)備現(xiàn)場環(huán)境更加注重實效性,高精度,且對人體健康影響小等方面,目前,國內(nèi)高等院校的實驗室已不能完全滿足要求,因此,研究開發(fā)具有高效實時監(jiān)控,精密遠程控制,可靠安全預(yù)警等功能的的智能實驗室環(huán)境監(jiān)控系統(tǒng)具有重要的實踐意義[1]。本文重點研究基于Qt/Embedded智能實驗室監(jiān)控系統(tǒng)開發(fā)過程和應(yīng)用難點。

      1系統(tǒng)硬件架構(gòu)圖

      本系統(tǒng)主控制器以三星公司的S3C2410 ARM微處理器作為嵌入式前端機,通過MEGA8傳感器擴展板完成數(shù)據(jù)的采集,存儲,顯示和前端機的通信。以固定IP計算機為中層監(jiān)控主機,通過以太網(wǎng)接入Internet。監(jiān)控主機通過監(jiān)控軟件實時掌握被監(jiān)控點的環(huán)境參數(shù),根據(jù)預(yù)設(shè)參數(shù)(閾值)邏輯判斷狀態(tài),達到條件啟動異常警告[2],并將相關(guān)數(shù)據(jù)或報警信息傳送給遠程監(jiān)控。遠程監(jiān)控包括手機,固定電話,普通PC或移動PC等,他們通過GSM,PSTN,TCP/IP與監(jiān)控中心相連見圖1。

      系統(tǒng)功能流程為:軟件輪詢接收傳感器的狀態(tài)數(shù)據(jù),同時發(fā)送中斷請求,前端機根據(jù)串口通信協(xié)議發(fā)送控制命令給單片機,單片機根據(jù)控制命令向指定傳感器的返回狀態(tài)或數(shù)據(jù)。前端機的觸摸屏呈現(xiàn)的友好的GUI界面是在嵌入式Linux系統(tǒng)下用Qt開發(fā)的,具備提供實驗室環(huán)境參數(shù)的查詢和設(shè)置等功能。

      2Qt/Embedded系統(tǒng)平臺

      2.1Qt/Embedded系統(tǒng)移植

      Qt/Embedde系統(tǒng)是專為小型設(shè)備提供圖形用戶界面的應(yīng)用框架和窗口系統(tǒng),作為要移植的GUI,具體安裝移植參見文獻[3?4]。

      圖1 系統(tǒng)硬件架構(gòu)圖

      2.2中文顯示支持

      監(jiān)控系統(tǒng)使用中文字體顯示可以方便用戶操作。采用Qt/Embedded開發(fā)的監(jiān)控界面需要完成在編譯庫中加入對中文的支持和在程序中指定一個中文字體即可實現(xiàn)對中文支持[5]。

      2.3Qt/Embedded程序開發(fā)流程

      (1) 注冊環(huán)境變量,進入Qt/Embedded系統(tǒng)開發(fā)環(huán)境,PC機上使用Qt?x11.2.3.2的設(shè)計工具designer設(shè)計可視化界面,使用uic代碼自動生成工具把demo.ui生成C++代碼:demo.h和demo.cpp,并編寫main.cpp主程序,建立工程,然后編譯,生成可執(zhí)行文件,使用qvfb工具運行此可執(zhí)行文件查看仿真效果。

      (2) 使用交叉編譯工具編譯源程序,編譯生成可在ARM?Linux系統(tǒng)中運行的可執(zhí)行文件,將該可執(zhí)行文件復(fù)制到ARM?Linux系統(tǒng)中,在ARM?Linux系統(tǒng)中運行該可執(zhí)行文件,得到應(yīng)用程序的實際效果[6]。

      3GUI設(shè)計

      3.1圖形用戶界面程序框架

      用戶與嵌入式前端機的接口是圖形用戶界面,用戶可以根據(jù)圖形用戶界面所顯示的信息,結(jié)合觸摸屏選擇響應(yīng)的菜單,查詢所需要的信息。圖形用戶界面主要模塊有:狀態(tài)設(shè)置,數(shù)據(jù)通信,數(shù)據(jù)采集,故障診斷,溫度管理示即實時管理機房的溫度變化曲線, 濕度管理,即實時管理機房的濕度變化曲線。如圖2所示。

      3.2圖形用戶界面程序設(shè)計

      3.2.1頭文件和源文件的生成

      以下為使用QtDesigner開發(fā)溫度顯示界面,濕度管理及其他界面類似。使用uic工具,用temperature.ui界面文件生成temperature..h頭文件和源文件。

      uic ?otemperature.htemperature.ui

      uic ?otemperature.cpp ?impltemperature.htemperature.ui

      圖2 圖形用戶界面程序基本架構(gòu)

      溫度管理界面要實現(xiàn)查詢當(dāng)前或某個歷史時刻的溫度,在temperature.cpp文件里添加溫度曲線生成的代碼實現(xiàn)生成溫度曲線的功能。在文件temperature.cpp中定義一個temperature類的查詢當(dāng)前或某個歷史時刻的溫度成員函數(shù):

      void temperature::searchtempSlot()

      定義編輯生成溫度曲線成員函數(shù):

      void temperature::edittempSlot()

      溫度管理窗口界面的2個按鈕的Signal?Slot的connect()代碼:

      connect(searchtemp. SIGNAL(clicked()),this.SLOT(searchtempSlot)));

      connect(edittemp. SIGNAL(clicked()),this.SLOT(edittempSlot)));

      3.2.2main主函數(shù)文件編寫

      為了生成main.cpp文件,必須先生成QApplication類的實例,定義窗口類實例,把窗口類實例作為程序的主窗口,設(shè)置mainwindow部件,調(diào)用show()和exec()方法,使溫度管理界面作為主窗口。以下是temperature的主函數(shù)文件main.cpp的主要代碼:

      int main(int argc,char **argv)

      {

      QApplication temperature(argc,argv);

      temperature *mainwindow=new temperature;

      app.setMainWidget((&mainwindow);

      mainwindow?>show();

      retrun temperature.exec();

      }

      3.2.3編譯調(diào)試

      先生成.pro工程文件,采用progen方法為:$TMAKEDIR/bin/progen?T.app.t?otemperature.pro。用tmake命令生成Makefile文件,方法為:$TMAKEDIR/bin/tmake?oMakefiletemperature.pro,用make命令對整個工程進行編譯鏈接。調(diào)試過程中,先在開發(fā)機上用Qt/Embedded提供的模擬環(huán)境qvfb即Qt/Embedded的虛擬仿真窗口中進行測試[7]。

      3.2.4移植程序到目標(biāo)機

      重新編譯程序,復(fù)制Qt/Embedded二進制庫和應(yīng)用程序的二進制代碼到某個目錄下,把該目錄制成某種類型的根文件系統(tǒng),最后將該根文件系統(tǒng)燒寫到S3C410的FLASH存儲器上[8]。

      4結(jié)語

      高性能的監(jiān)控系統(tǒng)需要一個高性能,高可靠性的用戶界面的支持,基于Qt/Embedded的人機界面的設(shè)計,開發(fā)和維護成本低,人機交互信息豐富,豐富的API接口和基于組件的編程模型使得嵌入式應(yīng)用程序開發(fā)更加便捷[9]。本文設(shè)計了基于S3C2410ARM微處理器和嵌入式Linux系統(tǒng)的實驗室環(huán)境監(jiān)控系統(tǒng),對基于Qt/Embedded開發(fā)嵌入式GUI,及Qt/Embedded編程的關(guān)鍵技術(shù)問題做了較詳細的論述。

      參考文獻

      [1] 楊柳,岳坤,龐和明,等.Qt/Embedded及嵌入式Linux在智能監(jiān)控系統(tǒng)控制中的應(yīng)用[J].計算機應(yīng)用,2010,30(1):289?291.

      [2] 楊柳,龐和明,姜琳穎,等.嵌入式Linux及SQLite數(shù)據(jù)庫在智能監(jiān)控中的應(yīng)用研究[J].微計算機信息,2010,26(24):65?67.

      [3] 郭海濤,王進華.基于Qt支持庫的嵌入式系統(tǒng)中GUI分析與設(shè)計[J].江蘇電氣,2008(10):8?10.

      [4] 張亞君,孔帥.基于Qt/Embedded和Qtopia的嵌入式GUI移植開發(fā)[J].天津職業(yè)大學(xué)學(xué)報,2010,19(1):78?82.

      [5] 趙毅,游有鵬.基于Qt/Embedded的嵌入式數(shù)控系統(tǒng)人機界面設(shè)計與開發(fā)[J].工業(yè)控制計算機,2008,21(4):68?71.

      [6] 孫巍,馮偉興.Qt/Embedded應(yīng)用程序在ARM?Linux系統(tǒng)中開發(fā)與應(yīng)用[J].計算機應(yīng)用,2011,30(8):9?12.

      [7] 陳鯤,陳云秋,劉信新.基于Qt/Embedded的嵌入式Linux應(yīng)用程序的設(shè)計[J].計算機與數(shù)字工程,2009,37(1):156?158.

      [8] 劉勝玉,張志新.基于Qt/Embedded的嵌入式監(jiān)測系統(tǒng)人機界面[J].工業(yè)控制計算機,2009,22(9):17?18.

      [9] 連照亮,徐世國.基于Qt/Embedde在嵌入式Linux下的應(yīng)用研究[J].微計算機信息,2010,26(12):81?83.

      溫度管理窗口界面的2個按鈕的Signal?Slot的connect()代碼:

      connect(searchtemp. SIGNAL(clicked()),this.SLOT(searchtempSlot)));

      connect(edittemp. SIGNAL(clicked()),this.SLOT(edittempSlot)));

      3.2.2main主函數(shù)文件編寫

      為了生成main.cpp文件,必須先生成QApplication類的實例,定義窗口類實例,把窗口類實例作為程序的主窗口,設(shè)置mainwindow部件,調(diào)用show()和exec()方法,使溫度管理界面作為主窗口。以下是temperature的主函數(shù)文件main.cpp的主要代碼:

      int main(int argc,char **argv)

      {

      QApplication temperature(argc,argv);

      temperature *mainwindow=new temperature;

      app.setMainWidget((&mainwindow);

      mainwindow?>show();

      retrun temperature.exec();

      }

      3.2.3編譯調(diào)試

      先生成.pro工程文件,采用progen方法為:$TMAKEDIR/bin/progen?T.app.t?otemperature.pro。用tmake命令生成Makefile文件,方法為:$TMAKEDIR/bin/tmake?oMakefiletemperature.pro,用make命令對整個工程進行編譯鏈接。調(diào)試過程中,先在開發(fā)機上用Qt/Embedded提供的模擬環(huán)境qvfb即Qt/Embedded的虛擬仿真窗口中進行測試[7]。

      3.2.4移植程序到目標(biāo)機

      重新編譯程序,復(fù)制Qt/Embedded二進制庫和應(yīng)用程序的二進制代碼到某個目錄下,把該目錄制成某種類型的根文件系統(tǒng),最后將該根文件系統(tǒng)燒寫到S3C410的FLASH存儲器上[8]。

      4結(jié)語

      高性能的監(jiān)控系統(tǒng)需要一個高性能,高可靠性的用戶界面的支持,基于Qt/Embedded的人機界面的設(shè)計,開發(fā)和維護成本低,人機交互信息豐富,豐富的API接口和基于組件的編程模型使得嵌入式應(yīng)用程序開發(fā)更加便捷[9]。本文設(shè)計了基于S3C2410ARM微處理器和嵌入式Linux系統(tǒng)的實驗室環(huán)境監(jiān)控系統(tǒng),對基于Qt/Embedded開發(fā)嵌入式GUI,及Qt/Embedded編程的關(guān)鍵技術(shù)問題做了較詳細的論述。

      參考文獻

      [1] 楊柳,岳坤,龐和明,等.Qt/Embedded及嵌入式Linux在智能監(jiān)控系統(tǒng)控制中的應(yīng)用[J].計算機應(yīng)用,2010,30(1):289?291.

      [2] 楊柳,龐和明,姜琳穎,等.嵌入式Linux及SQLite數(shù)據(jù)庫在智能監(jiān)控中的應(yīng)用研究[J].微計算機信息,2010,26(24):65?67.

      [3] 郭海濤,王進華.基于Qt支持庫的嵌入式系統(tǒng)中GUI分析與設(shè)計[J].江蘇電氣,2008(10):8?10.

      [4] 張亞君,孔帥.基于Qt/Embedded和Qtopia的嵌入式GUI移植開發(fā)[J].天津職業(yè)大學(xué)學(xué)報,2010,19(1):78?82.

      [5] 趙毅,游有鵬.基于Qt/Embedded的嵌入式數(shù)控系統(tǒng)人機界面設(shè)計與開發(fā)[J].工業(yè)控制計算機,2008,21(4):68?71.

      [6] 孫巍,馮偉興.Qt/Embedded應(yīng)用程序在ARM?Linux系統(tǒng)中開發(fā)與應(yīng)用[J].計算機應(yīng)用,2011,30(8):9?12.

      [7] 陳鯤,陳云秋,劉信新.基于Qt/Embedded的嵌入式Linux應(yīng)用程序的設(shè)計[J].計算機與數(shù)字工程,2009,37(1):156?158.

      [8] 劉勝玉,張志新.基于Qt/Embedded的嵌入式監(jiān)測系統(tǒng)人機界面[J].工業(yè)控制計算機,2009,22(9):17?18.

      [9] 連照亮,徐世國.基于Qt/Embedde在嵌入式Linux下的應(yīng)用研究[J].微計算機信息,2010,26(12):81?83.

      溫度管理窗口界面的2個按鈕的Signal?Slot的connect()代碼:

      connect(searchtemp. SIGNAL(clicked()),this.SLOT(searchtempSlot)));

      connect(edittemp. SIGNAL(clicked()),this.SLOT(edittempSlot)));

      3.2.2main主函數(shù)文件編寫

      為了生成main.cpp文件,必須先生成QApplication類的實例,定義窗口類實例,把窗口類實例作為程序的主窗口,設(shè)置mainwindow部件,調(diào)用show()和exec()方法,使溫度管理界面作為主窗口。以下是temperature的主函數(shù)文件main.cpp的主要代碼:

      int main(int argc,char **argv)

      {

      QApplication temperature(argc,argv);

      temperature *mainwindow=new temperature;

      app.setMainWidget((&mainwindow);

      mainwindow?>show();

      retrun temperature.exec();

      }

      3.2.3編譯調(diào)試

      先生成.pro工程文件,采用progen方法為:$TMAKEDIR/bin/progen?T.app.t?otemperature.pro。用tmake命令生成Makefile文件,方法為:$TMAKEDIR/bin/tmake?oMakefiletemperature.pro,用make命令對整個工程進行編譯鏈接。調(diào)試過程中,先在開發(fā)機上用Qt/Embedded提供的模擬環(huán)境qvfb即Qt/Embedded的虛擬仿真窗口中進行測試[7]。

      3.2.4移植程序到目標(biāo)機

      重新編譯程序,復(fù)制Qt/Embedded二進制庫和應(yīng)用程序的二進制代碼到某個目錄下,把該目錄制成某種類型的根文件系統(tǒng),最后將該根文件系統(tǒng)燒寫到S3C410的FLASH存儲器上[8]。

      4結(jié)語

      高性能的監(jiān)控系統(tǒng)需要一個高性能,高可靠性的用戶界面的支持,基于Qt/Embedded的人機界面的設(shè)計,開發(fā)和維護成本低,人機交互信息豐富,豐富的API接口和基于組件的編程模型使得嵌入式應(yīng)用程序開發(fā)更加便捷[9]。本文設(shè)計了基于S3C2410ARM微處理器和嵌入式Linux系統(tǒng)的實驗室環(huán)境監(jiān)控系統(tǒng),對基于Qt/Embedded開發(fā)嵌入式GUI,及Qt/Embedded編程的關(guān)鍵技術(shù)問題做了較詳細的論述。

      參考文獻

      [1] 楊柳,岳坤,龐和明,等.Qt/Embedded及嵌入式Linux在智能監(jiān)控系統(tǒng)控制中的應(yīng)用[J].計算機應(yīng)用,2010,30(1):289?291.

      [2] 楊柳,龐和明,姜琳穎,等.嵌入式Linux及SQLite數(shù)據(jù)庫在智能監(jiān)控中的應(yīng)用研究[J].微計算機信息,2010,26(24):65?67.

      [3] 郭海濤,王進華.基于Qt支持庫的嵌入式系統(tǒng)中GUI分析與設(shè)計[J].江蘇電氣,2008(10):8?10.

      [4] 張亞君,孔帥.基于Qt/Embedded和Qtopia的嵌入式GUI移植開發(fā)[J].天津職業(yè)大學(xué)學(xué)報,2010,19(1):78?82.

      [5] 趙毅,游有鵬.基于Qt/Embedded的嵌入式數(shù)控系統(tǒng)人機界面設(shè)計與開發(fā)[J].工業(yè)控制計算機,2008,21(4):68?71.

      [6] 孫巍,馮偉興.Qt/Embedded應(yīng)用程序在ARM?Linux系統(tǒng)中開發(fā)與應(yīng)用[J].計算機應(yīng)用,2011,30(8):9?12.

      [7] 陳鯤,陳云秋,劉信新.基于Qt/Embedded的嵌入式Linux應(yīng)用程序的設(shè)計[J].計算機與數(shù)字工程,2009,37(1):156?158.

      [8] 劉勝玉,張志新.基于Qt/Embedded的嵌入式監(jiān)測系統(tǒng)人機界面[J].工業(yè)控制計算機,2009,22(9):17?18.

      [9] 連照亮,徐世國.基于Qt/Embedde在嵌入式Linux下的應(yīng)用研究[J].微計算機信息,2010,26(12):81?83.

      天等县| 博乐市| 登封市| 丹东市| 上饶县| 那曲县| 镇远县| 莫力| 宁河县| 曲周县| 呼伦贝尔市| 如东县| 芦溪县| 西峡县| 弥渡县| 壤塘县| 青神县| 毕节市| 雷波县| 自贡市| 乐山市| 阳春市| 新竹县| 墨脱县| 仁化县| 白朗县| 舞阳县| 商水县| 湘乡市| 昌邑市| 麻阳| 石河子市| 金堂县| 安吉县| 湾仔区| 汉寿县| 黄石市| 栖霞市| 马龙县| 凉城县| 双流县|