新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 以ARM7為核心的嵌入式工控網(wǎng)絡(luò)設(shè)計

以ARM7為核心的嵌入式工控網(wǎng)絡(luò)設(shè)計

作者: 時間:2010-10-09 來源:網(wǎng)絡(luò) 收藏

3 工控Web服務(wù)器的實現(xiàn)
3.1 Web服務(wù)器的基本實現(xiàn)
Web服務(wù)器可基于Socket套接字來開發(fā),它主要由初始化模塊、監(jiān)聽模塊、請求解析模塊、腳本引擎模塊、輸出模塊和命令模塊等組成,各模塊之間的關(guān)系如圖4所示。

12d.JPG


μClinux下主要有三個Web服務(wù)器:httpd、thttpd和Boa。其中httpd是最簡單的一個Web服務(wù)器,它的功能最弱,不支持認(rèn)證,不支持CGI。thttpd和Boa都支持認(rèn)證、CGI等。功能都比較齊全。其中boa是一個單任務(wù)的http服務(wù)器,源代碼開放,性能比較高,占用系統(tǒng)資源也比較少。boa服務(wù)器在接收到請求時,不啟動多個服務(wù)器進程處理多個請求,而在一個進程內(nèi)處理所有服務(wù)請求。為了實現(xiàn)動態(tài)Web技術(shù),可選擇實現(xiàn)一個支持CGI的、非常適合于嵌入式系統(tǒng)的Boa WebServer。然后再通過CGI用C語言進行編程,就可以實現(xiàn)動態(tài)WEB。
3.2 boa Web Server的移置
boa是一個單任務(wù)的http服務(wù)器,源代碼開放、性能高。目前,μC1inux的代碼中已經(jīng)包含boa的源代碼。在μClinux下實現(xiàn)Boa時,需要對Boa做一些配置和修改。boa服務(wù)器的核心文件主要有boa.conf和mime.types,本設(shè)計主要通過對boa.conf和mime.types文件進行修改來實現(xiàn)。
3.3 編譯內(nèi)核
配置過程完成后,便可重新編譯內(nèi)核。編譯時先選中Boa選項,并把編譯好的內(nèi)核下載到開發(fā)板,再啟動μClinux,完成IP配置,啟動BoaWeb Server,然后就可以通過IE訪問你的網(wǎng)頁了。如果想啟動μClinux時自動啟動Boa Web Server,則可修改rc文件,并進入/μClinux-ams ung/ven-dors/Samsung/S3C44BOX目錄,再在運行腳本rc中增加如下兩行:
“ifconfig eth0 192.168.1.10
boa-c/home/”
修改后,重新編譯內(nèi)核,再下載到目標(biāo)系統(tǒng)運行。這樣,運行μClinux后,不需要配置就可以直接通過IE來訪問網(wǎng)頁了。
3.4 μClinux下的CGI監(jiān)控技術(shù)
通過CGI(通用網(wǎng)關(guān)接口)可為Web服務(wù)器提供一個執(zhí)行外部程序的通道,這種服務(wù)端技術(shù)可使瀏覽器和服務(wù)器之間具有交互性。CGI程序?qū)儆谕獠砍绦?,需要編譯成可執(zhí)行文件才能在服務(wù)端運行。瀏覽器可將用戶輸入的數(shù)據(jù)送到Web服務(wù)器,Web服務(wù)器再將數(shù)據(jù)用STDIN送給CGI程序。在執(zhí)行CGI程序后,還會訪問存儲數(shù)據(jù)的一些文檔,最后使用STDOUT輸出HTML形式的結(jié)構(gòu)文件,再經(jīng)Web服務(wù)器送回瀏覽器,即可顯示給用戶。
若CGI程序是本地程序,也需要編譯成可執(zhí)行文件,以便在被CGI調(diào)用時運行。Web服務(wù)器將用戶數(shù)據(jù)傳輸給CGI程序,并重定向CGI程序的輸出到Web頁,這樣,CGI程序在處理時,再將數(shù)據(jù)封裝成HTML形式發(fā)送到輸出,從而在客戶端看到對應(yīng)的Web頁。
訪問者可通過CGI程序遠程控制數(shù)碼管(模擬工業(yè)現(xiàn)場的控制),并顯示相應(yīng)的數(shù)字。在CGI程序的編寫中,每個程序的大致框架都比較類同,其CGI程序流程如圖5所示,它主要是遵循HTTP協(xié)議的通訊。也包括對輸入輸出的讀寫和控制。

12e.JPG


3.5 嵌入式工業(yè)監(jiān)控系統(tǒng)的應(yīng)用
基于Internet的遠程監(jiān)控有代理方案和嵌入式方案兩種實現(xiàn)方案。兩種實現(xiàn)方案均采用三層B/S體系結(jié)構(gòu),即表示層、應(yīng)用邏輯層和數(shù)據(jù)層。三層B/S體系結(jié)構(gòu)可避免兩層體系結(jié)構(gòu)中客戶端程序單獨實現(xiàn)應(yīng)用邏輯而產(chǎn)生的冗余;應(yīng)用邏輯可在應(yīng)用邏輯層上而不是在客戶層上實現(xiàn)。由于表示層與應(yīng)用邏輯相分離,因而降低了網(wǎng)絡(luò)傳送的信息量,使系統(tǒng)具有更高的可伸縮性、可維護性和靈活性。本文討論的嵌入式方案的基本結(jié)構(gòu)如圖6所示。

12f.JPG

4 結(jié)束語
本文推出的方案對每臺現(xiàn)場設(shè)備均配有微型嵌入式Web服務(wù)器,可負(fù)責(zé)對現(xiàn)場設(shè)備進行數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)轉(zhuǎn)發(fā)以及與監(jiān)控主機進行數(shù)據(jù)的交互。該方案的優(yōu)點是實時性強、可靠性高、現(xiàn)場設(shè)備的數(shù)量不受限制等。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

關(guān)鍵詞: 嵌入式

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉