国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Qt/Embedded的水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)

2014-04-29 00:44盧愛(ài)紅
計(jì)算機(jī)時(shí)代 2014年12期
關(guān)鍵詞:水平衡

摘 ?;要: 為了有效降低水務(wù)數(shù)據(jù)監(jiān)測(cè)的成本,提高水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)的實(shí)時(shí)性、可控性和可預(yù)警性,提出一種基于Qt/Embedded的水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)的實(shí)現(xiàn)方法,并對(duì)系統(tǒng)的軟、硬件設(shè)計(jì)進(jìn)行了詳細(xì)闡述。以嵌入式Linux為操作系統(tǒng),以ARM開(kāi)發(fā)板作為核心板,集成無(wú)線和有線多種數(shù)據(jù)傳輸接口來(lái)采集水表數(shù)據(jù),采集的數(shù)據(jù)匯總到核心板后,經(jīng)后臺(tái)統(tǒng)計(jì)分析,再在基于Qt/Embedded的水平衡框圖界面上實(shí)時(shí)顯示出來(lái)。測(cè)試結(jié)果顯示,該系統(tǒng)各模塊工作正常,滿足了用戶的需求。

關(guān)鍵詞: ARM; 嵌入式Linux; Qt/Embedded; 水平衡

中圖分類(lèi)號(hào):TP368.2 ?; ?; ?; ?; ?;文獻(xiàn)標(biāo)志碼:A ?; ?; 文章編號(hào):1006-8228(2014)12-22-02

Design of meter data monitoring system based on Qt/Embedded

Lu Aihong

(IT Department, Suzhou Institute of Trade &; Commerce, Suzhou, Jiangsu 215009, China)

Abstract: In order to reduce the cost of meter data monitoring system and improve the functions of the real-time monitoring, control ability and early warning, a kind of realization method of meter data monitoring system based on Qt/Embeddedis put forward.The software and hardware design idea are introduced concretely. The system uses embedded Linux as its operating system and ARM development board as its core board.The core board is integrated with wireless and wired interfaces to record meter data.The meter data will be transformed to the core board. After statistical analysis,it will be displayed on the water balance block diagram in the UI interface based on Qt/Embedded.The experimental result shows that the module can satisfy the design requirements.

Key words: ARM; embedded Linux; Qt/Embedded; water balance

0 引言

企業(yè)是城市用水大戶,特別是制造型企業(yè),一般會(huì)被要求裝上一級(jí)、二級(jí)等多達(dá)數(shù)百個(gè)水表,并要求每年進(jìn)行水平衡分析,生成水平衡報(bào)表,所以抄表人員必須每天將企業(yè)的數(shù)百個(gè)水表數(shù)據(jù)抄錄下來(lái),記載在冊(cè),才能根據(jù)真實(shí)的數(shù)據(jù)生成水平衡年份報(bào)表,這對(duì)人力是極大的浪費(fèi)。本系統(tǒng)針對(duì)這一現(xiàn)實(shí)問(wèn)題,提出一種基于Qt/Embedded的水務(wù)數(shù)據(jù)智能統(tǒng)計(jì)分析系統(tǒng),系統(tǒng)通過(guò)RS485、網(wǎng)口、GPRS無(wú)線傳輸?shù)榷喾N類(lèi)型接口,每天定時(shí)將數(shù)百個(gè)水表的數(shù)據(jù)采集到ARM核心板,并保存到數(shù)據(jù)庫(kù)。在Linux嵌入式平臺(tái)顯示屏上部署與應(yīng)用場(chǎng)景匹配的水平衡框圖,并顯示實(shí)時(shí)采集的水表數(shù)據(jù),后臺(tái)對(duì)水平衡數(shù)據(jù)進(jìn)行分析,對(duì)漏水線路提出警示信息。本系統(tǒng)方案適用于嵌入式設(shè)備,大大降低了水務(wù)統(tǒng)計(jì)分析系統(tǒng)的硬件成本,同時(shí)該系統(tǒng)的應(yīng)用也大大降低了抄表的人力成本。

1 系統(tǒng)要求與整體設(shè)計(jì)

對(duì)于水務(wù)數(shù)據(jù)監(jiān)測(cè),需要設(shè)計(jì)出一款便攜式的監(jiān)測(cè)系統(tǒng),集成RS485接口、GPRS無(wú)線接收器、以太網(wǎng)聯(lián)網(wǎng)等多種接口,以適應(yīng)市面上水表的各種數(shù)據(jù)傳輸方式,系統(tǒng)定時(shí)采集各級(jí)水表的數(shù)據(jù),保存到本地?cái)?shù)據(jù)庫(kù)。系統(tǒng)需要提供基于Qt/Embedded的友好的UI界面支持,能夠根據(jù)企業(yè)內(nèi)部實(shí)際水表分布繪制相應(yīng)的水平衡框圖,并將實(shí)時(shí)采集的水表數(shù)據(jù)在水平衡框圖上顯示出來(lái)。UI界面提供框圖繪制、框圖顯示、系統(tǒng)配置等子界面。系統(tǒng)需要提供SQLite數(shù)據(jù)庫(kù)支持,以保存各級(jí)水表的數(shù)據(jù)信息,便于后臺(tái)程序的統(tǒng)計(jì)和分析。

系統(tǒng)設(shè)計(jì)框圖如圖1所示[3]。

[7寸

LCD顯示器][LCD

接口\&;][RTC

時(shí)鐘模塊][網(wǎng)口

eth0][串口

UART0][USB

接口][網(wǎng)口

eth1][RS485

接口] [水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)][Ubuntu

虛擬機(jī)] [RS485

水表采集器] [GPRS

模塊][ModBus

水表采集器] [GPRS

水表采集器]

圖1 ?;系統(tǒng)邏輯框圖

2 硬件設(shè)計(jì)

在選擇硬件平臺(tái)時(shí),從以下幾個(gè)方面綜合考慮:硬件接口上支持多種數(shù)據(jù)傳輸接口的接入;顯示屏的選擇要考慮到支持復(fù)雜水平衡框圖的顯示,對(duì)顯示屏的尺寸和精度都有很高的要求。根據(jù)硬件的需求,我們選用以S3C2440為CPU的ARM開(kāi)發(fā)平臺(tái),配以7寸液晶顯示屏,既能夠支持種類(lèi)豐富的接口,也能基本滿足顯示要求。

操作系統(tǒng)選用嵌入式Linux,能根據(jù)用戶需求進(jìn)行裁剪,簡(jiǎn)化對(duì)各種通信接口的硬件驅(qū)動(dòng)配置要求。搭建Linux開(kāi)發(fā)環(huán)境時(shí),交叉編譯的虛擬機(jī)開(kāi)發(fā)環(huán)境是Ubuntu10.10版本,交叉編譯工具是arm-linux-4.3.2版本。S3C2440開(kāi)發(fā)板的Linux內(nèi)核版本是linux2.6.30.4,需要根據(jù)硬件接口和器件如LCD顯示屏、UART串口、eth0網(wǎng)口、USB等接口的原理圖,按需對(duì)Linux2.6.30.4內(nèi)核進(jìn)行裁剪。

3 軟件設(shè)計(jì)

在選擇軟件平臺(tái)時(shí)[2],考慮到整個(gè)系統(tǒng)的復(fù)雜的界面設(shè)計(jì)需求,以及對(duì)SQLite輕巧數(shù)據(jù)庫(kù)的支持,選用基于Qt4.7類(lèi)庫(kù)的QT嵌入式界面,能友好地支持Linux平臺(tái),并提供豐富的復(fù)雜的界面設(shè)計(jì)效果。在基于Qt4.7類(lèi)庫(kù)的Qt/Embedded環(huán)境下進(jìn)行UI設(shè)計(jì),首先需要在Linux的文件系統(tǒng)下,部署Qt/Embedded環(huán)境;然后在虛擬機(jī)開(kāi)發(fā)環(huán)境Ubuntu10.10中調(diào)用Qt Creator軟件進(jìn)行UI界面的設(shè)計(jì)和仿真;最后下載到ARM開(kāi)發(fā)板中,并在7寸顯示屏上正常顯示,界面同時(shí)能夠?qū)崿F(xiàn)與用戶的交互操作。

3.1 QT軟件開(kāi)發(fā)環(huán)境

QT是一個(gè)跨平臺(tái)的C++類(lèi)庫(kù),在Linux下使用操作系統(tǒng)原生的C++編譯器g++,QT的一大特色是帶了大量的配套開(kāi)發(fā)工具,如用于繪制窗口的QTDesigner。QT界面設(shè)計(jì)程序在各個(gè)平臺(tái)上是一樣的,只是跨平臺(tái)時(shí)需要加上各個(gè)平臺(tái)的庫(kù)重新編譯生成可執(zhí)行文件。QT目前已經(jīng)發(fā)展到第三代,是通過(guò)升級(jí)類(lèi)庫(kù)來(lái)更新發(fā)展,目前最高版本的類(lèi)庫(kù)是Qt4.7。QT平臺(tái)主要是面向嵌入式界面設(shè)計(jì)的,QT界面程序不是一個(gè)桌面系統(tǒng),而是可以直接運(yùn)行在嵌入式環(huán)境下的程序。

QT界面程序的設(shè)計(jì)環(huán)境是Qt Creator,這是QT的集成開(kāi)發(fā)環(huán)境(IDE),用于開(kāi)發(fā)源代碼、編譯鏈接源代碼、調(diào)試源代碼,大大簡(jiǎn)化了設(shè)計(jì)環(huán)境的配置。Qt Creator環(huán)境配置成交叉編譯的環(huán)境之后,用Qt Creator設(shè)計(jì)出的界面可執(zhí)行文件能夠在S3C2440開(kāi)發(fā)板上運(yùn)行。

3.2 在ARM開(kāi)發(fā)板的文件系統(tǒng)中配置QT嵌入式運(yùn)行環(huán)境[4]

配置QT嵌入式運(yùn)行環(huán)境,需要對(duì)S3C2440開(kāi)發(fā)板的文件系統(tǒng)進(jìn)行修改。

⑴ 用arm-linux-4.3.2交叉編譯工具編譯生成Qt4.7類(lèi)庫(kù),添加到ARM開(kāi)發(fā)板的文件系統(tǒng)中/opt文件夾。

⑵ 用arm-linux-4.3.2交叉編譯生成ts觸摸屏校準(zhǔn)庫(kù)tslib,添加到文件系統(tǒng)的/usr/local目錄下。

⑶ 修改/etc/profile配置文件,配置文件主要用于指定環(huán)境變量的具體路徑,其中QTDIR是Qt4.7類(lèi)庫(kù)路徑,QWS_MOUSE_PROTO用于指明觸摸屏或鼠標(biāo)的設(shè)備名,具體配置腳本如下:

export set QTDIR=/opt/Qt4.7

export set TSLIB_TSDEVICE=/dev/event1

export set QWS_MOUSE_PROTO="TSLIB:/dev/event1

USB:/dev/mouse0"

3.3 人機(jī)界面設(shè)計(jì)

水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)的人機(jī)界面是多級(jí)界面。主界面提供框圖顯示、系統(tǒng)設(shè)置、框圖繪制三個(gè)子界面給用戶選擇。

框圖繪制界面,針對(duì)不同企業(yè)復(fù)雜的水平衡環(huán)境,能夠根據(jù)實(shí)際環(huán)境的要求進(jìn)行個(gè)性化定制水平衡框圖。繪制界面提供直線、方框、按鈕、Label等多種繪圖元素,用戶可以根據(jù)本企業(yè)水平衡框圖的要求,在ARM開(kāi)發(fā)板上直接繪制相應(yīng)的框圖,并可以設(shè)置框圖中水管對(duì)應(yīng)的水表地址、水管的進(jìn)水出水屬性、多層水平衡框圖的級(jí)聯(lián)關(guān)系等。繪制完成框圖后,繪制界面提供保存功能,將用戶定制的框圖以圖元的形式保存到本地?cái)?shù)據(jù)庫(kù),在下次啟動(dòng)開(kāi)發(fā)板時(shí),系統(tǒng)自動(dòng)調(diào)用圖元,將水平衡框圖顯示出來(lái)。

框圖顯示界面是主要的功能界面,分為前臺(tái)、后臺(tái)兩部分程序。系統(tǒng)后臺(tái)從RS485、GPRS接口、網(wǎng)口等多種接口定時(shí)獲取水表讀數(shù)并保存到數(shù)據(jù)庫(kù)。系統(tǒng)前臺(tái)在單板啟動(dòng)時(shí),根據(jù)數(shù)據(jù)庫(kù)中保存的框圖圖元信息,顯示出水平衡框圖。根據(jù)廠區(qū)的水表級(jí)別,水平衡圖可以分成一級(jí)、二級(jí)等不同級(jí)別,不同級(jí)別的水平衡圖可以通過(guò)界面的按鍵跳轉(zhuǎn)和返回。水平衡圖中進(jìn)水管線為綠色、出水管線為藍(lán)色。系統(tǒng)前臺(tái)讀取數(shù)據(jù)庫(kù)中各個(gè)水表的讀數(shù)信息,并在框圖中相應(yīng)的水表位置將水表讀數(shù)顯示出來(lái)。系統(tǒng)對(duì)水表讀數(shù)進(jìn)行統(tǒng)計(jì)分析,對(duì)漏水的水管線路標(biāo)以紅色,起到報(bào)警作用。

系統(tǒng)設(shè)置界面提供本系統(tǒng)時(shí)間的獲取和配置。S3C2440開(kāi)發(fā)板板載RTC實(shí)時(shí)時(shí)鐘硬件電路,在系統(tǒng)斷電時(shí),RTC時(shí)鐘自帶的電池能夠保證時(shí)鐘正常工作。使用QT的QDataTime類(lèi)獲取當(dāng)前系統(tǒng)的實(shí)時(shí)時(shí)間,通過(guò)date和hwclock命令對(duì)系統(tǒng)時(shí)鐘和硬件時(shí)間進(jìn)行同步修改。

設(shè)計(jì)QT數(shù)據(jù)庫(kù)時(shí),由于Qt creator的安裝環(huán)境默認(rèn)自帶SQLite,Qt4.7,也默認(rèn)安裝了SQLite,所以選擇SQLite,降低開(kāi)發(fā)難度和成本。

系統(tǒng)流程圖如圖2所示。

[系統(tǒng)啟動(dòng)及初始化] [框圖顯示界面][系統(tǒng)設(shè)置界面][框圖繪制界面][后臺(tái)數(shù)據(jù)采集][后臺(tái)數(shù)據(jù)通信]

圖2 ?;人機(jī)界面程序基本框架

4 實(shí)驗(yàn)結(jié)果

水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)集成時(shí),操作流程如下:

⑴ 將ARM開(kāi)發(fā)板和周邊器件的硬件環(huán)境連線準(zhǔn)備好;

⑵ 用下載線向ARM開(kāi)發(fā)板下載交叉編譯好的U-boot、Linux內(nèi)核和文件系統(tǒng),ARM開(kāi)發(fā)板能夠正常啟動(dòng),并能夠進(jìn)入文件系統(tǒng);

⑶ 移植ARM開(kāi)發(fā)板文件系統(tǒng)中Qt/E界面程序運(yùn)行的環(huán)境,拷貝交叉編譯的Qt4.7庫(kù)文件和校準(zhǔn)程序的庫(kù)文件到文件系統(tǒng)中,修改文件系統(tǒng)中配置文件profile;

⑷ 在Qt Creator中編寫(xiě)人機(jī)界面程序,仿真調(diào)試完成后,設(shè)置Qt Creator的交叉編譯環(huán)境,生成人機(jī)界面可執(zhí)行程序,并拷貝到ARM開(kāi)發(fā)板的文件系統(tǒng)中;

⑸ ARM開(kāi)發(fā)板上電,運(yùn)行人機(jī)界面程序,驗(yàn)證水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)的結(jié)果。

水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)聯(lián)調(diào)實(shí)驗(yàn)結(jié)果表明:系統(tǒng)能正確采集多種接口水表數(shù)據(jù)并保存到本地?cái)?shù)據(jù)庫(kù),能夠使用提供的UI界面定制水平衡框圖,并能在水平衡框圖中將數(shù)據(jù)庫(kù)中水表信息正確顯示出來(lái)。

5 結(jié)束語(yǔ)

本水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)綜合考慮了技術(shù)可行性和現(xiàn)場(chǎng)應(yīng)用環(huán)境的需求,設(shè)計(jì)和實(shí)現(xiàn)了基于ARM處理器和嵌入式Linux操作系統(tǒng)的水務(wù)數(shù)據(jù)監(jiān)測(cè)系統(tǒng),采用廣泛應(yīng)用于嵌入式系統(tǒng)界面的QT封裝的C++類(lèi)來(lái)進(jìn)行界面設(shè)計(jì),盡可能實(shí)現(xiàn)分層以保證業(yè)務(wù)跟數(shù)據(jù)分離,設(shè)計(jì)出人機(jī)交互流暢穩(wěn)定的工控機(jī)界面。實(shí)際運(yùn)行結(jié)果表明,該系統(tǒng)的整體性能穩(wěn)定,較好地滿足了客戶的需求,具有廣闊的應(yīng)用前景。但本系統(tǒng)仍需要進(jìn)一步完善,特別是對(duì)最優(yōu)水平衡分析法還需要做進(jìn)一步的實(shí)驗(yàn)研究。

參考文獻(xiàn):

[1] 田磊.嵌入式Linux系統(tǒng)中基于QT庫(kù)的應(yīng)用程序設(shè)計(jì)[J].實(shí)驗(yàn)室研

究與探索,2013.33(5):84

[2] 劉鐘情.基于Qt/Embedded的機(jī)房環(huán)境監(jiān)控系統(tǒng)[J].現(xiàn)代電子技術(shù),

2014.37(8):38

[3] 盧愛(ài)紅,劉中原,馮蓉珍.基于ARM的自助出票機(jī)便攜式終端設(shè)計(jì)[J].

計(jì)算機(jī)時(shí)代,2013.9:28

[4] 陳敬,向偉.基于嵌入式Linux的QT/Embedded移植與應(yīng)用開(kāi)發(fā)[J].

電腦與信息技術(shù),2013.21(1):57

[5] 李懷峰,曲仕茹,陳俊強(qiáng).基于ARM的Qt/E應(yīng)用程序開(kāi)發(fā)的改進(jìn)與

實(shí)現(xiàn)[J].測(cè)控技術(shù),2013.32(9):115

[6] 吳燕燕,賀鋒濤.基于ARM9平臺(tái)上Qt/Embedded的移植與開(kāi)發(fā)[J].

液晶與顯示,2013.28(2):261

[7] 尤晉元.UNIX環(huán)境高級(jí)編程(第2版)[M].人民郵電出版社,2006.

[8] MICHAEL Owens.The Definitive Guide to SQLite[M].US: Apress,

2006.

[9] Jasmin Blanchette,Mark Summerfield.C++ CUI Qt3 Programming[M].

Beihang University,2006.3.

猜你喜歡
水平衡
改進(jìn)的可變模糊集模型在區(qū)域水平衡測(cè)試計(jì)算中的應(yīng)用研究
超聲波流量計(jì)在水平衡測(cè)試中的誤差分析
新形勢(shì)下完善上海市水平衡測(cè)試管理制度的研究
離子膜燒堿水平衡系統(tǒng)簡(jiǎn)化計(jì)算方法研究
更正
我國(guó)水平衡測(cè)試現(xiàn)狀分析