李 林
(江西師范高等專科學(xué)校,江西 鷹潭 335000)
隨著社會經(jīng)濟的不斷發(fā)展和人民生活水平的迅速提高,各種環(huán)境問題日益突出,如全球變暖和水環(huán)境污染等[1]。在氣候環(huán)境監(jiān)測和水質(zhì)監(jiān)測中,溫度的檢測顯得越來重要[2]。同時,在工業(yè)生產(chǎn)和日常生活中,溫度的測量是少不了的,如需要實時監(jiān)測元器件生產(chǎn)和使用過程中溫度的變化,監(jiān)測深林、室內(nèi)、人體等溫度的變化[3],這對預(yù)防重大事故、自然災(zāi)害、疾病等都具有非常重要的作用。因此,設(shè)計一種低成本、高性能、低功耗的智能溫度采集系統(tǒng),具有非常重要的現(xiàn)實意義。
目前,溫度采集系統(tǒng)主要是通過現(xiàn)場人工監(jiān)測實現(xiàn)溫度采集。這種方法具有耗時、耗力以及成本高等缺點[4];例如通過RS232等接口,采用有線方式將數(shù)據(jù)傳輸?shù)絇C機[5],這種方式非常適合短距離數(shù)據(jù)采集,當(dāng)傳輸距離較長時,數(shù)據(jù)的采集成本和系統(tǒng)的布線難度會大大增加[6];此外,還有一種基于局域GPRS短信的數(shù)據(jù)傳輸方式,這種傳輸方式設(shè)計相對簡單,成本也相對較低,但是采用的是發(fā)送短信的方式,需要預(yù)先定義好數(shù)據(jù)接收的對象。這使得用戶對象在一定程度上受到限制。針對這些問題,筆者設(shè)計了一種以XILINX FPGA作為主控芯片的智能溫度采集系統(tǒng),該系統(tǒng)在數(shù)據(jù)采集前端不僅僅實現(xiàn)了溫度的LCD實時顯示和I2C串口通信,而且還可以在短距離內(nèi)通過網(wǎng)絡(luò)或OneNet云端實現(xiàn)對溫度信息的遠(yuǎn)程實時監(jiān)測,該系統(tǒng)具有體積小、功耗低、使用方便等特點。
文章所設(shè)計的智能溫度采集系統(tǒng)的系統(tǒng)結(jié)構(gòu)設(shè)計框圖如圖1所示。
由圖1可知,整個系統(tǒng)由數(shù)據(jù)采集前端設(shè)備、以太網(wǎng)通信設(shè)備、WiFi模塊、后臺數(shù)據(jù)處理設(shè)備和云平臺構(gòu)成,其中終端采集設(shè)備有測溫傳感器、FPGA構(gòu)成,溫度傳感器將監(jiān)測到的溫度信息發(fā)送給FPGA,F(xiàn)PGA將溫度數(shù)據(jù)進(jìn)行處理匯總。WiFi模塊負(fù)責(zé)將數(shù)據(jù)傳輸?shù)皆破脚_,實現(xiàn)數(shù)據(jù)云端遠(yuǎn)程查看。以太網(wǎng)通信設(shè)備自動通過以太網(wǎng)協(xié)議將溫度信息發(fā)送到數(shù)據(jù)處理設(shè)備,實現(xiàn)數(shù)據(jù)的實時傳輸。后臺數(shù)據(jù)處理設(shè)備主要由服務(wù)器和數(shù)據(jù)分析軟件兩部分組成。服務(wù)器接收前端采集溫度信息并匯總到數(shù)據(jù)分析軟件,數(shù)據(jù)分析軟件通過Python語言編寫,并通過可視化的手段將數(shù)據(jù)呈現(xiàn)。如輸入某一時間,可以輸出該時間之前一段時間的溫度記錄信息,并自動生成Excel文件保存,同時可以打印輸出。
圖1 系統(tǒng)框圖
系統(tǒng)的云平臺選擇移動的OneNet平臺作為數(shù)據(jù)平臺的存儲和指令的中轉(zhuǎn)站,在OneNet云平臺和終端采集設(shè)備之間,通過WiFi建立數(shù)據(jù)連接,實現(xiàn)數(shù)據(jù)交互。
本系統(tǒng)的硬件包括數(shù)據(jù)采集前端的采集設(shè)備和后臺服務(wù)器。數(shù)據(jù)前端采集設(shè)備由溫度傳感器LM75,XILINX的ARTIX-7芯片,LCD顯示屏,WiFi模塊和Micrel公司的KSZ9031RNX以太網(wǎng)PHY芯片構(gòu)成。其硬件系統(tǒng)結(jié)構(gòu)圖如圖2所示。
其中溫度傳感器LM75為非接觸式的傳感器,支持高速I2C協(xié)議,可以在-55℃~+125℃的溫度范圍內(nèi)將溫度直接轉(zhuǎn)換為數(shù)字信號,測量的分辨率可達(dá)0.125℃。LM75共有8個引腳,如圖3所示。其中VDD和GND引腳分別接FPGA的3.3 V和GND引腳。SCL和SDA分別接FPGA的各個模擬接口。INT為終端輸出端口,這里設(shè)置開路,A0~A2為用戶定義的地址信號,這里把A0接3.3 V,A1和A2接地。
圖3 LM75溫度傳感器模塊圖
WiFi模塊采用商用的EPS8266芯片,通過串口通信協(xié)議與FPGA進(jìn)行通信[7],其模塊的結(jié)構(gòu)示意圖類似于LM75,這里不再進(jìn)行敘述。LCD顯示屏與FPGA的連接以及使用已經(jīng)很成熟了,這里不再贅述。通信模塊采用的是Micrel公司的KSZ9031RNX以太網(wǎng)PHY芯片。通信模塊要與FPGA通信,所以要讓通信模塊的讀寫端口與FPGA引腳相連,其通信模塊圖如圖4所示。
圖4 通信模塊圖
系統(tǒng)軟件主要由FPGA內(nèi)部程序、OneNet云平臺和服務(wù)器軟件三大部分組成。其中FPGA內(nèi)部程序的功能主要是對溫度傳感器測溫信號進(jìn)行采集、處理、顯示,以及通過WiFi模塊將溫度信息上傳至OneNet云平臺和通過KSZ9031RNX將數(shù)據(jù)發(fā)送至服務(wù)器。該系統(tǒng)具體的工作流程如下:現(xiàn)場由溫度傳感器LM75對溫度進(jìn)行測量,同時將所測量的溫度數(shù)據(jù)信息發(fā)送到FPGA進(jìn)行處理,F(xiàn)PGA將處理后的數(shù)據(jù)傳輸?shù)絃CD上進(jìn)行實時顯示的同時,通過以太網(wǎng)芯片KSZ9031RNX將數(shù)據(jù)發(fā)送到服務(wù)器,并通過WiFi模塊將數(shù)據(jù)上傳到OneNet云平臺上。
OneNet云平臺是中國移動公司全力開發(fā)的物聯(lián)網(wǎng)免費開放平臺。平臺內(nèi)部采用了多種標(biāo)準(zhǔn)協(xié)議,供開發(fā)者進(jìn)行選擇,具有開發(fā)流程簡單、使用方便和功能完備等特點[8]。服務(wù)器軟件程序采用Python語言完成程序的編寫,完成溫度信息的匯總、存儲、可視化顯示以及自動報表的生成等功能。服務(wù)器將前端溫度采集設(shè)備發(fā)送過來的溫度信息接收并存儲在服務(wù)器上,同時將溫度信息和時間信息自動轉(zhuǎn)變?yōu)镋xcel格式,生成報表。且在終端服務(wù)器上以動態(tài)圖的形式實時顯示當(dāng)前和歷史的溫度信息,該系統(tǒng)主程序的工作流程如圖5所示。
圖5 系統(tǒng)主程序流程圖
設(shè)置若干個不同的測試點進(jìn)行測試,將測試端采集到的溫度數(shù)據(jù)上傳至后臺數(shù)據(jù)處理設(shè)備,達(dá)到實時監(jiān)控當(dāng)前溫度信息,并動態(tài)顯示歷史溫度信息的要求。當(dāng)所有的設(shè)備都調(diào)試完成,首先打開數(shù)據(jù)采集前端設(shè)備,對室內(nèi)溫度進(jìn)行測量,溫度采集模塊采集當(dāng)前室內(nèi)溫度數(shù)據(jù),上傳至FPGA,通過前端LCD實時顯示當(dāng)前室內(nèi)溫度;然后打開后臺數(shù)據(jù)處理設(shè)備,接收數(shù)據(jù)采集端發(fā)送過來的溫度數(shù)據(jù),并且在上位機上動態(tài)實時顯示采集端的溫度信息,同時將接收到的信息進(jìn)行格式轉(zhuǎn)換和存儲;最后系統(tǒng)OneNet云端將數(shù)據(jù)推送出去實現(xiàn)遠(yuǎn)程實時查看。
本設(shè)計中的智能溫度采集系統(tǒng)采用了XILINX FPGA作為控制中樞,有效提高了溫度采集的效率和精度,能夠?qū)崿F(xiàn)溫度信息的自動采集和監(jiān)控。完成了后臺數(shù)據(jù)處理設(shè)備的上位機的開發(fā),實現(xiàn)了遠(yuǎn)程監(jiān)控平臺的設(shè)計,最終實現(xiàn)溫度傳感器LM75采集的溫度數(shù)據(jù)以及LCD顯示、PC端上位機和OneNet云平臺的遠(yuǎn)程實時查看等功能。實驗室對該系統(tǒng)完成了整機測試,系統(tǒng)運行良好。
為了提高該系統(tǒng)的應(yīng)用領(lǐng)域,后續(xù)可以通過增加數(shù)據(jù)采集參數(shù)、前端數(shù)據(jù)采集傳感器,設(shè)計自組建網(wǎng)絡(luò)平臺,優(yōu)化系統(tǒng)的硬件設(shè)計方案等來對該系統(tǒng)進(jìn)行改進(jìn)。