摘要:隨著Web技術(shù)和嵌入式技術(shù)的不斷發(fā)展,如何利用二者結(jié)合來實現(xiàn)從不同子網(wǎng)和不同的物理區(qū)域,對接入到Internet的各種嵌入式設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控、診斷、管理及維護(hù)等操作,是目前工業(yè)領(lǐng)域遠(yuǎn)程監(jiān)控系統(tǒng)中需要解決的問題。本文主要針對基于單片機(jī)的嵌入式Web服務(wù)器技術(shù)應(yīng)用于B/S模式的遠(yuǎn)程溫度監(jiān)控系統(tǒng)中,實驗室模擬運(yùn)行結(jié)果驗證了這種方法的有效性和實用性,為嵌入式以太網(wǎng)Web技術(shù)在遠(yuǎn)程監(jiān)控領(lǐng)域中的應(yīng)用做出了有益的探索和嘗試。
關(guān)鍵詞:以太網(wǎng);嵌入式技術(shù);EWS技術(shù);遠(yuǎn)程監(jiān)控
1嵌入式Web Server技術(shù)
目前Web Server較為流行的系統(tǒng)架構(gòu)有C/S (Client/Server,客戶機(jī)/服務(wù)器)模式和B/S (Browser/Server,瀏覽器/服務(wù)器)模式。C/S訪問模式需要同時開發(fā)客戶端和服務(wù)器端的應(yīng)用程序,維護(hù)困難,并且在客戶機(jī)上必須安裝客戶機(jī)軟件,否則系統(tǒng)就不能工作。B/S訪問模式是Web Server和Browser之間的直接訪問。本課題采用B/S開發(fā)模式。嵌入式Web Server要實現(xiàn)的功能主要是現(xiàn)場實時數(shù)據(jù)采集功能。客戶端和服務(wù)器之間的中間節(jié)點(diǎn)不對HTTP請求及響應(yīng)做任何操作,只需在客戶端采用如IE這樣的瀏覽器對服務(wù)器上的數(shù)據(jù)進(jìn)行瀏覽。采用B/S結(jié)構(gòu)具有如下優(yōu)勢:
①具有分布性,可以隨時隨地進(jìn)行業(yè)務(wù)處理;
②系統(tǒng)維護(hù)或升級只在服務(wù)器端,對客戶端無須進(jìn)行改動,只需要改變服務(wù)器端網(wǎng)頁,即可實現(xiàn)所有用戶的同步更新,易于維護(hù)和升級;
③開發(fā)簡單,共享性強(qiáng)。
2嵌入式Web Server的開發(fā)
2.1總的設(shè)計目標(biāo)要求
利用簡化TCP/IP協(xié)議和EGI技術(shù)開發(fā)嵌入式Web Server,使8位嵌入式系統(tǒng)具有Internet接入和Web Server功能,人們可以在任何時間、任何地點(diǎn),使用IE瀏覽器查看嵌入式系統(tǒng)的實時狀態(tài),并對嵌入式系統(tǒng)進(jìn)行遠(yuǎn)程監(jiān)測、控制和診斷。
2.2遠(yuǎn)程溫度監(jiān)控系統(tǒng)設(shè)計
溫度是程控機(jī)房、檔案室、圖書館、農(nóng)業(yè)生產(chǎn)基地等眾多場所需要實時監(jiān)控的一個重要物理量。溫度監(jiān)控系統(tǒng)在實際生活中有著重要的作用。本課題采用B/S體系結(jié)構(gòu)設(shè)計了嵌入式WebServer,并實現(xiàn)對溫度的遠(yuǎn)程監(jiān)控。在Web瀏覽器端,客戶可以使用IE瀏覽器遠(yuǎn)程查看溫度傳感器顯示的溫度值,還可以進(jìn)行相關(guān)的控制。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
2.2.1 DS 18B20模塊
在系統(tǒng)設(shè)計中,溫度的采集并沒有采用傳統(tǒng)的溫度傳感器與A/D組合的采集方式,而是采用DALLAS最新單線數(shù)字溫度傳感器DS 18B20。它具有體積更小、適用電壓寬、經(jīng)濟(jì)便宜等特點(diǎn)。Dallas半導(dǎo)體公司生產(chǎn)的數(shù)字化溫度傳感器DS 18B20是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線具有獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入了全新概念。DS 18B20的測量溫度范圍為-55℃~+125℃;在-10℃~+85℃范圍內(nèi),它的精度為1~0.5℃?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,可適用于惡劣環(huán)境下的現(xiàn)場溫度測量。
2.2.2 DS 18B20的溫度采集程序
DS 18B20的溫度采集程序分為七個子程序,分別是延時子程序、復(fù)位子程序、讀一位子程序、讀一個字節(jié)子程序、寫一個字節(jié)子程序以及啟動轉(zhuǎn)換子程序和讀取溫度值子程序。
3 軟件總體設(shè)計
軟件的總體設(shè)計,只要在設(shè)計好的TCP/IP協(xié)議中添加溫度采集部分即可。對于溫度采集部分,可以采取先做好溫度采集部分程序,當(dāng)采集成功后,再加入主程序,這樣既可以節(jié)約編程的時間,又可以保證程序的準(zhǔn)確性。要注意當(dāng)嵌入溫度采集程序后,采集溫度時應(yīng)關(guān)閉中斷,防止采樣時中斷,影響采樣的精度。總的程序框圖如圖2所示。
嵌入式服務(wù)器端的軟件設(shè)計完成后,客戶端主要通過瀏覽器來實現(xiàn)遠(yuǎn)程溫度監(jiān)控。Web頁面用HTML語言編寫,寫好后以字符數(shù)組的形式存放??蛻舳说牟僮髦饕ㄟ^兩個頁面和嵌入式服務(wù)器實現(xiàn)交互式操作。所有的網(wǎng)頁和圖片均以字符數(shù)組的形式放在單片機(jī)的Flash中。
(1)登錄頁面
在實現(xiàn)遠(yuǎn)程控制時,安全問題是首要的。因此在響應(yīng)客戶端請求時首先要確認(rèn)對方的身份和口令。程序可以通過EGI接口,實現(xiàn)身份的確認(rèn)過程。登錄頁面的HTML代碼如下:
<html><head><title>嵌入式WEB SERVER遠(yuǎn)程監(jiān)控系統(tǒng)<<ltitle></head>
<body backgroud bgcolor-#99FFFF ><br><form action= password.egi>
<center><font size=5 face=隸書><b>嵌入式WEB服務(wù)器遠(yuǎn)程溫度監(jiān)控系統(tǒng)</b>
</font><FORM NAME=password ACTION=GETS
請輸入用戶名:<input type=text name='name' size=20><p>
請輸入密碼: <input type}assword name='pass' size=21><br><br>
<input type=submit value= 登錄>
<input type=reset value=取消></center></form>
</body></html>
訪問嵌入式Web服務(wù)器遠(yuǎn)程溫度監(jiān)控系統(tǒng)時,首先打開IE瀏覽器,在瀏覽器中輸入192.168.1.8,就會出現(xiàn)登錄頁面。
(2)溫度顯示控制頁面
在登錄頁面中輸入正確的用戶名“user”和口令“embed”后,將出現(xiàn)溫度顯示控制頁面。溫度顯示控制頁面的HTML代碼如下:
<html><body bgcolot=#99FFFF><form action=switcfm.egi><p align=center>
<font color=#OOOOFF size=7><b>遠(yuǎn)程溫度監(jiān)控系統(tǒng)<lb></font></p>
<table width=72% border=1 bordercolor=#FF0000 align=center><tr>
<td width=52% height=61 align=center><font color=#OOOOFF size=+3>系統(tǒng)溫度<</font>
</td><td width=48% align=center><font color=#OOOOFF size=+3>
TAG:TMP1 0C</font></td></tr></table><br><br><table width=72% align=center boder--0>
<tr><td align=center width=52%>
<font color=#OOOOFF size=+3>控制開關(guān)<</font>
<td width=24% align=center><!------------------一##$switchl-------------一></td>
<td width=24%><!----一#$ledl---一></td></tr></table></form>
</body></html>
在頁面中顯示了系統(tǒng)當(dāng)前的溫度和電源的開關(guān)狀態(tài)。
以上設(shè)計,通過在以太網(wǎng)中運(yùn)行,系統(tǒng)性能穩(wěn)定,取得了預(yù)期的效果。
4 結(jié)論
本文主要實現(xiàn)了服務(wù)器與客戶端的動態(tài)交互過程,并將嵌入式Web Server應(yīng)用于遠(yuǎn)程溫度監(jiān)控系統(tǒng)中,并取得了良好的效果。本文設(shè)計并實現(xiàn)了基于單片機(jī)以太網(wǎng)嵌入式Web Server,做出了嵌入式Web Server原型,對系統(tǒng)實現(xiàn)的基本理論和基本方法進(jìn)行了有益的嘗試。但是,嵌入式Web Server技術(shù)是多學(xué)科融合的交叉領(lǐng)域,涉及到的內(nèi)容很多很廣,由于時間倉促,加上本人對該領(lǐng)域的研究才剛剛起步,所以還存在一些問題值得進(jìn)一步研究探討。
參考文獻(xiàn)
[1]張祥,等.嵌入式Web服務(wù)器技術(shù)及其應(yīng)用.高等函授學(xué)報,2003, 16(3):47-50.
[2]李毅,等.嵌入式Internet的幾種接入方式比較.重慶郵電學(xué)院學(xué)報,2002, 14(4) : 83-86.
[3]王春來.基于Internet的遠(yuǎn)程測控技術(shù)研究及其在智能家庭中的應(yīng)用.湖南大學(xué),2004.
[4]李艷紅,等.嵌入式Internet的實現(xiàn)方法淺析與應(yīng)用.計算機(jī)工程,2005, 31:184-186.
[5]萬冬云,等.嵌入式網(wǎng)絡(luò)中WEB SERVER的實現(xiàn).微計算機(jī)信息,2004 , 20(11) : 85-87.
[6]王峰,等.嵌入式Internet技術(shù)及其實現(xiàn)方案.嵌入式應(yīng)用,2003, 19(12):61-62.
[7]黃天戍,等.一種嵌人式WEB服務(wù)器的設(shè)計與實現(xiàn).計算機(jī)應(yīng)用,2004, 11: 21-23.
[8]尹勇,等.u Vision2單片機(jī)應(yīng)用程序開發(fā)指南.北京:科學(xué)出版社,2005:165-200.
作者簡介:張凱(1980-),男,湖南益陽人,廣東省湛江師范學(xué)院,助教,主要研究方向:計算機(jī)網(wǎng)絡(luò)工程。(廣東 湛江 524300)
聯(lián)系地址:廣東省湛江市遂溪城遂海路182號, 電話:13590059258。