Web網(wǎng)絡(luò )傳感器的遠程數據采集系統設計 2011-07-29
隨著(zhù)網(wǎng)絡(luò )技術(shù)和嵌入式技術(shù)的發(fā)展,將嵌入式系統與Internet相結合對系統進(jìn)行數據、圖像監控和管理,成為重要研究方向之一。嵌入式Web網(wǎng)絡(luò )傳感器技術(shù)是傳感器、嵌入式、分布式信息處理和Internet等相關(guān)技術(shù)交叉結合的技術(shù),它是在智能傳感器的基礎上把TCP/IP協(xié)議作為一種嵌入式應用,嵌入現成智能服務(wù)器的ROM中,利用傳感器內建的Web服務(wù)器,用戶(hù)可以通過(guò)瀏覽器采集遠程監控對象的信息。
1 Web網(wǎng)絡(luò )傳感器數據采集系統工作原理
用戶(hù)通過(guò)瀏覽器訪(fǎng)問(wèn)Web服務(wù)器上的數據,將遠程采集到的數據實(shí)時(shí)顯示到Internet網(wǎng)頁(yè)上。用戶(hù)需要實(shí)時(shí)看到數據的變化,而HTML網(wǎng)頁(yè)通常只能是靜態(tài)的數據,為此在Web服務(wù)器上應用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)是必要的。動(dòng)態(tài)網(wǎng)頁(yè)的實(shí)現技術(shù)有CGI和HTML腳本嵌入技術(shù)(如ASr、PHP、JSP等),由于網(wǎng)絡(luò )傳感器嵌入式系統采用的是單片機來(lái)實(shí)現,其資源有限,為此采用CGI技術(shù)來(lái)實(shí)現動(dòng)態(tài)網(wǎng)頁(yè)。
1.1 CGI原理
CGI(Common Gateway Interface,公共網(wǎng)關(guān)接口)提供給Web服務(wù)器一個(gè)外部程序的通道,實(shí)現處理器與瀏覽器之間的通信。CGI是一種接口規范,可以處理客戶(hù)端(一般是瀏覽器)輸入的數據,完成瀏覽器和服務(wù)器之間的交互操作。CGI是運行在Web服務(wù)器上的程序,由瀏覽器的輸入觸發(fā),是服務(wù)器和系統中其他程序的橋梁。CGI程序屬于一個(gè)外部程序,是運行在服務(wù)器端的一個(gè)可執行文件。
CGI程序的工作原理示意圖如圖1所示。
客戶(hù)端的Web瀏覽器瀏覽到某個(gè)主頁(yè)后,利用一定的方式提交數據,并通過(guò)HTTP協(xié)議向Web服務(wù)器發(fā)出請求。服務(wù)器端的HTTP Daemon(守護進(jìn)程)將描述的主頁(yè)信息通過(guò)標準輸入(STDIN)和環(huán)境變量(environment variable)傳遞給主頁(yè)指定的CGI程序,并啟動(dòng)此應用程序進(jìn)行處理(包括對數據庫的處理)。處理結果通過(guò)標準輸出(STDOUT)返回給HTTP Daemon,再通過(guò)HTTP協(xié)議返回給客戶(hù)端的瀏覽器,由瀏覽器負責解釋執行,將最終的結果顯示給用戶(hù)。
1.2 基于CGI的數據采集流程
CGI的數據采集流程如圖2所示。當用CGI實(shí)現遠程傳感器溫度數據采集時(shí),CGI程序可以通過(guò)直接訪(fǎng)問(wèn)硬件或調用驅動(dòng)程序的方式獲得數據。當數據采集完畢后,CGI程序將數據組織成HTTP流并發(fā)送到Web服務(wù)器上,由Web服務(wù)器負責送到客戶(hù)端。
評論