999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式Web的遠程數據交互式設計

2013-10-10 01:57:20吳輝侯思祖
單片機與嵌入式系統應用 2013年6期
關鍵詞:頁面嵌入式用戶

吳輝,侯思祖

(華北電力大學 電氣與電子工程學院,保定071003)

引 言

隨著物聯網和移動互聯網技術的快速發展,進一步推動了嵌入式系統網絡化進程,使得嵌入式系統變得越來越智能。由于芯片制造工藝的顯著提高,各種高性能的處理器相繼推出,使用嵌入式系統接入Internet成為一種趨勢[1]。把 Web技術用于遠程監控或其他嵌入式系統中,用戶通過瀏覽器就可以對遠程設備進行控制和監測,使得用戶能夠實時地了解設備的運行情況。

1 嵌入式Web服務器

嵌入式系統是一種專用的計算機系統,是為某種應用而定制的計算機系統。嵌入式Internet是指設備通過嵌入式模塊接入Internet,以Internet作為傳輸介質實現信息的交互與訪問。一個帶有微處理器并且能夠連接Internet的設備就是一個嵌入式Internet系統??梢酝ㄟ^Web進行信息交互的嵌入式Internet系統被稱作嵌入式Web服務器。嵌入式Web服務器具有體積小、成本低、功能簡單等特點。

嵌入式Web服務器以LM3S8962為核心,LM3S8962集成豐富的片上資源:含有256KB單周期Flash、64KB單周期訪問的SRAM、4個通用定時模塊、1個10/100M以太網控制器、三個可編程UART接口等。LM3S8962以太網控制器遵循IEEE802.3規范,完全支持10BASE-T和100BASE-TX標準,含有100BASE-TX擾碼器、解碼器,支持全功能的自協商協議,支持全雙工、半雙工和掉電模式,而且具有可編程MAC地址。采用LM3S8962可省略網絡控制芯片。溫度采集主要由LM3S8962內部溫度傳感器實現,采樣率可達500 000sps。光強采集由小塊的太陽能電板代替光傳感器,太陽能電板根據光強的變化改變輸出電壓。通過A/D轉換器檢測電壓的變化來判斷光強的變化。LED亮度通過調節輸出PWM的占空比來改變。嵌入式Web交互式框圖如圖1所示。

圖1 嵌入式Web交互式框圖

2 嵌入式Web交互式原理

Web通信是基于TCP協議進行的,但它與一般的TCP協議不同的是,在TCP通信的基礎之上經過HTTP協議傳輸??蛻舳送ㄟ^Web頁面請求數據,嵌入式Web服務器收到客戶端發送的HTTP請求時,作出對應的響應,從而完成客戶端與嵌入式Web服務器之間數據的動態交互。

2.1 CGI和SSI

CGI(Common Gateway Interface)是一段程序,運行在嵌入式Web服務器上,提供與瀏覽器HTML頁面的接口。簡單地說就是用戶在客戶端(瀏覽器)中輸入信息,瀏覽器把這些信息傳輸到嵌入式Web服務器CGI目錄下對應的CGI程序中,于是CGI程序在嵌入式Web服務器上按照預定的方法進行處理。然后,CGI程序給客戶端發送一個信息,表示請求的任務已經結束。

SSI(Server Side Include,服務器端包含)是一種類似于ASP的基于服務器的網頁制作技術。在將內容發送到瀏覽器之前,可以使用“服務器端包含 (SSI)”指令將文本、圖形或應用程序信息包含到網頁中。服務器接收到一個請求后,會在網頁數據中搜索<?。?tag-->格式標記,并記錄這些tag標志,在嵌入式Web服務器處理完請求后需要返回給用戶數據時,找出系統已經注冊的tag,并在相應的tag-->后添加所需要的數據。最后,把更新的數據發送給用戶,從而實現了用戶與嵌入式Web服務器之間的動態交互過程。

2.2 XMLHTTPRequest

XMLHTTPRequest是由一組方法和屬性組成的對象,是AJAX技術的核心,所謂的異步交互和局部刷新都是建立在XMLHTTPRequest基礎之上的。XMLHTTPRequest可以在提供不重新加載頁面的情況下更新網頁,XMLHTTPRequest對象提供了對HTTP協議的完全的訪問,包括做出POST和HEAD請求以及普通的GET請求的能力。利用JavaScript來創建XMLHTTPRequest對象,當對象成功創建以后,調用open方法來指定請求的服務網頁以及請求方式,然后通過send方法將請求發送出去,最后就可以在客戶端接收服務器端返回的數據。

3 嵌入式Web交互式實現

嵌入式Web服務器監聽用戶的請求,根據用戶遞交的請求提供與之對應的服務,嵌入式Web服務器端收到用戶請求后,把存儲在嵌入式Web服務器中對應的數據或網頁發送給瀏覽器,完成數據的動態交互。嵌入式Web數據交互式可以通過CGI/SSI和XMLHTTPRequest方式實現。

3.1 CGI實現過程

CGI是基于標準HTML表單遞交數據,嵌入式Web服務器上對應的CGI函數響應客戶端的請求,CGI方式數據交互將導致整個頁面重新加載。HTML中表單格式如下:

CGI交互式過程如圖2所示。用戶通過Internet向嵌入式Web服務器請求一個HTML文檔。嵌入式Web服務器向用戶發送一個表單頁面。用戶填入對應的數據信息并提交給嵌入式Web服務器。服務器接收用戶請求,交給嵌入式Web服務器上CGI程序處理。嵌入式Web服務器將更新的HTML文檔發送給用戶。

圖2 瀏覽器與嵌入式Web通過CGI交互

當用戶向嵌入式Web服務器提交數據時,采用的是GET方式。輸入的信息以字符串的形式附加action所給定義的URL后面,中間用“?”隔開,各個變量之間用“&”分開,變量與其對應的值之間用“=”連接,空格用“+”代替,特殊意義的字符用“&”表示。在嵌入式 Web服務器端對URL進行解碼,當遇到字符“+”時,將它轉換成空格;當遇到字符“&”時,表示下一個變量開始;當遇到“=”時表示變量名部分結束[2]。由于GET請求的內容附加在URL后面,而URL的長度是有限制的,所以一次請求的內容不能太多,而嵌入式系統由于其本身就是資源受限系統,數據的交互不可能太多,所以GET方法用于此是合適的。

CGI處理函數運行于嵌入式Web服務器端,當嵌入式Web服務器收到客戶端請求的URL之后,解析URL中的參數,提交給對應的CGI處理函數。字符文本提交的CGI函數如下:

當在Web頁面中遇到格式為<?。?tag-->的SSI標簽時,調用SSI處理函數,將SSI標簽轉換成對應的文本在網頁中顯示。SSI函數通過Switch選擇語句,解析Web頁面中的SSI標簽。然后針對不同的標簽內容作出對應的響應。CGI/SSI數據交互流程如圖3所示。

圖3 CGI/SSI數據交互流程

3.2 XMLHTTPRequest實現過程

XMLHTTPRequest方式通過嵌入在HTML文檔中的JavaScript來實現網頁的交互過程??蛻舳送ㄟ^運行HTML文檔中的JavaScript程序發送HTTP請求。它是一種特殊的URL,嵌入式Web服務器去文件系統中查找URL中對應的文件。如果查找到對應的文件,嵌入式Web服務器提供相應的響應,然后將嵌入式Web響應返回到客戶端瀏覽器中,返回的狀態插入到對應的<Div>標簽中。XMLHTTPRequest方式只需要更新部分文本,而不需要刷新整個頁面,縮短了網絡延時,提高了網絡效率。瀏覽器與嵌入式Web通過XMLHTTPRequest方式交互,如圖4所示。

圖4 瀏覽器與嵌入式Web通過HTTPRequest方式交互

JavaScript可以將Web服務器端的任務部分轉移到客戶端,使客戶端實現處理任務的功能。XMLHTTPRequest能實現嵌入式Web與瀏覽器之間的異步交互。JavaScript內嵌到網頁中,使其成為HTML文件的一部分,并通過JavaScript解釋器完成解釋執行。瀏覽器中溫度數據請求JavaScript函數如下:

上述代碼中,Temperature.readyState為HTTP請求的狀態,當XMLHttpRequest創建時,其屬性為0。它一共有5個狀態:Uninitialized(0)、Open(1)、Send(2)、Receiving(3)、Loaded(4)。當屬性為4時,表明已經接收到完整的HTTP響應。Temperature.responseText從服務器接收的響應的溫度信息,當Temperature.readyState小于3時,其屬性為空字符串;當Temperature.readyState為4時,其中保存了完整的溫度信息,Temperature.status為服務器返回的狀態碼,200表示成功,404表示"Not Found"。Temperature.onreadystatechange為調用的事件句柄函數,每次Temperature.readyState屬性改變時被調用。Temperature.open()為初始化 HTTP請求參數,send()發送HTTP請求。

服務器端解析對應文件名“/cgi-bin/Temperature-Get”,如果存在對應的文件,則返回一個消息,客戶端接收到這個消息并且存儲溫度信息到對應請求的響應文本Temperature.response Text中,使用文本插入方法“document.getElementById("Temperaturestate").innerHTML= "<div>"+ TemperaturestateresponseText+ "</div>";”把消息在網頁中對應的DIV位置處顯示。

4 系統測試

系統測試分本機測試與局域網測試兩種方式。本機測試就是嵌入式Web服務器通過網線直接連接到PC,局域網測試則是將嵌入式Web服務器連接到局域網中的路由器上。復位嵌入式Web服務器,查看其IP地址,同時修改客戶端的IP,使其與嵌入式Web服務器處于同一網段中。在客戶端通過“ping 169.254.117.2”(嵌入式 Wb IP)查看網絡連接狀態。成功連接后,在客戶端瀏覽器中輸入“http://169.254.117.2”地址后,瀏覽器中會顯示嵌入式Web交互式頁面,如圖5所示。通過點擊對應的按鈕,可以在瀏覽器中獲得各種請求數據。在文本框中輸入文本,將數據存入嵌入式Web服務器中,同時存入信息會在嵌入式Web的LCD上顯示出來。通過本地和局域網測試,系統性能良好,可應用性強。

結 語

利用嵌入式系統及Internet技術可以實現Web動態數據交互,通過CGI和XMLHTTPRequest方式,成功地在基于LM3S8962平臺上完成局域網內Web頁面數據動態交互,實現了一個簡易的嵌入式Web服務器的功能。嵌入式Web動態交互技術在工業生產的過程控制、機房環境參數的監測以及遠程數據采集等方面都有廣泛的應用需求。

圖5 瀏覽器端驗證測試

[1]牛利兵.遠程監控嵌入式Web服務器的設計[D].山西:太原理工大學,2011.

[2]李勇.CGI在嵌入式 WEB服務器中的應用和實現[J].微計算機信息,2008,24(10):110-112.

[3]彭偉.XMLHttp對象在嵌入式 Web實時系統中的應用[J].單片機與嵌入式系統應用,2011(11):29-32.

[4]Texas Instruments.Stellaris LM3S8962Microcontroller DataSheet[EB/OL].[2013-01-06].http://www.ti.com/cn/litv/pdf/spms001h.

猜你喜歡
頁面嵌入式用戶
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
主站蜘蛛池模板: 国产真实乱子伦视频播放| 亚洲中文字幕国产av| 国产精品自在在线午夜| 国产精品久久久久久影院| 亚洲欧洲一区二区三区| 久久久受www免费人成| 亚洲无码视频图片| 亚洲中文字幕久久无码精品A| 亚洲一道AV无码午夜福利| 久久精品国产亚洲麻豆| 欧美亚洲国产精品久久蜜芽| 亚洲人成色在线观看| 亚洲三级色| 亚洲色欲色欲www网| 激情综合婷婷丁香五月尤物 | 欧美特黄一免在线观看| 欧美激情视频二区| yjizz国产在线视频网| 久久精品中文无码资源站| 国产黄视频网站| 亚洲欧美国产五月天综合| 欧美中日韩在线| 美女无遮挡拍拍拍免费视频| 久久福利片| 毛片基地美国正在播放亚洲 | 久久黄色影院| 国产91全国探花系列在线播放| 亚洲人成高清| 免费看久久精品99| 亚洲丝袜第一页| 综1合AV在线播放| 日本国产精品| 亚洲成网777777国产精品| 老色鬼久久亚洲AV综合| 亚洲欧美另类视频| 久久国产热| 伊人久久大香线蕉影院| 国产一级裸网站| 国产日本一线在线观看免费| 伊在人亚洲香蕉精品播放| 久久久黄色片| 国内精品视频区在线2021| 日韩精品高清自在线| 中文字幕乱码中文乱码51精品| 国产中文一区a级毛片视频| 激情六月丁香婷婷四房播| 国产精品久久久久鬼色| 亚洲自拍另类| 综合天天色| 欧美日韩免费观看| 亚洲人成色在线观看| 国产精品久线在线观看| 国产高清毛片| 日韩天堂网| 国产精品第一区在线观看| 老色鬼久久亚洲AV综合| 日韩欧美色综合| 中国一级特黄大片在线观看| 伊人蕉久影院| 这里只有精品在线播放| 国产JIZzJIzz视频全部免费| 视频一区亚洲| 欧美中文字幕在线视频| 成人一级黄色毛片| 久久婷婷综合色一区二区| 国产色图在线观看| 亚洲中文字幕国产av| 日韩精品一区二区三区视频免费看| 丝袜久久剧情精品国产| 国产一级特黄aa级特黄裸毛片| h网站在线播放| 波多野结衣AV无码久久一区| 91九色最新地址| 91破解版在线亚洲| 狠狠干综合| 亚洲开心婷婷中文字幕| 日韩一区精品视频一区二区| 91破解版在线亚洲| 久久精品丝袜高跟鞋| 久久国产精品嫖妓| 中文字幕欧美日韩| 夜夜爽免费视频|