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

DM365系統中Web參數傳遞機制的研究

2012-08-10 03:39:52孫萬源戴聲奎張冰冰
通信技術 2012年5期
關鍵詞:頁面嵌入式定義

孫萬源,戴聲奎,張冰冰

(華僑大學 信息科學與工程學院,福建 廈門 361021)

0 引言

在Web參數傳遞的過程中需要解決2個問題,其一是選擇一個適合系統的嵌入式服務器;其二是選擇一種動態Web[2-4]頁面的實現機制。目前在嵌入式系統中常用的服務器有3種:Boa、thttpd和httpd,其中httpd只支持靜態頁面,而thttpd在運行過程中所耗費的系統資源要遠大于 Boa,因此本文采用Boa[5]作為 DM365的 Web服務器。實現動態 Web頁面一般有3種技術可供選擇:CGI、ASP和PHP。因為目前嵌入式linux對ASP,PHP等動態Web頁面技術支持還不完善,而 CGI技術已較為成熟,,本文采用了CGI[6-7]實現動態Web頁面。

在DM365系統中,用傳統的CGI運行機制傳遞參數會導致頁面跳轉使得客戶端無法穩定的瀏覽監控頁面,本文改進了CGI的運行機制,從而使頁面能夠實時監控。

1 動態Web的作用

在DM365達芬奇系統中,TI已經設計出完整的方案使得視頻圖像能夠實時的采集并且播放,但是簡單的采集和播放顯然不能滿足當前視頻監控的需要。在很多實際應用中,客戶需要在客戶端通過Web參數傳遞控制遠端的DM365設備(例如云臺的控制),以及一些視頻智能分析和處理(例如人臉識別,車牌識別,越界報警等等)。

由圖1能夠看到動態Web在系統中的作用,它承擔著主機端(DM365)向客戶端傳輸視頻流以及客戶端向主機端傳遞動態參數的任務。

圖1 嵌入式Web在監控系統中的作用

2 Web服務器的實現

嵌入式Web服務器以TCP/IP協議為基礎,給客戶端瀏覽器和主機端硬件提供一個統一的接口,使得客戶端瀏覽器能夠像在本地一樣透明的管理和監視設備的運行情況。嵌入式Web服務器主要功能有:響應多個客戶的實時HTTP請求,并為每個客戶建立連接;設備的實時管理和參數配置;對設備訪問的安全控制機制,包括SSL、用戶口令等;實現設備的故障智能報警。

2.1 Boa服務器的移植

Boa服務器是一個能夠運行在 linux[8-9]操作系統下,支持CGI、特別是嵌入式設備中的單任務Web服務器,源代碼公開、性能高,現將其移植到DM365系統中,具體步驟如下:

1)從http://www.Boa.org/下載Boa源碼、解壓到工作目錄。

2)進入 Boa/src目錄,修改 defines.h文件中SERVER_ROOT參數值:

馬連長把全連的班長、副班長排在了“敢死隊”前面,倪二泉自告奮勇,排在了第一,排在第三位的則是四班長陳山利。

#define SERVER_ROOT "/etc/Boa"。

3)在終端輸入#./configure得到makefile文件,修改makefile中編譯器的選項:

CC =gcc,改成: CC= arm_v5t_le-gcc;CPP = gcc-E,改成:CPP=arm_v5t_le-g++ -E。

4)在終端輸入#make編譯出可執行程序Boa;輸入#arm_v5t_le-strip Boa去除調試信息,最終得到發布版本Boa,將其放入DM365文件系統中的/bin目錄下。

2.2 Boa服務器的配置

在 Boa服務器移植成功后需對其做相應的設置,將 workspace/Boa/目錄下的配置文件 Boa.conf復制到DM365文件系統中的/etc/Boa目錄下(和移植中第2步的SERVER_ROOT 保持一致),該文件重要配置如下:

3 實現動態Web的CGI技術

3.1 CGI的工作過程

CGI程序與Web服務器的通信、參數的傳遞是根據環境變量(QueryString)、命令行參數的設置和標準輸入輸出(stdin/stdout)來進行的。Web服務器提供客戶端瀏覽器和CGI程序數據交換的通道。交互過程如圖2所示。

圖2 Web服務器和CGI程序的交互

3.2 CGI的編程語言的選擇

CGI程序幾乎可以用任何的編程語言來實現,例如linux的Shell、Perl、C語言等。但是由于C語言的跨平臺性,以及C語言程序設計的方便,本文采用C語言來作為CGI的開發語言,并采用CGIC函數庫開發CGI程序(CGIC庫是一種開源可以免費使用的 CGI庫函數,它封裝了一些 C語言開發CGI程序所常用的操作)。

4 動態Web的編程實現

4.1 Web服務器網頁的編寫

在 Web頁面數據交互中常用的方式是表單提取,表單提取有3種方法:GET、POST和URL附上鏈接。GET方式一般用于獲取數據,URL附上鏈接方式不安全,而POST方式是用于傳遞數據,Web數據傳遞是客戶端向主機端傳遞數據,故采用POST方式。以最簡單的在DM365中實現云臺協議中的右轉作為范例,編寫網頁[10],核心代碼如下:

其中form action定義表單提取時候進行的動作是訪問DM365文件系統中right.cgi,method定義表單提取方法是post,input type是定義提取的方式是submit,name定義表單的名字right,value定義表單的值right。當客戶端瀏覽器點擊submit提取表單的時候事實上是向 CGI程序傳入 name=value的值即“right=RIGHT”。

4.2 利用CGIC編寫CGI程序

CGIC函數庫從 www.boutell.com/cgic下載。CGIC函數庫包含了cgic.c,cgic.h等文件,由于所有的CGI程序都需要進行一些必要的初始化操作,比如分析數據檢查環境變量,這些都是在 cgic.c文件中定義,所以 CGIC庫提供了自己的 main()。在用 CGIC來開發自己的 CGI程序時就不能再使用main(),而只能使用 CGIC提供的 cgiMain()來開始自己的程序。現以4.1節所要訪問的right.cgi為例編寫CGI程序:

4.3 結果與分析

修改cgic目錄下makefile中的編譯器選項(同2.1節所用方法一樣),在終端下輸入#make將生成的right.cgi放入文件系統的/www/httpd/cgi-bin/目錄下,并將4.1節編寫的網頁放入/www/httpd/目錄下。啟動DM365開發板,在客戶端輸入DM365開發板的IP:192.168.1.168,在點擊表單right后,和DM365相連的云臺開始右轉,但是頁面會跳轉至http://192.168.1.168/cgi-bin/right.cgi,而在實時視頻監控中,需要頁面始終保持在監控頁面http://192.168.1.168中,不能發生跳轉。

5 CGI運行機制的改進

要使頁面始終保持在監控頁面中,有兩種方法可以實現:

1)在cgi程序中加入頁面跳轉語句,使得頁面在跳轉后能夠自動跳轉回監控頁面。

具體代碼是在4.2編寫的CGIC程序中添加語句:

這段代碼設置cgi向HTML頁面打印的刷新時間為0秒,跳轉IP是192.168.1.168(監控頁面IP)。但是具體測試的時候無法達到 0秒跳轉回監控頁面,這是因為網絡傳輸和 cgi程序的運行會占用一部分時間,所以頁面會發生停頓現象,達不到實時監控的效果。

2)在網頁編程中加入后臺運行的語句,使得頁面在訪問cgi程序的時候,開辟一個新線程使cgi程序以后臺方式運行,,具體需在4.1節的關鍵代碼處進行相應的修改:

和4.1節比較,多定義了一個標簽iframe,iframe元素會創建包含另外一個文檔的內聯框架。上述代碼是在form中定義一個外部打開的target=right,當表單提取的時候不會立即鏈接到form action所指向的地址中,而是在iframe中找到對應name=right,執行 iframe對其定義的操作 style="display:none",即在執行form action的時候不發生頁面跳轉。經過測試頁面不再發生跳轉,消除了頁面停頓的現象,符合實時監控的要求。

6 結語

本文對Web參數傳遞中2個關鍵的環節(Web服務器的選取和Web動態頁面實現機制)進行了深入的分析,最終采用Boa服務器作為Web服務器,CGI作為實現的動態頁面機制。在文章的最后還以實現云臺右轉為例改進了傳統的動態頁面實現的方式,實驗結果表明,在動態參數進行傳遞時,頁面不發生任何變化,DM365監控系統能夠實時監控。

[1] 圣錢生,張桂英,吳有俊.基于 DaVinci的自動對焦算法研究及實現[J].通信技術,2012,45(01):56-58.

[2] 楊林,楊鵬,李長齊.Web 應用漏洞分析及防御解決方案研究[J].信息安全與通信保密,2011(02):58-63.

[3] 倪奕.基于 JBoss 實現 Web 服務與通信業務整合[J].通信技術,2011,44(12):121-124.

[4] 韓鯤,薛輝.Web 數據庫的安全審計機制[J].信息安全與通信保密,2011(06):92-94.

[5] BENTHAM J.嵌入式系統Web服務器[M].北京:機械工業出版社,2003:256.

[6] 李磊.利用CGI程序實現動態W eb的方法[J].計算機科技與工程,2009,9(06):1611-1613.

[7] BERLIN D J.精通 CGI編程[M].北京:清華大學出版社,1998:1.

[8] 華清遠見嵌入式培訓中心.嵌入式 Linux應用程序開發標準教程[M].北京:人民郵電出版社,2009:1.

[9] 吳士力,劉奇,朱蘭.嵌入式 Linux應用開發全程解析與實踐[M].北京:機械工業出版社,2010:2.

[10] 祁大鵬.Dreamweaver CS4實用教程[M].北京:電子工業出版社,2010:1.

猜你喜歡
頁面嵌入式定義
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
Altera加入嵌入式視覺聯盟
倍福 CX8091嵌入式控制器
自動化博覽(2014年4期)2014-02-28 22:31:15
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
山的定義
公務員文萃(2013年5期)2013-03-11 16:08:37
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 欧美一级夜夜爽www| 日韩精品成人网页视频在线| 成人在线观看不卡| 男人的天堂久久精品激情| 亚洲男人的天堂久久香蕉| 亚洲aⅴ天堂| 亚洲一区二区视频在线观看| 国产内射一区亚洲| 99久久国产自偷自偷免费一区| 91精品日韩人妻无码久久| 午夜毛片免费观看视频 | 国产欧美亚洲精品第3页在线| 亚洲人成影视在线观看| 国内精品视频| 久久久久久久久久国产精品| 午夜福利无码一区二区| 黑人巨大精品欧美一区二区区| 欧美激情伊人| 午夜国产小视频| 丝袜美女被出水视频一区| 亚洲性网站| 伊人AV天堂| 国产高清色视频免费看的网址| 国产成熟女人性满足视频| 日韩第九页| 国产第一页屁屁影院| 欧美日韩高清在线| 四虎免费视频网站| 精品视频在线一区| 国产丝袜第一页| 亚洲欧美日韩综合二区三区| 日韩大片免费观看视频播放| 国产成人亚洲精品无码电影| 伊人福利视频| 国产精品无码作爱| 9久久伊人精品综合| 久久国产热| 成人国产精品一级毛片天堂 | 性网站在线观看| 欧美第一页在线| 国产成人亚洲综合A∨在线播放| 免费在线一区| 国产美女精品一区二区| 亚洲成人在线网| 国产第一页亚洲| 亚洲精品色AV无码看| 国产一区二区三区免费观看| 国产91线观看| 亚洲精品日产精品乱码不卡| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 婷婷综合亚洲| 免费毛片全部不收费的| 无码内射在线| 国产91小视频在线观看| 久久99热这里只有精品免费看| 国产拍揄自揄精品视频网站| 国产又爽又黄无遮挡免费观看 | 国产日本欧美亚洲精品视| 日本亚洲欧美在线| 中美日韩在线网免费毛片视频| 亚洲中文字幕av无码区| 亚洲天堂视频在线播放| 色婷婷电影网| 国产精品一区在线麻豆| 国产成人精品一区二区免费看京| 亚洲国产日韩在线观看| a毛片免费观看| 国产精品9| 美女被狂躁www在线观看| 欧美全免费aaaaaa特黄在线| 青草视频久久| 54pao国产成人免费视频| 热这里只有精品国产热门精品| 一本久道久综合久久鬼色| 精品一区二区三区无码视频无码| 中文字幕在线日韩91| 99热这里只有成人精品国产| 久久精品国产电影| 国产jizz| 亚洲国产精品成人久久综合影院| 国产成人精品综合| 免费无码AV片在线观看中文|