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