云南師范大學(xué)商學(xué)院 施媛波
針對現(xiàn)有工業(yè)數(shù)據(jù)采集的交互性和可靠性差的問題,提出一種嵌入式實(shí)時(shí)數(shù)據(jù)采集和控制系統(tǒng),并完成系統(tǒng)的軟硬件實(shí)現(xiàn)。該系統(tǒng)以基于ARM11框架的Raspberry Pi為核心,將Web服務(wù)器應(yīng)用程序移植到嵌入式ARM處理器中,利用基于ARM的嵌入式Web服務(wù)器開發(fā)在線交互式數(shù)據(jù)采集與控制系統(tǒng)。傳感器采集的數(shù)據(jù)通過嵌入式Web服務(wù)器上傳,遠(yuǎn)程客戶端通過網(wǎng)絡(luò)訪問得到采集的數(shù)據(jù),當(dāng)數(shù)值超出預(yù)警值則啟動繼電器進(jìn)行控制。測試結(jié)果表明,當(dāng)系統(tǒng)服務(wù)器的接收到任何請求時(shí),從傳感器采集的數(shù)據(jù)會以網(wǎng)頁的形式顯示,說明了設(shè)計(jì)實(shí)現(xiàn)的嵌入式實(shí)時(shí)數(shù)據(jù)采集和控制系統(tǒng)的可行性與有效性。
在工業(yè)測量和控制領(lǐng)域,獲得大量的實(shí)時(shí)現(xiàn)場參數(shù)是很有必要的。由于環(huán)境的復(fù)雜性,數(shù)據(jù)采集系統(tǒng)大多由工業(yè)計(jì)算機(jī)完成,但是工業(yè)計(jì)算機(jī)具有體積大、功耗大、可靠性差和安裝不方便等問題。另外有專用的、可獨(dú)立工作的數(shù)據(jù)采集系統(tǒng),使用數(shù)字信號處理器和微控制器來完成,缺點(diǎn)是價(jià)格高,人機(jī)交互性差。
嵌入式處理器的快速發(fā)展有效地彌補(bǔ)了工業(yè)個(gè)人計(jì)算機(jī)(Industrial Personal Computer,IPC)的不足,尤其是ARM處理器,它不僅結(jié)合了其他采集系統(tǒng)的優(yōu)點(diǎn),克服了它的缺點(diǎn),增加了一些新功能,進(jìn)一步擴(kuò)展其應(yīng)用領(lǐng)域和適用范圍,針對不同需求,具有極大的靈活性。ARM處理器通常是SOC芯片,相比傳統(tǒng)控制器具有大量的片上外設(shè)和更強(qiáng)大的性能。目前已經(jīng)有研究者對嵌入式數(shù)據(jù)采集系統(tǒng)進(jìn)行了研究。
本文針對現(xiàn)有數(shù)據(jù)采集系統(tǒng)的問題,提出一種基于ARM11框架的Raspberry Pi的嵌入式實(shí)時(shí)數(shù)據(jù)采集和控制系統(tǒng),遠(yuǎn)程客戶端用戶通過網(wǎng)絡(luò)訪問嵌入式Web服務(wù)器,從網(wǎng)頁上得到傳感器采集的數(shù)據(jù),當(dāng)數(shù)據(jù)超出預(yù)警值以后啟動繼電器進(jìn)行控制。
Raspberry Pi是一種嵌入式卡片電腦,由Raspberry Pi基金會在英國開發(fā)出來的,其主要目標(biāo)是創(chuàng)建一個(gè)經(jīng)濟(jì)有效的平臺,通過提供只需要SD卡的一體化電路板、監(jiān)視器和輸入設(shè)備來運(yùn)行,是一種實(shí)用且價(jià)格合理的設(shè)備。Raspberry Pi沒有只讀內(nèi)存,可以阻止用戶刷新固件使Pi變成一個(gè)不可操作的板。Raspberry Pi另一個(gè)吸引人的因素是設(shè)備的功耗很小,因?yàn)樗梢酝ㄟ^另一臺計(jì)算機(jī)的通用串行總線USB端口或小型5v充電器供電。
Raspberry Pi接口較豐富,具有高清多媒體接口HDMI、通用串行總線USB和內(nèi)部集成電路IIC等,可通過C/C++或者Python語言編寫相應(yīng)程序來實(shí)現(xiàn)不同的功能。圖1給出了Raspberry Pi的接口與外設(shè)圖。另外Raspberry Pi具有26個(gè)GPIO對外接口,通過GPIO可以實(shí)現(xiàn)控制工作和數(shù)據(jù)交互等功能,本文通過Python語言來控制其進(jìn)行工作。
Raspberry Pi嵌入式數(shù)據(jù)采集系統(tǒng)所提嵌入式Raspberry Pi數(shù)據(jù)采集和控制系統(tǒng)硬件組成有:嵌入式Raspberry Pi、AT-mega16微控制器、傳感器、繼電器和路由器。
其中Raspberry Pi是系統(tǒng)的核心,具有實(shí)時(shí)仿真和嵌入式跟蹤支持的性能。傳感器如氣壓溫度傳感器,氣體傳感器和光敏傳感器連接到Raspberry Pi,將采集到的數(shù)據(jù)通過Raspberry Pi上web服務(wù)器以網(wǎng)頁的形式發(fā)送到客戶端。
BMP085氣壓溫度傳感器,由壓阻式傳感器、模數(shù)轉(zhuǎn)換器、帶電可擦可編程只讀存儲器(Electrically Erasable Programmable read only memory,EEPROM)和串行I2C接口的控制單元組成。BMP085提供無補(bǔ)償?shù)膲毫χ?,測量范圍為300~1100hPa,絕對精度為2.5hPa,噪音低至0.03hPa。同時(shí),BMP085具有低至3uA的低功耗。傳感器支持1.8至3.6V的電壓,BMP085的額定工作溫度范圍為-550至+1500℃。BMP085與Raspberry Pi連接圖如圖1所示。
圖1 BMP085管腳與Raspberry Pi GPIO對應(yīng)連接圖
數(shù)據(jù)采集系統(tǒng)中使用的氣體傳感器是MQ-6,它對丙烷、丁烷和液化石油氣具有高靈敏度,也對天然氣有反應(yīng),MQ-傳感器可用于檢測不同的可燃?xì)怏w,尤其是甲烷,具有的優(yōu)點(diǎn)是成本低,適合不同的可燃?xì)怏w檢測。MQ-6氣體傳感器的敏感材料是SnO2,當(dāng)空氣中存在可燃?xì)怏w,MQ-6電導(dǎo)率隨著可燃?xì)怏w濃度的增加而增大,通過轉(zhuǎn)化電路,輸出與氣體濃度相當(dāng)?shù)臄?shù)據(jù)。MQ-6傳感器與Raspberry Pi連接圖如圖2所示。
圖2 MQ-6管腳與Raspberry Pi GPIO對應(yīng)連接圖
系統(tǒng)中采集光照強(qiáng)度使用的光感LDR傳感器是BH1750,作為一種數(shù)字型光強(qiáng)傳感器集成電路具有光靈敏度,該傳感器具有一個(gè)由高電阻半導(dǎo)體制成的光敏電阻,該電阻根據(jù)落在其上的可見光的數(shù)量而變化。
嵌入式Web服務(wù)器構(gòu)建在Raspberry Pi上,選擇輕量級Web服務(wù)器,降低內(nèi)存消耗,提高運(yùn)行速度。在構(gòu)建Web服務(wù)器時(shí)使用的EWS(Exchange Web Service)協(xié)議是GoAhead,EWS的功能是實(shí)現(xiàn)客戶端和服務(wù)器之間的信息交換。
嵌入式Web服務(wù)器用到的主要技術(shù)有HTTP協(xié)議和公共網(wǎng)關(guān)接口(Common Gateway Interface,CGI),在Web服務(wù)器工作時(shí),CGI用來規(guī)定調(diào)用其他程序接口協(xié)議的標(biāo)準(zhǔn),通過調(diào)用CGI實(shí)現(xiàn)Web瀏覽器交互。當(dāng)Web服務(wù)器的信息(該信息由瀏覽器發(fā)送給服務(wù)器)達(dá)到CGI時(shí)將進(jìn)行處理,把響應(yīng)結(jié)果再反饋給Web服務(wù)器和瀏覽器,最終完成網(wǎng)頁中表單數(shù)據(jù)的處理和查詢。
圖3 系統(tǒng)監(jiān)視和控制過程
圖4 瀏覽器顯示采集到的數(shù)據(jù)
圖3給出了如何采取監(jiān)視和控制措施,系統(tǒng)軟件是IDLE,使用嵌入式Python程序語言實(shí)現(xiàn)。
對于Raspberry Pi數(shù)據(jù)采集和顯示過程,利用WiringPi 函數(shù)庫對Raspberry Pi和傳感器進(jìn)行控制,利用編程語義對數(shù)據(jù)實(shí)現(xiàn)循環(huán)采集,并將數(shù)據(jù)傳送到網(wǎng)頁上。其中WiringPi是GPIO控制庫函數(shù),包含了GPIO控制命令,通過WiringPi可以對Raspberry Pi的GPIO管腳進(jìn)行擴(kuò)展,實(shí)現(xiàn)數(shù)據(jù)采集等模塊。
基于Raspberry Pi的嵌入式數(shù)據(jù)采集和控制系統(tǒng)硬件實(shí)現(xiàn),系統(tǒng)中客戶端使用的電腦配置為:win7及以上操作系統(tǒng),IE8及以上版本的Web瀏覽器,采用的測試地址為http://172.20.10.2/:8000。結(jié)果顯示在網(wǎng)頁上,如圖4所示。它顯示各種參數(shù)的狀態(tài),如溫度、氣體、壓力和待監(jiān)測位置的光強(qiáng)度以及通過該網(wǎng)頁進(jìn)行控制。
如果獲取到的溫度、壓力、光照強(qiáng)度和其他濃度高于報(bào)警值,則啟動繼電器進(jìn)行控制。
結(jié)論:本文設(shè)計(jì)了一個(gè)基于嵌入式Raspberry Pi的數(shù)據(jù)采集和監(jiān)控系統(tǒng),并給出了硬件和軟件的實(shí)現(xiàn)方法,該系統(tǒng)可以使溫度壓力傳感器、氣體傳感器和光強(qiáng)傳感器采集的到數(shù)據(jù),通過嵌入式Web服務(wù)器將采集數(shù)據(jù)上傳,使得任何遠(yuǎn)程客戶端通過一個(gè)網(wǎng)絡(luò)訪問得到從傳感器獲取的數(shù)據(jù),系統(tǒng)中嵌入式Web服務(wù)是在Raspberry Pi上構(gòu)建的。對設(shè)計(jì)系統(tǒng)進(jìn)行測試,當(dāng)嵌入式Web服務(wù)器接收到任何來自客戶端的請求時(shí),從傳感器獲取的數(shù)據(jù)將成功顯示在網(wǎng)頁上,說明本文設(shè)計(jì)的系統(tǒng)是可行,可以提高系統(tǒng)的可擴(kuò)展性和靈活性,在工業(yè)測控領(lǐng)域具有廣闊的應(yīng)用前景。