鄒夢君+楊傳斌
摘 要 針對一般的溫濕度監(jiān)控系統(tǒng)存在工作效率低、軟硬件設(shè)備不能夠有效地將數(shù)據(jù)進(jìn)行及時共享和交互性差等問題,提出一種基于Qt的適合檔案館溫濕度自動監(jiān)控的方法。本嵌入式系統(tǒng)是利用STC89C52RC單片機對檔案館內(nèi)溫濕度參量進(jìn)行檢測,同時通過串口通信將數(shù)據(jù)進(jìn)行傳輸反饋機制,進(jìn)而實現(xiàn)對溫濕度參量的控制。本系統(tǒng)更具智能化,擁有反饋和自動控制功能。
關(guān)鍵詞 檔案館;溫濕度監(jiān)控系統(tǒng);Qt
中圖分類號:G278 文獻(xiàn)標(biāo)識碼:B
文章編號:1671-489X(2016)20-0038-03
Abstract In view of the traditional temperature and humidity detec-tion system is a poor level of environmental control, software and hardware resources cannot be shared and poor reliability problem, this paper proposes a suitable for archives of temperature and humidityautomatic monitoring method based on Qt. The embedded system isusing STC89C52RC MCU to test the temperature and humidity para-meter through serial communication data processing, at the same time, realize the control of temperature and humidity parameter, this system more intelligent, each performance index system more accu-rate and stable.
Key words archives; Qt; monitoring of temperature and humidity
1 前言
隨著科技的不斷進(jìn)步,越來越多的工業(yè)、農(nóng)業(yè)、實驗室等領(lǐng)域都要求在嚴(yán)格的環(huán)境下完成,因此,溫濕度的測量與控制在日常生活中應(yīng)用十分廣泛。國家博物館、學(xué)校的檔案館和圖書館等,作為重要文物、資料和圖書等物品的保存、展示或集散的場所,其所處的位置至關(guān)重要。以檔案館為例,影響檔案材料老化變質(zhì)的關(guān)鍵因素是館內(nèi)溫濕度變化,所以做好檔案保存的首要工作就是需要合理控制館內(nèi)的溫度和濕度。為了能夠長期保存檔案館的重要資料,根據(jù)檔案有效保存的相關(guān)要求,迫切需要營造科學(xué)合理的溫濕度環(huán)境來阻止檔案霉腐菌的生長繁殖。我國對于溫濕度測控技術(shù)的研究較晚,目前國內(nèi)該類技術(shù)仍較為欠缺,多數(shù)場合仍需人工操作進(jìn)行監(jiān)測,不能滿足檔案館對溫濕度實時監(jiān)測參數(shù)且能夠自動控制的要求[1]。
針對這一現(xiàn)狀,本文結(jié)合嵌入式技術(shù)、單片機技術(shù)以及串口通信技術(shù),提出了一種基于Qt的適合檔案館溫濕度自動監(jiān)控的方法。系統(tǒng)通過嵌入式技術(shù)設(shè)計的應(yīng)用和單片機硬件模塊相結(jié)合,兩者通過串口通信,從而實現(xiàn)溫濕度自動控制。
2 系統(tǒng)體系結(jié)構(gòu)
基于Qt的適合檔案館的溫濕度自動監(jiān)控系統(tǒng)主要由單片機主控模塊、DHT21傳感器模塊、LCD12864顯示屏模塊、報警模塊、降溫除濕執(zhí)行模塊、串口傳輸模塊和Qt用戶終端溫濕度監(jiān)測系統(tǒng)等功能模塊構(gòu)成。該系統(tǒng)主要通過STC89C52RC單片機主控模塊[2]對被測檔案館的溫濕度參數(shù)進(jìn)行實時監(jiān)測,可設(shè)定閾值,以便待超過規(guī)定溫濕度范圍時實時報警,同時啟動降溫除濕執(zhí)行模塊,達(dá)到自動控制的效果。也可通過Qt用戶終端溫濕度監(jiān)測系統(tǒng)對檢測信息進(jìn)行實時顯示和查詢。具體將DHT21傳感器采集的溫濕度數(shù)據(jù)經(jīng)串口傳輸模塊傳送到Qt用戶終端溫濕度監(jiān)測系統(tǒng),Qt用戶終端溫濕度監(jiān)測系統(tǒng)對數(shù)據(jù)進(jìn)行統(tǒng)計分析,做出相應(yīng)處理。
3 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件設(shè)計主要包括STC89C52RC主控模塊、DHT21傳感器模塊、LCD12864顯示屏模塊、報警模塊、降溫除濕執(zhí)行模塊、串口傳輸模塊。圖1是溫濕度自動控制系統(tǒng)硬件部分框架圖
主控模塊系統(tǒng)設(shè)計 中央處理器選擇的是STC公司的STC89C52單片機[3],CMOS 8位微控制器具有性能高且低功耗的優(yōu)點,內(nèi)帶4 K字節(jié)EEPROM存儲空間,具有8 K系統(tǒng)可編程Flash存儲器,并且可直接使用串口下數(shù)據(jù)。
STC89C52雖然使用的是經(jīng)典款MCS-51內(nèi)核,但是因為對它做了較多的改進(jìn),所以該芯片比傳統(tǒng)51單片機更勝一籌。在單芯片上,它不僅能夠在系統(tǒng)可編程Flash,同時擁有靈巧的8位CPU,正是因為它能夠提供高靈活、超有效的解決方案,所以大部分嵌入式控制應(yīng)用系統(tǒng)選擇它。并且它的STC和AT的引腳是完全兼容的,硬件連接也基本一樣,但STC是增強型,多了一些AT沒有的功能,比如儲存容量RAM比AT多了256個字節(jié),同時自帶的EEPROM存儲空間比AT多了2 KB,還有多了Timer3和P4口等。
DHT21傳感器模塊系統(tǒng)設(shè)計 本系統(tǒng)采用一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器[4]——DHT21數(shù)字溫濕度傳感器,它是一款高性能的新一代溫濕度傳感器。與DH11相比較,DH21擁有很多優(yōu)點,為了確保產(chǎn)品具有極好的可靠性和穩(wěn)定性,它應(yīng)用專用的溫濕度數(shù)據(jù)傳感技術(shù)和數(shù)字模塊采集技術(shù)。
溫濕度傳感器就是指能將濕度值和溫度值轉(zhuǎn)換成方便被檢測和處理的電信號裝備。該產(chǎn)品具有抗干擾能力強、性價比極高和超快響應(yīng)等優(yōu)點。因為該傳感器可以與一個高性能8位單片機連接,同時它包括了一個電容式感濕元件和一個NTC測溫元件。不同的傳感器分別擁有各自的數(shù)值測量方法。之所以它成為各類應(yīng)用甚至最為苛刻的各應(yīng)用場合的最佳選擇,就是因為它的體積超小、功耗也極低,而且信號傳輸距離可達(dá)20米以上,每個DHT21傳感器都在極為精確的濕度校驗室中進(jìn)行校準(zhǔn)。DHT21為4針單排引腳封裝,它的引腳說明如表1所示。
LCD12864液晶顯示模塊 該液晶顯示模塊是128×64的內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點陣圖形液晶顯示模塊。它的接口方式多樣,有4位/8位并行和2線或3線串行兩種。它的字符顯示是通過將字符顯示的編碼寫入到該字符顯示RAM實現(xiàn)的。該液晶屏上可分別顯示HCGROM(ASCII碼字庫)、CGROM(中文字庫)及CGRAM(自定義字形)。3種不同字符和字形的可選擇的編碼范圍是0000~0006H(其代碼分別是0000、0002、0004、0006共4個),顯示自定義字形;02H~7FH顯示半寬ASCII碼字符;A1A0H~F7FFH顯示8192種GB2312中文字庫字形。字符顯示RAM在液晶模塊中的地址是80H~9FH。
4 系統(tǒng)軟件設(shè)計
軟件系統(tǒng)主要由3個模塊構(gòu)成,分別是串口數(shù)據(jù)傳輸模塊、溫濕度監(jiān)控模塊和數(shù)據(jù)存儲模塊。其中數(shù)據(jù)存儲模塊是本系統(tǒng)設(shè)計的核心模塊。核心模塊主要是指SQL數(shù)據(jù)庫查詢技術(shù)[5],通過在Qt界面上的數(shù)據(jù)庫功能進(jìn)行數(shù)據(jù)查詢,利用溫濕度監(jiān)控模塊中的各個功能按鈕分別控制其他模塊,使串口數(shù)據(jù)傳輸模塊、溫濕度監(jiān)控模塊和數(shù)據(jù)存儲模塊形成一個穩(wěn)定運行的系統(tǒng),進(jìn)而滿足本系統(tǒng)設(shè)計的功能需要。串口數(shù)據(jù)傳輸模塊主要是指將硬件系統(tǒng)中的數(shù)據(jù)通過串口將數(shù)據(jù)讀取到溫濕度監(jiān)控模塊中。通過對串口中各個參數(shù)的選擇,并由硬件中溫濕度傳感器模塊將最原始的數(shù)據(jù)值存儲到芯片中,即給定需要傳輸處理的數(shù)據(jù),實現(xiàn)數(shù)據(jù)傳輸。溫濕度監(jiān)控模塊主要用于根據(jù)要求正確顯示通過串口傳輸過來的數(shù)據(jù),并且可以根據(jù)操作者的需求對軟件系統(tǒng)及獲取到的數(shù)據(jù)進(jìn)行處理。圖2是軟件總體框架。
數(shù)據(jù)庫系統(tǒng)設(shè)計及實現(xiàn) 數(shù)據(jù)庫是每個嵌入式系統(tǒng)必不可少的一部分,而在Qt中使用的是QtSql數(shù)據(jù)庫技術(shù)。通過Qt的QTable控件來實現(xiàn)數(shù)據(jù)表單的顯示,通過QListView、QComBobox以及QTextEdit等控件進(jìn)行數(shù)據(jù)表單的選擇、數(shù)據(jù)輸入等,配合PushButton控件實現(xiàn)數(shù)據(jù)表的創(chuàng)建、刪除和數(shù)據(jù)查詢、添加、刪除、修改等操作,這樣實現(xiàn)數(shù)據(jù)庫系統(tǒng)的基本管理。
本系統(tǒng)利用Qt Designer來實現(xiàn)數(shù)據(jù)庫界面的開發(fā),同時通過調(diào)用SQLite的API接口函數(shù)來實現(xiàn)數(shù)據(jù)庫功能。新建一個C++項目,在此基礎(chǔ)上新建一個窗口部件,在窗口部件上添加一個Table控件作為數(shù)據(jù)表單的顯示界面。在Qt Creator的幫助中查找QtSql Module,可以看到這個模塊是一組類的集合,使用這個模塊需要加入頭文件“#include
另根據(jù)需要,添加PushButton控件以實現(xiàn)相應(yīng)的操作。在窗口類下新建一個槽,連接相關(guān)按鈕信號。
數(shù)據(jù)庫模塊不僅可以完整地保存需要的數(shù)據(jù),而且可以方便對數(shù)據(jù)進(jìn)行查詢、刪除、更新等操作,是溫濕度控制系統(tǒng)中必不可少的一個數(shù)據(jù)處理模塊。
串口數(shù)據(jù)傳輸模塊 串口是串行接口(serial port)的簡稱,同時也可稱為串行通信接口或COM接口。所謂串口通信就是采用串行通信協(xié)議在信號線上將所需要傳輸?shù)臄?shù)據(jù)一個比特一個比特地進(jìn)行傳輸。它是一種通信模式。
在本溫濕度控制系統(tǒng)中,先通過溫濕度傳感器接收數(shù)據(jù),然后應(yīng)用串口將數(shù)據(jù)傳輸?shù)缴衔粰C溫濕度監(jiān)控系統(tǒng)中。傳輸過程分為以下幾步。
1)添加對象聲明“Win_QextSerialPort*myCom”和槽函數(shù)聲明“void readMyCom()”;
2)在“mainwindow.cpp”的類的構(gòu)造函數(shù)中存放串口的各個參數(shù);
3)利用open函數(shù)以讀寫方式打開串口;
4)對信號和槽函數(shù)進(jìn)行關(guān)聯(lián),若串口緩沖區(qū)有數(shù)據(jù),則進(jìn)行讀串口操作;
5)在“readMyCom()”函數(shù)中對讀取到的數(shù)據(jù)進(jìn)行處理,首先讀取串口緩沖區(qū)的所有數(shù)據(jù)給臨時變量temp,同時對顯示的數(shù)據(jù)字體和格式進(jìn)行設(shè)置,最后將串口的數(shù)據(jù)合理有序地顯示在定義的textBrowser窗口的文本瀏覽器中。
溫濕度監(jiān)控模塊 監(jiān)控模塊用戶界面用Qt圖形設(shè)計器設(shè)計,Qt圖形設(shè)計器是一個具有可視化用戶接口的設(shè)計工具。按照系統(tǒng)需求,控制界面要求簡單,可將界面分為多個不同功能的目錄。其中主菜單是功能選項,二級子菜單包括狀態(tài)顯示和功能簡介等。
5 系統(tǒng)測試
本系統(tǒng)根據(jù)設(shè)計目標(biāo)要求做了實驗驗證,對檔案館溫濕度數(shù)據(jù)進(jìn)行采集,為到達(dá)報警效果,可以變化傳感器所處環(huán)境的溫度,可以用吹風(fēng)機或者電風(fēng)扇對溫度進(jìn)行改變,讓溫度的顯示超標(biāo),來測試能否達(dá)到報警。經(jīng)過測試,本系統(tǒng)性能良好,能夠?qū)貪穸冗M(jìn)行自動控制。
6 結(jié)語
本文研究設(shè)計了基于Qt和單片機的溫濕度自動監(jiān)控系統(tǒng),完成了硬件和軟件部分的設(shè)計,并且有效測試了它的工作性能。通過不斷地進(jìn)行在線編程完善和調(diào)試,該系統(tǒng)可快速可靠地進(jìn)行數(shù)據(jù)采集和處理,效果理想,可以應(yīng)用在檔案館中。
參考文獻(xiàn)
[1]高職富.溫室環(huán)境控制技術(shù)的現(xiàn)狀及發(fā)展前景[J].中國市場,2007(35):106-107.
[2]夏志華.基于單片機的溫度控制系統(tǒng)的研究與實現(xiàn)[J].煤炭技術(shù),2013,2(3):106-110.
[3]郭佳,陳乾君.基于單片機及PC機的溫度控制系統(tǒng)設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2013(7):18-20.
[4]林飛龍,彭詩瑤.基于多傳感器的高性能監(jiān)控系統(tǒng)設(shè)計[J].傳感器與微系統(tǒng),2014,33(2):119-122.
[5]林鴻,蔡堅勇.適用于嵌入式設(shè)備的數(shù)據(jù)庫查詢技術(shù)[J].計算機系統(tǒng)應(yīng)用,2014(5):116-119.