基于ARM的遠(yuǎn)程溫度監(jiān)測(cè)報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘要:設(shè)計(jì)了一個(gè)基于ARM的遠(yuǎn)程溫度監(jiān)測(cè)報(bào)警系統(tǒng)。該溫度監(jiān)測(cè)報(bào)警系統(tǒng)以Tiny6410為平臺(tái),通過(guò)DS18B20溫度傳感器采集溫度,利用數(shù)據(jù)庫(kù)存儲(chǔ)溫度、時(shí)間值并通過(guò)網(wǎng)頁(yè)顯示溫度數(shù)據(jù)。此外,通過(guò)在網(wǎng)頁(yè)上設(shè)置溫度閾值范圍,對(duì)超出范圍的溫度點(diǎn)利用蜂鳴器報(bào)警,溫度監(jiān)測(cè)范圍是-55℃~125℃。
本文引用地址:http://cafeforensic.com/article/201610/305828.htm0 引言
溫度監(jiān)測(cè)廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域,如家電、汽車(chē)、材料、電力電子等。在很多生產(chǎn)過(guò)程中,溫度的監(jiān)測(cè)和控制都直接和安全生產(chǎn)、提高生產(chǎn)效率、保證產(chǎn)品質(zhì)量、節(jié)約能源等重大技術(shù)經(jīng)濟(jì)指標(biāo)相聯(lián)系。隨著生活水平的提高和科學(xué)技術(shù)的進(jìn)步,無(wú)論是工業(yè)還是農(nóng)業(yè)或者是日常生活中對(duì)溫度監(jiān)測(cè)的要求越來(lái)越高。溫度監(jiān)測(cè)的精度以及不同控制對(duì)象的控制方法選擇都起著至關(guān)重要的作用,在很多領(lǐng)域中溫度可能較高或較低,使我們無(wú)法靠近或無(wú)法實(shí)現(xiàn)人力監(jiān)控,或者在某些環(huán)境下溫度監(jiān)測(cè)比較危險(xiǎn)。因此,需要設(shè)計(jì)一種可實(shí)現(xiàn)智能監(jiān)測(cè)的監(jiān)測(cè)系統(tǒng),以滿(mǎn)足對(duì)溫度監(jiān)測(cè)日益迫切的需求。
基于此,本文設(shè)計(jì)了一個(gè)基于ARM的遠(yuǎn)程溫度監(jiān)測(cè)報(bào)警系統(tǒng),該系統(tǒng)利用ARM處理器的強(qiáng)大功能,通過(guò)讀取溫度傳感器數(shù)據(jù),并與設(shè)定閾值進(jìn)行比較,然后對(duì)溫度進(jìn)行監(jiān)測(cè)報(bào)警。通過(guò)內(nèi)嵌的操作系統(tǒng)μCLinux獲得極好的實(shí)時(shí)性,并且通過(guò)TCP/IP協(xié)議能與PC機(jī)很快的通訊。
1 系統(tǒng)硬件
1.1 ARM平臺(tái)
該遠(yuǎn)程溫度監(jiān)測(cè)報(bào)警系統(tǒng)使用Tiny6410開(kāi)發(fā)板,它是一款以ARM11芯片(三星S3C6410)作為主處理器的嵌入式核心板,該CPU基于ARM1176 JZF—S核設(shè)計(jì),內(nèi)部集成了強(qiáng)大的多媒體處理單元,支持Mpeg4,H.264/H.263等格式的視頻文件硬件編解碼,可同時(shí)輸出至LCD和TV顯示,它還帶有3D圖形硬件加速器,以實(shí)現(xiàn)OpenGL ES 1.12.0加速渲染。Tiny6410采用高密度6層板設(shè)計(jì),尺寸為64×50 mm,它集成了128 M/256M DDR RAM,SLC NAND Flash(256M/1GB)或MLC NAND Flash(2GB)存儲(chǔ)器,采用5 V的電壓供電,實(shí)現(xiàn)CPU必需的各種核心電壓轉(zhuǎn)換,還帶有專(zhuān)業(yè)復(fù)位芯片,通過(guò)2.0 mm間距的排針,引出各種常見(jiàn)的接口資源,以供開(kāi)發(fā)者進(jìn)行快捷的二次開(kāi)發(fā)使用。
1.2 DS18B20數(shù)字溫度計(jì)
DS18B20數(shù)字溫度計(jì)提供9位(二進(jìn)制)溫度讀數(shù),指示器件的溫度。信息經(jīng)過(guò)單線(xiàn)接口送入DS18B20或從DS18B20送出。DS18B20的電源可以由數(shù)據(jù)線(xiàn)本身提供而不需要外部電源。它的測(cè)量范圍從-55℃~+125℃,精度為0.5℃??稍? s內(nèi)把溫度變換成數(shù)字。
每一個(gè)DS18B20包括一個(gè)唯一的64位長(zhǎng)的序號(hào),序號(hào)值存放在DS1820內(nèi)部的ROM中。DS1820中還有用于貯存測(cè)得的溫度值的兩個(gè)8位存貯器RAM,編號(hào)為0號(hào)和1號(hào)。DS18B20有3個(gè)引腳,引腳1(GND)的功能是接地,引腳2(DQ)的功能是實(shí)現(xiàn)數(shù)字輸入、輸出,引腳3(VDD)的功能是可選+5 V的電源。
本文設(shè)計(jì)的遠(yuǎn)程溫度監(jiān)測(cè)報(bào)警系統(tǒng)硬件部分如圖1所示。
2 軟件設(shè)計(jì)
2.1 溫度閾值的設(shè)置和存儲(chǔ)
用戶(hù)通過(guò)web網(wǎng)頁(yè)界面設(shè)置溫度闕如圖2所示,然后將設(shè)定好的溫度閾值通過(guò)CGI程序以長(zhǎng)整型的形式存入緩存文件中,供應(yīng)用程序調(diào)用。
2.2 溫度的采集與存儲(chǔ)
系統(tǒng)通過(guò)DS18B20對(duì)周?chē)h(huán)境的溫度進(jìn)行采集,每隔十秒采集一次。DS18B20將溫度采集值存入到傳感器驅(qū)動(dòng)設(shè)定好的文件中。系統(tǒng)后臺(tái)從設(shè)備文件中讀取溫度值與其對(duì)應(yīng)的時(shí)間值,并把這些數(shù)據(jù)存入到數(shù)據(jù)庫(kù)中。
2.3 溫度報(bào)警的實(shí)現(xiàn)
首先程序從緩存文件中讀取網(wǎng)頁(yè)上設(shè)定好的溫度閾值,如果發(fā)現(xiàn)從設(shè)備文件中讀取的當(dāng)前溫度值不在閾值范圍內(nèi),應(yīng)用程序就控制蜂鳴器鳴響。如果高于上限報(bào)警器每隔1 s響一次,低于下限則報(bào)警器響5 s,在閾值區(qū)間內(nèi)則蜂鳴器不報(bào)警。傳感器如果測(cè)量的溫度值恢復(fù)正常的話(huà),就會(huì)關(guān)閉蜂鳴器,否則會(huì)一直響鈴報(bào)警。
2.4 遠(yuǎn)程異常溫度信息查看
當(dāng)用戶(hù)登陸網(wǎng)頁(yè)查看異常溫度信息時(shí),CGI程序會(huì)自動(dòng)打開(kāi)數(shù)據(jù)庫(kù),通過(guò)命令查詢(xún)數(shù)據(jù)庫(kù)中的全部信息,將異常溫度信息及發(fā)生的時(shí)間提取出來(lái),最后在網(wǎng)頁(yè)上呈現(xiàn)出這些異常信息。
遠(yuǎn)程溫度監(jiān)測(cè)報(bào)警系統(tǒng)各功能模塊關(guān)系如圖3所示。
3 測(cè)試結(jié)果
首先在web頁(yè)面上將溫度閾值分別設(shè)置為:溫度下限12℃和溫度上限24℃。然后通過(guò)DS18B20數(shù)字溫度計(jì)對(duì)室內(nèi)環(huán)境溫度進(jìn)行采集,每隔10 s采集一次,其中包括對(duì)一杯溫度為40℃的熱水進(jìn)行監(jiān)測(cè)30 s。溫度采集開(kāi)始時(shí)間是2013年5月6日上午11時(shí),采集總時(shí)間為2 min,室溫為20℃。溫度采集結(jié)果如圖4所示。
由圖4可以看出,2 min內(nèi)共采集到12條數(shù)據(jù),其中包括對(duì)熱水溫度采集的3條數(shù)據(jù)。在圖4的左邊一列給出溫度采集時(shí)間,右邊一列給出對(duì)應(yīng)時(shí)刻的溫度值。
在對(duì)圖4所示的溫度值進(jìn)行采集過(guò)程中,由于杯中熱水溫度40℃不在閾值范圍內(nèi),即大于溫度上限24℃,所以蜂嗚器會(huì)自動(dòng)報(bào)警鳴響,報(bào)警器每隔1 s響一次,直到在2013年5月6日11:01:30時(shí)溫度采集值20.75℃處于閾值范圍內(nèi)才關(guān)閉蜂鳴器。為了獲取溫度報(bào)警時(shí)的相關(guān)信息,可登陸網(wǎng)頁(yè)查看所需報(bào)警溫度信息,CGI程序自動(dòng)從數(shù)據(jù)庫(kù)中提取出對(duì)應(yīng)溫度信息,并將這些信息呈現(xiàn)在網(wǎng)頁(yè)上,如圖5所示。
評(píng)論