溫濕度遠(yuǎn)程監(jiān)控系統(tǒng)_第1頁
溫濕度遠(yuǎn)程監(jiān)控系統(tǒng)_第2頁
溫濕度遠(yuǎn)程監(jiān)控系統(tǒng)_第3頁
溫濕度遠(yuǎn)程監(jiān)控系統(tǒng)_第4頁
溫濕度遠(yuǎn)程監(jiān)控系統(tǒng)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于web的遠(yuǎn)程溫濕度監(jiān)測系統(tǒng)的設(shè)計摘要:首先本論文針對基于web遠(yuǎn)程溫濕度采集及監(jiān)測系統(tǒng)的設(shè)計加以研究和介紹,并討論系統(tǒng)軟硬件的選擇及具體開發(fā)調(diào)試環(huán)境;然后,詳細(xì)介紹了系統(tǒng)設(shè)計方案及其實現(xiàn),并著重介紹了上位機部分的設(shè)計,通過界面的形式完成遠(yuǎn)程人機互動,更高效快捷的完成對復(fù)雜環(huán)境因素的把握。系統(tǒng)監(jiān)測參數(shù)包括現(xiàn)場多點溫濕度值,主控單片機通過將設(shè)定閾值與測定值進行比較進而驅(qū)動蜂鳴器報警同時觸發(fā)繼電器進行相應(yīng)電氣控制,實現(xiàn)現(xiàn)場溫濕度調(diào)控。同時上位機通過串行通信與下位機進行數(shù)據(jù)通信,將下位機檢測到的數(shù)據(jù)在上位機上進行實時顯示和相應(yīng)控制。后臺運行的數(shù)據(jù)庫通過將下位機采集數(shù)據(jù)進行錄入存檔,同時數(shù)據(jù)庫支持上

2、位機和web調(diào)用。關(guān)鍵詞:溫濕度采集;stc單片機;上位機;遠(yuǎn)程控制;數(shù)據(jù)庫;web訪問the design of the system which based on web remote temperature and humidity monitoringabstract: this paper firstly based on web remote temperature and humidity acquisition and monitoring system design to research and introduce, and discuss the selection an

3、d specific system hardware and software development of commissioning environment; then, detailed introduces system design scheme and realization, and introduces emphatically the design of computer parts, through the form complete remote human-machine interface, the more highly effective quick intera

4、ctive environment factors of complex complete assurance. system monitoring parameters including the scene multipoint control temperature and humidity value set threshold microcontroller through comparison with determination value and buzzer alarm and trigger relay driver corresponding electric contr

5、ol, and realizing scene temperature and humidity control. meanwhile pc through serial communication and lower level computer data communication, will lower place machine detected on the data real-time display in the upper and the corresponding control. the background database by will lower level com

6、puter acquisition data input file, and database support pc and web calls.keywords: temperature and humidity collecting; stc microcontroller; principal computer; remote control; database; web access1 緒論1.1 基于web的遠(yuǎn)程溫濕度監(jiān)測系統(tǒng)概述1.1.1基于web的遠(yuǎn)程溫濕度監(jiān)測系統(tǒng)組成本系統(tǒng)主要由主控制器、串行通信模塊、繼電控制模塊、顯示模塊、上位機控制模塊、web界面等六部分組成。其基本框架見

7、圖1。圖1 基本框架圖(1) 主控制器模塊主控制器模塊是整個下位機系統(tǒng)的核心。主要完成對系統(tǒng)中各種測定信號的輸入、分析及輸出控制,也是實現(xiàn)數(shù)據(jù)交換、軟硬件接口的中心控制模塊。本系統(tǒng)中以單片機為控制核心。(2) 串行通信模塊這是系統(tǒng)中又一重要模塊。其主要功能是實現(xiàn)對數(shù)據(jù)進行上位機和下位機之間的交換,是實現(xiàn)遠(yuǎn)程控制的關(guān)鍵。系統(tǒng)中串行通信模塊通過max232芯片進行電平轉(zhuǎn)換實現(xiàn)上位機與下位機的通信。(3) 繼電控制模塊此模塊是控制的關(guān)鍵模塊,當(dāng)系統(tǒng)采集到的現(xiàn)場溫濕度數(shù)據(jù)超出測試點閾值時,單片機發(fā)出控制信號觸發(fā)繼電器,進而啟動或關(guān)閉相應(yīng)電氣設(shè)備,實現(xiàn)對現(xiàn)場環(huán)境的控制。采用繼電控制有益于提高工作效率和控

8、制精度,提高了系統(tǒng)穩(wěn)定性和可用性。(4) 顯示模塊此部分功能主要包括設(shè)定閾值和測定量的顯示。系統(tǒng)中采用1602液晶實現(xiàn)顯示功能,采用1602液晶可以節(jié)約單片機接口,同時可以顯示較多的內(nèi)容特別適合多點監(jiān)測系統(tǒng)數(shù)據(jù)的顯示。(5) 上位機控制模塊上位機模塊由兩部分組成,包括vb上位機界面和access后臺數(shù)據(jù)庫。vb界面用于實現(xiàn)人機交互,可以顯示各測定點閾值和各監(jiān)測點的實時數(shù)據(jù),并通過控件與數(shù)據(jù)庫連接實現(xiàn)數(shù)據(jù)庫存儲、查詢等功能。access數(shù)據(jù)庫部分可用于存儲測定數(shù)據(jù)并支持本地和遠(yuǎn)程網(wǎng)絡(luò)調(diào)用。(6) web界面模塊采用asp網(wǎng)頁語言編寫,用于遠(yuǎn)程計算機通過網(wǎng)絡(luò)實現(xiàn)對本地數(shù)據(jù)庫的訪問。web功能可以實

9、現(xiàn)異地用戶對于現(xiàn)場數(shù)據(jù)的監(jiān)測和簡單控制。1.1.2基于web的遠(yuǎn)程溫濕度監(jiān)測系統(tǒng)的特點要通過intemet實現(xiàn)溫濕度的遠(yuǎn)程監(jiān)測,一般是采用在現(xiàn)場計算機系統(tǒng)中構(gòu)建web服務(wù)器的方法。采用這種方法在本地構(gòu)建的服務(wù)器運行后可以支持web訪問本地數(shù)據(jù),同時由于本地服務(wù)器的特殊性管理者可以通過設(shè)置較高的安全等級提高系統(tǒng)的安全性。隨著科技的發(fā)展網(wǎng)絡(luò)幾乎無處不在,這為基于web的遠(yuǎn)程監(jiān)測提供了強大的硬件支持,只要有網(wǎng)絡(luò)的地方就可以實現(xiàn)“遠(yuǎn)程監(jiān)測” 34。1.2 課題研究的背景及意義1.2.1課題研究的背景對于溫濕度的檢測系統(tǒng)的研究有很多,歸納起來有兩個大的走向,一是趨于小型化的手持式或現(xiàn)場式的檢測設(shè)備,數(shù)據(jù)

10、的記錄需要人工干預(yù),工作效率和精度都不高。二是采用檢測元件集中管理的數(shù)據(jù)采集模式,但是管理范圍大都只局限在本地計算機上,通過網(wǎng)絡(luò)對現(xiàn)場數(shù)據(jù)訪問的技術(shù)目前的研究發(fā)展還是不夠的主要體現(xiàn)在檢測系統(tǒng)功能的完備性上,所以本設(shè)計集中檢測技術(shù)、上位機控制、數(shù)據(jù)庫存儲、web服務(wù)器架構(gòu)和訪問技術(shù)于一體,最大限度的滿足實際工作需要,提高工作效率5。1.2.2課題研究的意義本項目采用價格低廉的單片機對現(xiàn)場數(shù)據(jù)進行采集,通過串行通信方式完成前置單片機與計算機間的通信,采用vb進行上位機的編程并結(jié)合數(shù)據(jù)庫對采集數(shù)據(jù)進行存儲,方便數(shù)據(jù)分析和網(wǎng)絡(luò)上其他主機對現(xiàn)場檢測數(shù)據(jù)的訪問和調(diào)用,是一套造價低廉、方便實用的現(xiàn)場監(jiān)控平臺

11、。同時,該平臺具具有良好的兼容性6和穩(wěn)定性。此次設(shè)計的突出優(yōu)勢是:(1) 突破了檢測系統(tǒng)高成本、移植性差的通病,以單片機作為控制中心實現(xiàn)了成本最小化,通過采用ds18b20溫度傳感器元件通過單總線技術(shù)既節(jié)約控制端口同時增加了系統(tǒng)的可擴展性,同時該元件的溫度適用范圍比較大從而實現(xiàn)了可移植性的突破。(2) 遠(yuǎn)程多點實時監(jiān)控,并對現(xiàn)場設(shè)備進行了冗余備份,解決了現(xiàn)場監(jiān)控和故障檢修的不便,實現(xiàn)遠(yuǎn)程對現(xiàn)場生產(chǎn)條件的掌控和現(xiàn)場設(shè)備的故障檢測和判斷。(3) 系統(tǒng)硬件部分采用模塊化的設(shè)計方法,將功能模塊與主控模塊分離,便于系統(tǒng)擴展和故障檢修,提高系統(tǒng)可用性。1.3 論文研究的內(nèi)容和目標(biāo)1.3.1 論文研究的內(nèi)容

12、(1) 分析溫濕度傳感器的工作原理。由于此次論文是對于溫濕度的監(jiān)控,因而對于傳感器的選擇很重要,不同的傳感器對環(huán)境的適應(yīng)能力不同,可移植性也存在較大差異,選擇一個適合的傳感器在系統(tǒng)設(shè)計成本和系統(tǒng)可移植性的方面具有重要意義。(2) 分析繼電控制原理和應(yīng)用。在進行現(xiàn)場監(jiān)控的過程中控制相關(guān)電氣設(shè)備對現(xiàn)場進行調(diào)控是本系統(tǒng)中一個重要的環(huán)節(jié)。由于系統(tǒng)控制核心采用單片機架構(gòu),而單片機屬于弱點控制范疇,要驅(qū)動中大型現(xiàn)場設(shè)備運行即必須實現(xiàn)小電壓對大電壓的控制,采用繼電器可以很好的解決這一問題,實現(xiàn)遠(yuǎn)程控制。(3) 分析串行通信方法。在系統(tǒng)實現(xiàn)過程中上位機和下位機的通信是重要組成環(huán)節(jié),上位機下位機通過串行口進行串

13、行通信。串行通信速度快、誤碼率低,通信高效可靠7。(4) 了解vb界面開發(fā)和相關(guān)控件使用。vb是一款面向?qū)ο蟮能浖缑骈_發(fā)工具,簡單易用。利用vb開發(fā)串口通信程序既可以使用mscomm控件也可以調(diào)用windows api函數(shù)實現(xiàn)。本系統(tǒng)采用mscomm控件實現(xiàn),因為mscomm控件的功能和api調(diào)用一樣強,甚至比它還好且使用起來更加簡單89。(5) 采用web通信實現(xiàn)系統(tǒng)的遠(yuǎn)程監(jiān)測?;ヂ?lián)網(wǎng)技術(shù)的發(fā)展為這一方案提供了可能性,遠(yuǎn)程監(jiān)控脫離傳統(tǒng)意義上的“遠(yuǎn)”,通過網(wǎng)絡(luò)訪問本地數(shù)據(jù)庫實現(xiàn)更遠(yuǎn)距離的實時監(jiān)測。1.3.2 論文研究的目標(biāo)(1) 能過對現(xiàn)場進行多點溫濕度數(shù)據(jù)采集和傳輸。(2) 通過程序控制,

14、實現(xiàn)設(shè)定閾值、報警和繼電控制功能等。(3) 下位機能夠顯示多點測試數(shù)據(jù)和其他數(shù)據(jù)量。(4) 能通過串行通信的方法實現(xiàn)上位機和下位機的實時通信,并且可以通過上位機實現(xiàn)對下位機的控制功能。(5) 能夠在上位機界面實現(xiàn)對各監(jiān)測數(shù)據(jù)的實時顯示和報警,并可以對數(shù)據(jù)庫進行相應(yīng)操作,比如實現(xiàn)查詢和報表打印等功能。(6) 能夠通過網(wǎng)絡(luò)訪問本地數(shù)據(jù)庫,讀取相關(guān)數(shù)據(jù)。1.4 論文的結(jié)構(gòu)本論文的結(jié)構(gòu)如下:第一部分介紹基于web的遠(yuǎn)程溫濕度采集及控制系統(tǒng)的設(shè)計的基本框架,以及課題的背景及意義,并論述了研究內(nèi)容和目標(biāo),最后說明了本論文的組織結(jié)構(gòu)。第二部分介紹了下位機硬件電路設(shè)計,以及對選用器件的性能要求所作的簡要分析。

15、第三部分是對軟件設(shè)計部分的介紹。第四部分是對web網(wǎng)絡(luò)訪問的技術(shù)介紹以及本次設(shè)計的前景和展望分析。2 硬件設(shè)計本節(jié)介紹下位機的硬件電路設(shè)計。其流程如圖2。性能分析選擇器件接口設(shè)計硬件測試結(jié)束圖2 硬件設(shè)計流程圖2.1 stc單片機簡介stc89系列單片機是mcs-51系列單片機的派生產(chǎn)品。它們在指令系統(tǒng)、硬件結(jié)構(gòu)和片內(nèi)資源上與標(biāo)準(zhǔn)8052單片機完全兼容,dip40封裝系列與8051為pin-to-pin兼容。stc89系列單片機高速(最高時鐘頻率90mhz),低功耗,在系統(tǒng)/在應(yīng)用可編程(isp,iap),不占用戶資源。2.1.2 stc單片機接口性能分析3v/5v工作電壓,操作頻率033mh

16、z(stc89le516ad最高可達(dá)90mhz);5v工作電壓,操作頻率040mhz;大容量內(nèi)部數(shù)據(jù)ram:1k字節(jié)ram;64/32/16/8kb片內(nèi)flash程序存儲器,具有在應(yīng)用可編程(iap) ,在系統(tǒng)可編程(isp),可實現(xiàn)遠(yuǎn)程軟件升級,無需編程器;支持12時鐘(默認(rèn))或6時鐘模式;雙dptr數(shù)據(jù)指針;spi(串行外圍接口)和增強型uart ;pca(可編程計數(shù)器陣列),具有pwm的捕獲/比較功能;4個8位i/o口,含3個高電流p1口,可直接驅(qū)動led;3個16位定時器/計數(shù)器;可編程看門狗定時器(wdt);低emi方式(ale禁止);兼容ttl和coms邏輯電平;掉電檢測和低功耗模

17、式等10。2.2基于web的遠(yuǎn)程溫濕度監(jiān)測系統(tǒng)的硬件接口設(shè)計2.2.1 stc89c52引腳介紹進行單片機的接口設(shè)計首先需要分析一下stc89c52單片機的引腳10。stc89c52單片機擁有四個并行口其中p1口為準(zhǔn)雙向口,p2口為可作為地址總線輸出口的準(zhǔn)雙向口,p0口可作為地址/數(shù)據(jù)總線口的三態(tài)雙向口,當(dāng)p3口作為8為雙向i/o端口時,其內(nèi)部具有上拉電阻,輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收20ma大電流。此外,它還可以作為ad轉(zhuǎn)換引腳。當(dāng)p0、p1、p2端口全作為普通i/o口時,和p3口功能基本相同。另外,p3.0和p3.1作為串行通信口實現(xiàn)上位機和下位機間的串口通信連接。單片機結(jié)

18、構(gòu)見圖3。圖3 stc89c52單片機引腳圖2.3 下位機硬件電路介紹與設(shè)計首先,介紹一下時鐘和復(fù)位電路的設(shè)計。(1) 時鐘電路的設(shè)計。本設(shè)計采用石英晶體振蕩器。石英晶體頻率較穩(wěn)定,抗干擾能力較強。具體電氣連接電路見圖4。 圖4 時鐘電路 圖5復(fù)位電路(2) 復(fù)位電路的設(shè)計。51單片機使用的是高電平復(fù)位,其連接方法比較固定,其常見接法見圖5。剛上電時,電容c7促使rest引腳保持一段時間的高電平使電路復(fù)位,這屬于上電復(fù)位。當(dāng)按鍵按下時,rest與電源正極通變高電平,電路發(fā)生復(fù)位,程序終止運行后從新開始運行,程序運行的起點是main函數(shù),這是手動復(fù)位。采用上電復(fù)位和手動復(fù)位相結(jié)合的硬件電路設(shè)計提

19、高了系統(tǒng)的可靠性。(3) 鍵盤接口電路采用獨立鍵盤的方法,利用三個按鍵完成系統(tǒng)參數(shù)的設(shè)定,三個按鍵分別定義為功能選擇鍵、加一鍵和減一鍵,具體實現(xiàn)過程為系統(tǒng)初始化后后,系統(tǒng)以輪詢的方式進行鍵盤操作掃描,當(dāng)檢測到功能定義鍵第一次輸入低電平即第一次按下時,啟動設(shè)置下限功能,功能定義腳第二次按下啟動設(shè)置上限功能,功能鍵第三次按下則退出閾值設(shè)置功能。采用功能鍵控制的方式可以在節(jié)約接口的同時使系統(tǒng)功能集約化。鍵盤電路見圖6,圖中硬件電路采用上拉電阻的作用是保證按鍵沒有被按下時各引腳輸入為高電平,提高系統(tǒng)穩(wěn)定性。 圖6 鍵盤接口電路(4) 顯示電路部分采用了lcd1602液晶,具體的電路如圖7。圖7 lcd

20、液晶顯示電路(5) 串行接口及其電路的設(shè)計。串行通信的發(fā)送方向和接收方向共用一個緩沖器,只是緩沖器的地址不同。工作方式分為單工、半雙工和全雙工三種,本系統(tǒng)采用全雙工方式進行通信,即在下位機上傳數(shù)據(jù)時上位機可以同時接收數(shù)據(jù)和發(fā)送數(shù)據(jù),51單片機的串行口是一個全雙工的異步串行通信端口,特殊功能寄存器scon對串行通信起控制作用可設(shè)置工作波特率等11。 圖8 max232芯片引腳及連接圖圖9 max232硬件連接方法max232芯片介紹。電平0 +5v,max232就是用來進行電平轉(zhuǎn)換的,該器件包含2驅(qū)動器、2接收器和一個電壓發(fā)生器電路提供tia/eia-232-f電平,max232芯片引腳及內(nèi)部邏

21、輯見圖8。該器件符合tia/eia-232-f標(biāo)準(zhǔn),每一個接收器將tia/eia-232-f電平轉(zhuǎn)換成5-v ttl/cmos電平。每一個發(fā)送器將ttl/cmos電平轉(zhuǎn)換成tia/eia-232-f電平1213。 (6) 傳感器的選擇和使用。溫度傳感器采用ds18b20溫度傳感器,ds18b20 單線數(shù)字溫度傳感器,即“一線器件”,其具有獨特的優(yōu)點:采用單線制數(shù)據(jù)傳輸,支持單線元件擴展;測溫范圍大適應(yīng)范圍廣;因而具有較好的環(huán)境適應(yīng)能力1416。濕度傳感器采用dht11傳感器,該傳感器具有體積小測定范圍大的特點同樣也為單總線原件,便于系統(tǒng)功能擴展。硬件連接圖分別見圖10、圖11。 圖10 ds1

22、8b20管腳及內(nèi)部結(jié)構(gòu)圖圖 圖11 dht11連接方法(7) 繼電控制模塊和報警模塊。繼電控制是系統(tǒng)控制核心環(huán)節(jié),采用5v繼電器實現(xiàn)控制過程小電壓對大電壓的控制,繼電器采用三極管驅(qū)動,繼電器驅(qū)動電氣設(shè)備在圖中以led指示燈代替,本設(shè)計采用的繼電器型號為srd-05vdc-sl-c可由5v電壓驅(qū)動,最大控制變量達(dá)到10a/250v可以滿足大部分電氣設(shè)備的運行要求,電氣連接電路如圖12所示。圖12繼電器連接電路圖 圖13 實物圖報警模塊主要功能是在現(xiàn)場溫濕度超出設(shè)定閾值時對外界發(fā)出警報,此部分采用蜂鳴器作為報警設(shè)備,同時考慮到系統(tǒng)的穩(wěn)定性對硬件進行了冗余備份,具體做法是在蜂鳴器上并聯(lián)led指示燈,

23、這樣在其中一個報警設(shè)備出現(xiàn)故障時另一個冗余設(shè)備可以繼續(xù)工作而不會影響系統(tǒng)穩(wěn)定性17。(8) 硬件整體實物圖和電路圖如圖13、14:圖14 下位機硬件電氣連接圖3 軟件設(shè)計3.1 軟件設(shè)計流程本節(jié)將根據(jù)相應(yīng)的硬件自下而上的設(shè)計相應(yīng)程序或軟件。首先對鍵盤、顯示、報警、串行通信部分設(shè)計對應(yīng)的程序,并對這些程序加以排列、組合以獲得最佳控制狀態(tài),最后設(shè)計高層人機接口程序(上位機)。下位機軟件總體程序流程見圖15。圖15 下位機軟件總體程序流程3.2 鍵盤及顯示部分程序設(shè)計鍵盤部分:設(shè)計中使用三個獨立鍵盤,分為一個功能鍵和兩個設(shè)置鍵,將單片機接口設(shè)為高電平輸出,鍵盤引腳接低電平。檢測到輸入引腳有低電平時,

24、使用軟件延時10ms防止干擾,再次檢測,若仍然為低電平,則說明有鍵按下,執(zhí)行相應(yīng)程序。顯示部分:設(shè)計采用的是lcd1602液晶顯示器,其工作指令如表1。lcd1602液晶顯示器的初始化過程如下:1.延時15ms;2.寫指令38h(不檢測忙標(biāo)志);3.延時5ms;4. 寫指令38h(不檢測忙標(biāo)志);5. 延時5ms;6. 寫指令38h(以后每次寫指令、讀/寫數(shù)據(jù)操作之前均需檢測忙信號);7. 寫指令38h:顯示模式設(shè)置;8.寫指令08h:關(guān)閉顯示;9.寫指令01h:顯示清屏;10.寫指令06h:顯示光標(biāo)移動設(shè)置;11.寫指令0ch:顯示開及光標(biāo)設(shè)置18。表1 lcd1602指令表3.3 報警和繼

25、電控制程序設(shè)計控制中心將檢測元件測得的數(shù)據(jù)與預(yù)先設(shè)定的閾值相對比,得到相應(yīng)的返回值從而觸發(fā)報警和電氣運行,具體分為三個信號輸出,當(dāng)現(xiàn)場任一檢測點溫濕度超出設(shè)定閾值時蜂鳴器控制引腳均輸出脈沖信號觸發(fā)蜂鳴器和led告警,繼電器的控制則在進行數(shù)據(jù)比對之后分別觸發(fā)不同的繼電器達(dá)到控制目的19,繼電器控制流程見圖16。圖16 繼電控制流程圖繼電控制部分具體代碼為:if(temp<sheding1)|(temp>sheding2)|(temp1<sheding1)|(temp1>sheding2)|(temp2<sheding1)|(temp2>sheding2)p3_

26、6=1;elsep3_6=0;if(temp<sheding1)|(temp1<sheding1)|(temp2<sheding1)p3_2=1;elsep3_2=0;if(temp>sheding2)|(temp1>sheding2)|(temp2>sheding2)p3_3=1;elsep3_3=0;3.4 數(shù)據(jù)采集程序設(shè)計溫度量采集使用ds18b20溫度傳感器,溫度數(shù)據(jù)關(guān)系如表2所示。表2 ds18b20溫度數(shù)據(jù)關(guān)系圖根據(jù)ds18b20的通訊協(xié)議,主機控制ds18b20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對ds18b20進行復(fù)位,復(fù)位成功后

27、發(fā)送一條rom指令,最后發(fā)送ram指令,這樣才能對ds18b20進行預(yù)定的操作。復(fù)位要求主cpu將數(shù)據(jù)線下拉500微秒,然后釋放,ds18b20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主cpu收到此信號表示復(fù)位成功2022。dht11濕度傳感器的工作流程為:通過單總線訪問 dhtxx 順序歸納如下: 1. 主機發(fā)開始信號 2. 主機等待接收 dht11 響應(yīng)信號 3. 主機連續(xù)接收 40bit 的數(shù)據(jù)和校驗和 4. 數(shù)據(jù)處理 讀dht11數(shù)據(jù)流程如圖17所示圖17 讀dht11數(shù)據(jù)流程圖3.5 串行通信接口程序設(shè)計本設(shè)計用到的硬件和軟件清單如表3所示。表3 設(shè)計用軟、

28、硬件序 號名 稱數(shù) 量1pc或ipc22串口通信線(三線制)13visual basic 6.014access 2003數(shù)據(jù)庫1 設(shè)計目的是實現(xiàn)下位機與上位機的實時通信包括下位機實時上傳數(shù)據(jù)和上位機對下位機發(fā)送控制命令,以及完成上位機對數(shù)據(jù)庫的調(diào)用和查詢功能。3.5.1下位機部分程序設(shè)計下位機部分串行發(fā)送數(shù)據(jù)系統(tǒng)框圖如圖18所示:圖18 下位機數(shù)據(jù)發(fā)送系統(tǒng)框圖下位機部分采用單片機作為主控中心,單片機控制信號為ttl電平高電平為+5v低電平為0v,而計算機串行通信采用rs232電平高電平為-12v低電平為+12v,要進行通信必須進行相應(yīng)的電平轉(zhuǎn)換本設(shè)計中采用rs232芯片進行電平轉(zhuǎn)換。單片機串

29、行通信端口p3.0、p3.1連接到max232芯片進行電平轉(zhuǎn)換,然后通過9pin串行接口連接到計算機。數(shù)據(jù)發(fā)送采用輪詢方式進行,程序每運行一次發(fā)送一次數(shù)據(jù),數(shù)據(jù)在發(fā)送時采用按位發(fā)送的方法,因為下位機需要上傳的數(shù)據(jù)換算成十進制數(shù)是一個三位數(shù),而串行通信每次發(fā)送的數(shù)據(jù)為八位不能一次發(fā)送完,同時由于有多路數(shù)據(jù)需要上傳因而必須在所發(fā)送數(shù)據(jù)前添加相應(yīng)的標(biāo)志位以便對各發(fā)送數(shù)據(jù)進行區(qū)分,上位機接收數(shù)據(jù)后再進行組裝23。具體數(shù)據(jù)發(fā)送格式如圖19所示,各數(shù)據(jù)位的分離方法具體為取余法和取模法。初始化起始位fa第一個數(shù)據(jù)百位第一個數(shù)據(jù)十位第一個數(shù)據(jù)個位第二個數(shù)據(jù)結(jié)束位fb下一次發(fā)送圖19 下位機發(fā)送數(shù)據(jù)格式數(shù)據(jù)發(fā)送

30、部分程序如下:void init_ser(void)scon=0x50;/串口工作模式1,8位數(shù)據(jù)tmod=0x20;/定時器1模式2,8位自動重裝pcon=0x80;th1=0xfd;/波特率為19200,晶振為11.0592ie=0x90;/允許串口中斷tr1=1;/啟動定時器1ti=1;void serial() interrupt 4 using 3/中斷程序,用于數(shù)據(jù)發(fā)送/下位機數(shù)據(jù)發(fā)送處理3.5.2 上位機部分程序設(shè)計上位機采用vb語言編寫交互界面,同時后臺運行microsoft office access 2003數(shù)據(jù)庫對現(xiàn)場數(shù)據(jù)進行存儲,并通過上位機對數(shù)據(jù)庫的調(diào)用在界面實時顯示

31、現(xiàn)場溫濕度數(shù)值及其相應(yīng)曲線。上位機設(shè)計的重難點在于串口從下位機接收到數(shù)據(jù)和將數(shù)據(jù)存儲到數(shù)據(jù)庫里并實時顯示在界面上。上位機串行通信的實現(xiàn)借助于vb自帶的mscomm控件等,相應(yīng)控件從vb部件選項卡中進行調(diào)用。上位機總體流程圖如圖20所示。圖20 上位機總體設(shè)計圖從串口采集數(shù)據(jù)主要采用的控件有:mscomm32.ocx控件,在microsoft visual basic 6.0中添加該控件,需要設(shè)置com口(可修改)、波特率(9600)、數(shù)據(jù)位(8)、停止位(1)、校驗位(0)等,通過oncomm()事件驅(qū)動方式接收數(shù)據(jù)2425。由于vb的串行通信組件并不會主動出現(xiàn)在工具箱里中,當(dāng)我們需要msco

32、mm控件時,首先要把它加入到工具箱中。讓mscomm控件出現(xiàn)在工具箱中的步驟如下。選擇“工程”菜單下的“部件”子菜單,在彈出的“部件”對話框中,在“控件”選項卡屬性中選中“microsoft comm control 6.0”復(fù)選框,單擊“確定”按鈕后,在工具箱中就出現(xiàn)了一個形似“電話”的圖標(biāo),它就是mscomm控件。工具箱中有了mscomm控件,就可以選擇mscomm控件的圖標(biāo)后將其添加到程序窗體上,利用該控件編程,pc就可以通過vb實現(xiàn)與串口設(shè)備的串口通信了,其他需要的 控件調(diào)用方法與mscomm的調(diào)用方法一致,調(diào)用界面見圖21。圖21 vb下調(diào)用相應(yīng)控件完成控件的添加之后開始上位機界面的

33、設(shè)計。(1)首先向新建界面添加串口通信控件mscomm。(2)為了實現(xiàn)連續(xù)的自動接收,將工具箱中的timer控件添加到程序窗體上。(3)按需求添加文本框控件:用于輸入要發(fā)送的字符和顯示要接收的字符。(4)添加兩個標(biāo)簽控件:label1和label2,作為發(fā)送和接收字符區(qū)的標(biāo)簽。(5)添加一些按鈕控件:command用于執(zhí)行執(zhí)行發(fā)送或接收字符命令。(6)添加ado控件,用于上位機和數(shù)據(jù)庫表的連接,便于上位機對數(shù)據(jù)庫表的調(diào)用。(7)添加data grid控件即網(wǎng)格控件,用于將上位機調(diào)用的數(shù)據(jù)庫表中的內(nèi)容進行顯示,便于對數(shù)據(jù)庫工作情況的監(jiān)控。(8)添加picture控件,用于對溫濕度走勢變化情況進行

34、實時曲線顯示,便于對溫濕度值的直觀了解和對比。(9)添加shape控件,用于對溫濕度值的報警,閾值范圍內(nèi)為綠色,超閾值為紅色。(10)添加dtpicker控件用于選擇數(shù)據(jù)庫查詢的時間范圍。由于本設(shè)計涉及多個界面間的相互調(diào)用和連接故應(yīng)建立多個界面拖放相應(yīng)的控件并進行相應(yīng)的編程操作,具體頁面包括登錄頁面、監(jiān)控主頁面、數(shù)據(jù)庫查詢頁面、程序說明頁面,各頁面設(shè)計圖分別如圖22、23、24。 圖22 上位機登陸界面設(shè)計 圖23 上位機數(shù)據(jù)庫查詢系統(tǒng)設(shè)計圖24 上位機監(jiān)控系統(tǒng)總界面設(shè)計本設(shè)計中上位機可以實現(xiàn)的功能如下:(1) 實時采集三路溫度信息和一路濕度信息并在上位機界面分別以數(shù)字和曲線的形式進行顯示,曲

35、線顯示時三路溫度分別以不同的顏色表示便于對比、區(qū)分。(2) 上位機可以對每一路數(shù)據(jù)單獨設(shè)立閾值并分別進行報警操作,增強系統(tǒng)穩(wěn)定性、精確度。(3) 上位機可以通過串行通信的方式控制下位機繼電器運行進而控制進而控制相應(yīng)電氣運行,并可以通過上位機對下位機進行閾值進行設(shè)置,提高工作效率,減少現(xiàn)場巡查人員工作量。(4) 上位機可以調(diào)用數(shù)據(jù)庫并在上位機界面實時顯示數(shù)據(jù)庫內(nèi)容,同時可以通過上位機設(shè)置數(shù)據(jù)庫存儲頻率,增加數(shù)據(jù)可用性。(5) 通過上位機可以對數(shù)據(jù)庫進行查詢和修改,同時可以調(diào)用打印功能進行報表打印。上位機接收數(shù)據(jù)部分程序如下:select case mscomm1.commevent case c

36、omevreceive ' 收到 rthreshold # ofchars.xv: dim hk as variant hk = mscomm1.input'第0通道數(shù)據(jù)接受與處理 if hk(0) = &hfa then '通道0的開始標(biāo)志位 z_start = true ovt = 0 end if if hk(0) = &hfb then '通道0的結(jié)束標(biāo)志位 z_start = false if (in_data(1) = 0) then text1.text = val(in_data(2) & in_data(3) &

37、 "." & in_data(4) end if if (in_data(1) = 1) then text1.text = val("-" & in_data(2) & in_data(3) & "." & in_data(4) - 0.1 end if 'text4.text = in_data(1) if (in_data(5) = 1) then text2.text = val(in_data(6) & in_data(7) & "." &a

38、mp; in_data(8) else text2.text = val("-" & in_data(6) & in_data(7) & "." & in_data(8) - 0.1 end if if (in_data(9) = 1) then text12.text = val(in_data(10) & in_data(11) & "." & in_data(12) else text12.text = val("-" & in_data(10)

39、 & in_data(11) & "." & in_data(12) - 0.1 end if end if if z_start = true then in_data(ovt) = hk(0) ovt = ovt + 1 end if數(shù)據(jù)庫采用,microsoft office access 2003,先要建立數(shù)據(jù)庫,然后創(chuàng)建所需要的表單和字段,所建數(shù)據(jù)庫表見圖25。在visual basic 6.0中對數(shù)據(jù)庫進行操作,首先要連接數(shù)據(jù)源,然后打開數(shù)據(jù)庫并進行相應(yīng)的數(shù)據(jù)操作,接著更新數(shù)據(jù)庫,最后進行數(shù)據(jù)庫的關(guān)閉,在實際操作中通過控件adodc與控件

40、datagrid連接,以實現(xiàn)數(shù)據(jù)源與數(shù)據(jù)顯示相聯(lián)系,并通過picturebox控件實現(xiàn)繪圖的功能,ado控件與數(shù)據(jù)庫表連接的方法如圖26。另外通過vb功能調(diào)用可加以實現(xiàn)數(shù)據(jù)庫的查詢和報表打印功能2627。上位機實際運行效果如圖27。圖25 數(shù)據(jù)庫表 圖26 上位機中adodc與數(shù)據(jù)庫表的連接圖27 上位機實際運行界面3.6 調(diào)用本地數(shù)據(jù)庫網(wǎng)頁設(shè)計遠(yuǎn)程調(diào)用監(jiān)控數(shù)據(jù)庫網(wǎng)頁運用asp語言編寫,由于時間的倉促此部分功能并未完成且很多地方有待修改。asp是 active server pages(動態(tài)服務(wù)器主頁)的縮寫,它是一個服務(wù)器端的腳本環(huán)境,在站點的web服務(wù)器上解釋腳本,可產(chǎn)生并執(zhí)行動態(tài)、交互式

41、、高效率的站點服務(wù)器應(yīng)用程序。asp可以勝任基于微軟web服務(wù)器的各種動態(tài)數(shù)據(jù)發(fā)布。asp的編譯環(huán)境簡介開發(fā)asp程序,最好的工具是microsoft visual interdev6.0,利用它不僅可以編寫還可以調(diào)試,本設(shè)計采用的工具是dreamweaver,它可以將asp腳本語言 與html語言分顏色顯示并可幫助編寫復(fù)雜的html語句,dreamweaver運行界面如圖29所示。本地網(wǎng)頁設(shè)計流程圖如圖28所示:圖28 web界面設(shè)計流程圖 圖29 dreamweaver軟件運行圖此部分設(shè)計包括用戶登錄框、數(shù)據(jù)庫調(diào)用界面、數(shù)據(jù)庫查詢修改界面等,同時考慮到網(wǎng)頁安全除用戶登錄框外,網(wǎng)頁還具有對登

42、錄主機的記錄、以及登錄用戶的記錄功能,增加了網(wǎng)頁安全性2832。網(wǎng)頁訪問相關(guān)界面如圖30所示。圖30 網(wǎng)頁遠(yuǎn)程訪問相關(guān)界面4 總結(jié)4.1 難點與創(chuàng)新在本次設(shè)計中難點主要有一下幾方面:串行通信的設(shè)置和實現(xiàn)、vb上位機的編寫和數(shù)據(jù)庫的調(diào)用、web服務(wù)器及本地網(wǎng)頁的制作。現(xiàn)就前兩點進行簡單介紹。串行通信的難點主要是由于所需要發(fā)送的數(shù)據(jù)格式的特殊要求,從下位機傳送數(shù)據(jù)到上位機的過程中由于數(shù)據(jù)量比較大所以需要在不同類別的數(shù)據(jù)前添加相應(yīng)的標(biāo)志位,并且由于一次傳輸只能傳輸八個字節(jié),所以必須將一個數(shù)據(jù)按位分別發(fā)送,上位機接收后在進行進一步分析和組裝,否則將會導(dǎo)致數(shù)據(jù)接收紊亂,無法有效的分別不同測試點的溫濕度情

43、況。本設(shè)計中利用輪詢的方式進行數(shù)據(jù)的接收和發(fā)送,在數(shù)據(jù)發(fā)送前由下位機對數(shù)據(jù)進行處理,在需要發(fā)送的一組數(shù)據(jù)前加標(biāo)志位并且尾部添加結(jié)束位,保證上位機不會因為數(shù)據(jù)接收混亂而影響系統(tǒng)可靠性和穩(wěn)定性。上位機中對于access數(shù)據(jù)庫操作是通過vb自身的控件完成,用到的控件主要有microsoft datagrid control 6.0和microsoft ado data control 6.0,通過這兩個控件可以使上位機連接到數(shù)據(jù)庫實現(xiàn)上位機對數(shù)據(jù)庫的操作,同時將數(shù)據(jù)庫表中的內(nèi)容顯示在上位機界面上。創(chuàng)新主要體現(xiàn)在以下五個方面:1、采用1602液晶顯示,既節(jié)約接口又可以同屏顯示更多的數(shù)據(jù)量。2、硬件電路

44、采用模塊化設(shè)計方便擴展和維護。3、利用串行通信的方式通過上位機發(fā)送相應(yīng)指令到下位機,實現(xiàn)遠(yuǎn)程監(jiān)測。4、可采用web訪問的形式遠(yuǎn)程查看本地數(shù)據(jù)庫,實現(xiàn)更遠(yuǎn)距離的實時監(jiān)控。5、預(yù)留部分接口,便于以后進行功能升級且功能可擴展。4.2 測試結(jié)果討論在完成了電路設(shè)計、程序編寫、焊接以及程序下載后,本次設(shè)計就接近尾聲。最后需要進行最終的效果測試。下面對測試過程及情況做簡要說明。首先,對下位機進行測試,1602液晶可以實時顯示監(jiān)測點溫濕度和設(shè)定的閾值,鍵盤正常工作,人為將監(jiān)測點溫度升高到上限后報警啟動同時觸發(fā)繼電器工作,至此下位機工作正常。然后,對上位機工作情況進行測試,通過usb轉(zhuǎn)串口線將下位機連接到計算

45、機,打開上位機程序窗口正常顯示各項測試數(shù)據(jù)并同步更新溫度曲線,人為觸發(fā)下位機報警,上位機界面同時報警,在上位機更改閾值下位機同步更新數(shù)據(jù)。測試上位機其他附屬功能正常實現(xiàn),至此上位機工作正常。最后,對web本地服務(wù)器工作情況進行測試,打開本地網(wǎng)絡(luò)服務(wù)程序,在其他計算機對web網(wǎng)頁進行訪問,訪問成功并成功讀取實時數(shù)據(jù),表明web網(wǎng)絡(luò)服務(wù)正常。到此,基于web的遠(yuǎn)程溫濕度采集及監(jiān)測系統(tǒng)測試完成,所有電路及預(yù)期功能基本完成。4.3 前景與展望在工農(nóng)業(yè)生產(chǎn)極度發(fā)達(dá)的今天工業(yè)生產(chǎn)自動化集約化程度越來越高,監(jiān)控設(shè)施越來越齊備,溫濕環(huán)境對工農(nóng)業(yè)生產(chǎn)有著重要的影響,對于溫濕度進行監(jiān)控的設(shè)備系統(tǒng)越來越多,但是他們

46、通常龐大、昂貴不易移植,且通常是單由監(jiān)控間集約化管理,并不能實際的遠(yuǎn)離工作現(xiàn)場,遠(yuǎn)程監(jiān)測的發(fā)展方向必然是向著網(wǎng)絡(luò)化的方向發(fā)展。 因此,這種基于web的遠(yuǎn)程溫濕度采集及監(jiān)測系統(tǒng)在現(xiàn)實中,具有一定潛力。而且,它在被工農(nóng)業(yè)運用的同時我們也可以利用其工作原理設(shè)計出自己的監(jiān)控系統(tǒng)服務(wù)于我們的生活。它的廉價性和系統(tǒng)易用性為它的適用范圍的擴大提供了可能性,而系統(tǒng)的可擴展性又提升了它的實用性。綜上所述,這種使用單片機作為主控芯片以網(wǎng)絡(luò)訪問為特色的監(jiān)控系統(tǒng)具有良好的發(fā)展勢頭,擁有一定潛力可供挖掘。參考文獻(xiàn):1 <<電子技術(shù)>>2001年11期:12-152 雷震甲.網(wǎng)絡(luò)工程師(第三版)m

47、.清華大學(xué)出版社,2009.8.1:136-1353 李琳等編著.零基礎(chǔ)學(xué)visual basic+sql serverm.-北京:機械工業(yè)出版社,2008.1:234 基于vb實現(xiàn)pc機與單片機的數(shù)據(jù)采集系統(tǒng)設(shè)計n 王 超 大眾科技 2009:125 樊昌信.通信原理(第五版)m.北京:國防工業(yè)出版社,2001:23-456 翁麗華.多路數(shù)據(jù)采集器系統(tǒng)與智能儀表的研究和設(shè)計d 7 敬錚. visual basic 6.0數(shù)據(jù)庫開發(fā)與專業(yè)應(yīng)用m 國防工業(yè)出版社 2002.1:568 求實科技. visual basic 6.0 程序設(shè)計與開發(fā)技術(shù)大全m 人民郵電出版社 2004.9:39-67

48、9 付浩 at89c51單片機高速串行輸出口設(shè)計a淮陰師范學(xué)院 2004.10:89-10010 李華. mcs-51系列單片機應(yīng)用接口技術(shù)m.北京航空航天大學(xué)出版,1993:235-24011 李建華,郭明.rs-232和調(diào)制解調(diào)器高級通信編程m.北京:人民郵電出版社2001年7月第l版:5912 gstephanopoulos,c.han.hitelligenisystemsinproeessengineering:areviewj computers&chemicalengineering,volume20,issues6-7,june-july1996:743-79113王選民

49、.智能儀器原理及設(shè)計m.北京清華大學(xué)出版社,2008年7月:221:22414 李蘭友.微機原理與接口技術(shù)m.天津:南開大學(xué)出版社,2001:5615 張琳娜,劉武發(fā)傳感檢測技術(shù)及應(yīng)用m中國計量出版社,1999:125-12816 何希才,虹敏.傳感器應(yīng)用接口電路j.機械工業(yè)出版社,199717 明日科技. 高春燕. 劉彬彬. 王斌. visual basic開發(fā)技術(shù)大全m 人民郵電出版社2008.6:543-55318 趙新民. 智能儀器設(shè)計基礎(chǔ)m. 哈爾濱工業(yè)大學(xué)出版社. 1999:56-6819 張友德,趙志英 單片微型計算機原理、應(yīng)用與實驗(第五版)m 復(fù)旦大學(xué)出版社 2006.5:2

50、3-2520 謝子店,朱秀.用pc機的打印口與ds18b20進行溫度檢測db.電子技術(shù)應(yīng)用,1999,11:69-7021 閆勝利,王朝瑞.基于ds18b20的溫度控制系統(tǒng)設(shè)計n.長春工程學(xué)院學(xué)報,2002,3:55-5922 d.w.caldwell.a distributed spacecraft thernal control architecture using the dallas semiconductor microlan producs.digital avionics systems conference,1997,10:1-823 選用射頻芯片的無線數(shù)據(jù)通信電路設(shè)計j 電子

51、技術(shù)2004年第12期24 41lueiodijasio.as皿chronouscommunieationj.progr田舊ming32一bitmicrocontrollersinc,2008,197-21725 范逸之. 陳立元. visual basic與rs-232串行通信控制(最新版)m 清華大學(xué)出版社 2002.6:23-8526 李梓. access數(shù)據(jù)庫系統(tǒng)及應(yīng)用m 科學(xué)出版社 2009.8:44-4527 明日科技. 高春燕. 劉彬彬. 李俊民. visual basic程序開發(fā)范例寶典m 人民郵電出版社2006.7 :25-4828 rong-ceng leou, zwe-l

52、ee gaing.a web-based load flow simulation of power systems.power engineering society summer meeting j. 2002 ieee. 2002,3(21-25): 1587-1591.29 劉燁.c/s模式與 b/s模式的對比分析j.科技信息,2007,(30):221-223. 30 楊繼萍,郝軍啟等. access 2003數(shù)據(jù)庫原理與應(yīng)用標(biāo)準(zhǔn)教程m.北京:清華大學(xué)出版社,2006:214-22231 龍馬工作室.asp+access組建動態(tài)網(wǎng)站實例精講m.北京:人民郵電出版社, 2005:155:17132 李文才,田中雨,劉躍軍等 asp動態(tài)網(wǎng)站開發(fā)基礎(chǔ)教程與實驗指導(dǎo)m.北京:清華大學(xué)出版社2008:8-56附錄:下位機程序:#include<at89x52.h>#include"1602.h"#define uchar unsigned char #define uint

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論