遲俊鵬 劉玉喜 靳忠軒 任泉
摘 要:采用nRF24L01作為無線收發(fā)模塊實(shí)現(xiàn)無線數(shù)據(jù)傳輸,使用DS18B20溫度傳感器采集環(huán)境溫度,并用ATMEL公司的AT89C52作為主控芯片,協(xié)調(diào)系統(tǒng)的數(shù)據(jù)采集、處理、顯示及無線傳輸?shù)冗^程。溫度采集節(jié)點(diǎn)能夠利用溫度傳感器穩(wěn)定地采集周圍環(huán)境的溫度,并通過無線模塊將數(shù)據(jù)傳送到接收節(jié)點(diǎn),顯示到LCD上。該設(shè)計(jì)具有性能穩(wěn)定、成本低、低功耗等特點(diǎn),能夠廣泛應(yīng)用于各類對(duì)溫度要求較為特殊的環(huán)境下溫度數(shù)據(jù)的檢測(cè)。
關(guān)鍵詞:nRF24L01;DS18B20;無線通信;溫度傳感
一、引言
采用無線數(shù)據(jù)傳輸技術(shù)設(shè)計(jì)的溫度采集系統(tǒng)[1],能有效的解決傳統(tǒng)有線技術(shù)帶來的各種問題,其具有不用布線、故障排查簡(jiǎn)單、實(shí)時(shí)性高、可靈活布置、可實(shí)現(xiàn)多點(diǎn)采集,非常適用于各種現(xiàn)代工農(nóng)業(yè)溫度監(jiān)控系統(tǒng)[2]。基于無線通信的數(shù)據(jù)采集系統(tǒng)可以靈活地為終端用戶提供實(shí)時(shí)而準(zhǔn)確的信息[3],無論是在系統(tǒng)性能,還是在系統(tǒng)成本上,相對(duì)于傳統(tǒng)技術(shù),無線數(shù)據(jù)采集系統(tǒng)都具有很強(qiáng)的吸引力[4],它將在各個(gè)領(lǐng)域的數(shù)據(jù)采集系統(tǒng)中發(fā)揮積極的作用[5]。
二、系統(tǒng)方案設(shè)計(jì)(System design)
系統(tǒng)硬件設(shè)計(jì)主要由采集發(fā)送和接收顯示、告警三部分組成,采用DS18B20作為溫度采集元件,配合低功耗單片機(jī)的使用就可以很好地彌補(bǔ)傳統(tǒng)上的不足。采用nRF24L01模塊對(duì)采集到的溫度數(shù)據(jù)進(jìn)行無線傳輸,打破了傳統(tǒng)操作中距離受限的問題,使測(cè)溫操作更易實(shí)現(xiàn)。系統(tǒng)設(shè)計(jì)了四個(gè)溫度采集節(jié)點(diǎn)、一個(gè)數(shù)據(jù)接收節(jié)點(diǎn)。四個(gè)溫度采集節(jié)點(diǎn)可以實(shí)現(xiàn)系統(tǒng)對(duì)監(jiān)控區(qū)域內(nèi)的溫度進(jìn)行全方位的監(jiān)測(cè),保證監(jiān)測(cè)數(shù)據(jù)的準(zhǔn)確性和全面性。其中四個(gè)溫度采集節(jié)點(diǎn)的電路是一樣的,都是使用AT89S52作為核心處理器,控制其他各個(gè)功能器件有序工作。接收節(jié)點(diǎn)電路相對(duì)于發(fā)射節(jié)點(diǎn),多了一個(gè)LCD液晶顯示模塊,沒有溫度采集模塊。
三、系統(tǒng)硬件及軟件設(shè)計(jì)
設(shè)計(jì)一套基于nRF24L01的無線數(shù)據(jù)采集系統(tǒng),能夠通過系統(tǒng)的多個(gè)溫度采集節(jié)點(diǎn),采集周圍的環(huán)境溫度數(shù)據(jù),并將數(shù)據(jù)通過無線射頻電路發(fā)送到接收端,在接收端顯示出各節(jié)點(diǎn)的溫度值。同時(shí),系統(tǒng)要求能過對(duì)溫度數(shù)據(jù)進(jìn)行分析和判斷,如出現(xiàn)異常,則發(fā)出警報(bào)。主要包括:
(1)溫度采集模塊,溫度傳感器的功能是實(shí)現(xiàn)環(huán)境溫度的采集。采用DS18B20數(shù)字型溫度傳感器作為系統(tǒng)的溫度采集器件,可以很好地滿足系統(tǒng)的設(shè)計(jì)需求。
(2)無線收發(fā)模塊,射頻收發(fā)芯片要求能夠穩(wěn)定地用于系統(tǒng)傳輸溫度數(shù)據(jù),實(shí)現(xiàn)系統(tǒng)無線通信。系統(tǒng)采用的nRF24L01型無線射頻收發(fā)芯片工作于2.4—2.5GHz頻段的射頻芯片,其具有6個(gè)可選通信通道,非常契合系統(tǒng)的設(shè)計(jì)需求。
(3)LCD顯示模塊,系統(tǒng)要求能夠在接收端將接收到的溫度數(shù)據(jù)實(shí)時(shí)顯示出來,以便用戶觀察。12864型LCD顯示器能夠顯示多種圖形和文字,且尺寸小,驅(qū)動(dòng)相對(duì)簡(jiǎn)單,使用靈活性好,能夠滿足系統(tǒng)的設(shè)計(jì)需求。
(4)主控制模塊,基于對(duì)處理器的處理能力和開發(fā)成本的考慮,系統(tǒng)決定采用AT89S52型單片作為系統(tǒng)的核心處理器。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8k在系統(tǒng)可編程Flash存儲(chǔ)器,能很好地滿足系統(tǒng)的處理需求。
(5)報(bào)警模塊,系統(tǒng)的報(bào)警系統(tǒng)對(duì)器件的要求比較簡(jiǎn)單,它只需在溫度異常時(shí),起到提醒用戶的效果。系統(tǒng)采用了一種低成本、易控制的報(bào)警器——蜂鳴器,作為系統(tǒng)的報(bào)警器件,同時(shí)配置一個(gè)LED燈起輔助作用,達(dá)到聽覺和視覺的雙重報(bào)警效果。系統(tǒng)的程序開發(fā)語言為C-51,開發(fā)工具為Keil軟件。系統(tǒng)的程序設(shè)計(jì)包括數(shù)據(jù)采集節(jié)點(diǎn)和數(shù)據(jù)接收節(jié)點(diǎn)的程序設(shè)計(jì),主要涉及到溫度采集模塊、無線射頻模塊、LCD顯示模塊、串口數(shù)據(jù)傳輸模塊的編程。
數(shù)據(jù)采集發(fā)送部分上電后首先配置nRF24L01的相關(guān)寄存器.使其工作在發(fā)射狀態(tài),然后復(fù)位DSl8B20,向DSl8B20發(fā)送溫度轉(zhuǎn)換命令,讀取已轉(zhuǎn)換的溫度值,然后由nRF24L01發(fā)送。nRF24L01在數(shù)據(jù)接收顯示中為接收狀態(tài)。當(dāng)nRF24L01模塊配置為接收模式后,當(dāng)接收到數(shù)據(jù)中斷時(shí),從接收FIFO讀取數(shù)據(jù)。然后將其存儲(chǔ)到接收緩沖區(qū)rX_bur中。12864液晶顯示屏分為左右半屏顯示,每個(gè)半屏有8頁64列,分別由使能端CS1、CS2來選通。由于左右半屏在同一位置像素點(diǎn)共用一個(gè)地址,因此,要單獨(dú)顯示左、右半屏?xí)r,只能選通其中一個(gè)使能端。
四、系統(tǒng)調(diào)試(System debugging)
系統(tǒng)的調(diào)試主要有硬件調(diào)試和軟件調(diào)試兩部分。由于系統(tǒng)的硬件電路板是自制的,從PCB畫圖到腐蝕、焊接,整個(gè)過程都是手工完成的,這就難免使電路板存在一些誤差和故障,所以,硬件調(diào)試的主要內(nèi)容就是在制作好電路板之后,檢測(cè)電路板的電氣連接是否正確,上電后各關(guān)鍵測(cè)試點(diǎn)的電壓是否正常等。在確保了硬件電路沒有問題之后,才可以進(jìn)較難判斷哪一種算法預(yù)測(cè)更準(zhǔn)確。某一種算法對(duì)于一種監(jiān)控?cái)?shù)據(jù)而言在一段時(shí)間內(nèi)可能較適用,但隨著時(shí)間的推移、監(jiān)控?cái)?shù)據(jù)行為的改變,另一種算法可能更適用。所以正確的做法是不要提前選擇某種算法,而是用預(yù)測(cè)模型可采用的各種算法同時(shí)預(yù)測(cè)監(jiān)控?cái)?shù)據(jù),再用錯(cuò)誤率方程來評(píng)價(jià)各種算法的動(dòng)態(tài)適應(yīng)性。最后選擇在時(shí)間t時(shí)適應(yīng)性最好的算法來預(yù)測(cè)t+k時(shí)的行為。
五、結(jié)論(Conclusion)
該云計(jì)算平臺(tái)監(jiān)控系統(tǒng)預(yù)測(cè)模型,依據(jù)監(jiān)控歷史數(shù)據(jù),預(yù)測(cè)系統(tǒng)將來會(huì)發(fā)生的異常行為,進(jìn)而提前采取防范措施,能解決監(jiān)控系統(tǒng)實(shí)時(shí)處理數(shù)據(jù)滯后的問題,以保證系統(tǒng)的正常運(yùn)行,對(duì)基于云計(jì)算平臺(tái)的監(jiān)控服務(wù)項(xiàng)目有很高的參考價(jià)值。
參考文獻(xiàn)(References)
[1] 陳康,鄭緯民.云計(jì)算:系統(tǒng)實(shí)例與研究現(xiàn)狀[J].軟件學(xué)報(bào),2009,20(5):13-15.
[2] 董波,沈青,肖德寶.云計(jì)算集群服務(wù)器系統(tǒng)監(jiān)控方法的研究[J].計(jì)算機(jī)工程與科學(xué),2012(10):68-72.
[3] 劉莉,屈志堅(jiān).基于GridGain云計(jì)算平臺(tái)的監(jiān)控管理信息分解聚合研究[J].計(jì)算機(jī)測(cè)量與控制,2012(12):3235-3238.