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