![嵌入式linux遠(yuǎn)程控制需求分析_第1頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-11/10/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd1.gif)
![嵌入式linux遠(yuǎn)程控制需求分析_第2頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-11/10/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd2.gif)
![嵌入式linux遠(yuǎn)程控制需求分析_第3頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-11/10/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd3.gif)
![嵌入式linux遠(yuǎn)程控制需求分析_第4頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-11/10/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd4.gif)
![嵌入式linux遠(yuǎn)程控制需求分析_第5頁(yè)](http://file1.renrendoc.com/fileroot_temp2/2020-11/10/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd/440c82c6-1ce3-4e49-b02a-bdc37e6a74bd5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、通過(guò)在已有嵌入式硬件基礎(chǔ)上,利用操作系統(tǒng)ARMLinux建立嵌入式平臺(tái),并在PC機(jī)上由Linux操作系統(tǒng)編寫(xiě)和編譯boa、CGI等一系列應(yīng)用程序,并移植到嵌入式平臺(tái)上,組建嵌入式家庭網(wǎng)關(guān),從而構(gòu)建成一個(gè)基于ARMLinux嵌入式平臺(tái)的、使用Boa作為Web服務(wù)器的遠(yuǎn)程在線控制系統(tǒng), 系統(tǒng)可以通過(guò)IE頁(yè)面對(duì)各種模擬家電設(shè)備進(jìn)行動(dòng)態(tài)的交互控制,在真正意義上實(shí)現(xiàn)了通過(guò)互聯(lián)網(wǎng)進(jìn)行遠(yuǎn)程控制,實(shí)現(xiàn)了智能家電遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)目標(biāo)。1、 描述系統(tǒng);(1) 遠(yuǎn)程的LED控制(2) 遠(yuǎn)程步進(jìn)電機(jī)控制(3) 遠(yuǎn)程電機(jī)控制要求能夠通過(guò)Internet B/S(瀏覽器/服務(wù)器)結(jié)構(gòu)進(jìn)行訪問(wèn)。加上相應(yīng)的CGI程序能夠通
2、過(guò)GPRS完成控制能夠通過(guò)客戶端完成C/S(客戶端/服務(wù)器)結(jié)構(gòu)的訪問(wèn)2、 可行性分析(使用什么樣的技術(shù)來(lái)完成)根據(jù)現(xiàn)有的試驗(yàn)硬件平臺(tái)GEC2410,對(duì)其軟件系統(tǒng)的移植,根據(jù)硬件電路圖,設(shè)計(jì)相應(yīng)的驅(qū)動(dòng)程序。 B/S體系結(jié)構(gòu)的網(wǎng)絡(luò)控制,可以通過(guò)移植Boa server服務(wù)器和服務(wù)器端CGI(通用網(wǎng)關(guān)接口,用于提交客戶端的請(qǐng)求)本文的主要研究思路本設(shè)計(jì)通過(guò)分析各種已有的嵌入式家庭網(wǎng)關(guān)設(shè)計(jì)事例,總體擬采用以ARM 核的32 位嵌入式微處理器為硬件平臺(tái),結(jié)合通信技術(shù),通過(guò)移植嵌入式操作系統(tǒng),并在其上開(kāi)發(fā)相應(yīng)的驅(qū)動(dòng)程序、應(yīng)用程序和嵌入式WEB 服務(wù)器實(shí)現(xiàn)一個(gè)方便、實(shí)用的家庭網(wǎng)關(guān)。主體研究?jī)?nèi)容如下:1)
3、收集、分析國(guó)內(nèi)外嵌入式系統(tǒng)的標(biāo)準(zhǔn)文檔與資料,特別是嵌入式Linux 系統(tǒng)的資料,對(duì)其關(guān)鍵技術(shù)、特點(diǎn)和應(yīng)用前景進(jìn)行比較、分析,形成自己的結(jié)論;2) 基于嵌入式開(kāi)發(fā)系統(tǒng)硬件,通過(guò)移植、完善,建立擁有源代碼的嵌入式Linux系統(tǒng)平臺(tái);3) 建立擁有源代碼的TCP/IP 協(xié)議棧;4) 建立擁有源代碼的WEB服務(wù)支持,并實(shí)現(xiàn)遠(yuǎn)程交互式網(wǎng)頁(yè)訪問(wèn)。5) 支持遠(yuǎn)程控制的智能家電系統(tǒng)原型的設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)的軟件結(jié)構(gòu)系統(tǒng)采用在嵌入式操作系統(tǒng)(本系統(tǒng)采用ARMLinux)的基礎(chǔ)下通過(guò)WEB 方式,即利用B/S 結(jié)構(gòu),在嵌入式設(shè)備上運(yùn)行一個(gè)支持腳本或CGI 功能的WEB 服務(wù)器,生成動(dòng)態(tài)頁(yè)面,在用戶端只需要通過(guò)WEB
4、 瀏覽器以網(wǎng)頁(yè)訪問(wèn)的方式對(duì)嵌入式設(shè)備進(jìn)行查看,并進(jìn)行相應(yīng)控制。其基本軟件結(jié)構(gòu)如圖3。圖3 系統(tǒng)軟件結(jié)構(gòu)主要工作流程如下;1) 首先, 由客戶端發(fā)出請(qǐng)求給WEB 服務(wù)器。2) WEB 服務(wù)器對(duì)客戶請(qǐng)求進(jìn)行判斷。如果該請(qǐng)求是一個(gè)HTML 文件或圖像等靜態(tài)文件,WEB 服務(wù)器就將文件直接傳送給客戶端的瀏覽器。如果客戶請(qǐng)求是一個(gè)動(dòng)態(tài)請(qǐng)求, WEB 服務(wù)器將激活相應(yīng)CGI 的程序。3) WEB 服務(wù)器守護(hù)進(jìn)程創(chuàng)建一個(gè)子進(jìn)程, 該子進(jìn)程將CGI 請(qǐng)求的有關(guān)數(shù)據(jù)設(shè)置成環(huán)境變量,在外部CGI 程序與服務(wù)器間建立兩條標(biāo)準(zhǔn)的I/O 數(shù)據(jù)通道。4) WEB 服務(wù)器啟動(dòng)URL 指定的CGI 程序。CGI 程序通過(guò)環(huán)境
5、變量和標(biāo)準(zhǔn)輸人Stdin 讀取客戶端的輸入數(shù)據(jù)并進(jìn)行處理, 并可根據(jù)請(qǐng)求調(diào)用相應(yīng)的外部程序。5) CGI 程序處理完畢后通過(guò)標(biāo)準(zhǔn)輸出Stdout,將處理結(jié)果傳遞給服務(wù)器守護(hù)進(jìn)程, 守護(hù)進(jìn)程再將處理結(jié)果以HTML 格式傳送回客戶端。(三) 系統(tǒng)的軟件的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)1. 交互式WEB 服務(wù)器的實(shí)現(xiàn)(1)WEB 服務(wù)器技術(shù)分析常用的嵌入式WEB 服務(wù)器軟件有l(wèi)ighttpd、thttpd、shttp 和boa。通過(guò)軟件性能、CGI 功能等比較,由于boa 源代碼開(kāi)放、性能優(yōu)秀、支持CGI,特別適合應(yīng)用在嵌入式系統(tǒng)中,且最大的優(yōu)點(diǎn)就是速度快,則本設(shè)計(jì)采用boa 構(gòu)建WEB 服務(wù)器。Boa 是一款運(yùn)行
6、在類(lèi)Unix 系統(tǒng)中的小型WEB 服務(wù)器,特別適合在嵌入式場(chǎng)合使用,它是一個(gè)單任務(wù)的WEB Sever 服務(wù)器,它產(chǎn)生獨(dú)立的進(jìn)程來(lái)處理CGI 程序,因此占用較少的系統(tǒng)資源,boa 的優(yōu)點(diǎn)在于其快速性和可靠性。它與其他服務(wù)器的區(qū)別是:調(diào)用返回結(jié)果調(diào)用返回結(jié)果 返回結(jié)果傳遞參數(shù)調(diào)用CGIStdoutStdin客戶機(jī)WEB瀏覽器WEB服務(wù)器CGI程序驅(qū)動(dòng)程序硬件設(shè)備11沒(méi)有CGI 程序設(shè)置REMOTE_HOST 環(huán)境變量;在boa 中沒(méi)有Server-Side(SSI)項(xiàng),要產(chǎn)生動(dòng)態(tài)的往頁(yè)只有通過(guò)CGI。(2)boa 服務(wù)器的體系結(jié)構(gòu)Boa 服務(wù)器處理用戶請(qǐng)求并返回?cái)?shù)據(jù)給瀏覽器,其動(dòng)態(tài)的訪問(wèn)服務(wù)器需
7、要用到CGI,其體系結(jié)構(gòu)如圖4。圖4 boa 服務(wù)器體系結(jié)構(gòu)(3)boa 服務(wù)器的工作流程Boa 服務(wù)器首先進(jìn)行初始的配置,然后建立socket 連接,調(diào)用select 函數(shù)來(lái)監(jiān)視文件描述符的狀態(tài),通過(guò)調(diào)用相應(yīng)函數(shù)來(lái)處理請(qǐng)求。其工作流程如圖5。圖5 boa 工作流程12(4)boa 服務(wù)器的實(shí)現(xiàn)boa 的實(shí)現(xiàn)如下:第一步,完成boa 程序的移植。從/下載Boa 源碼,在Linux操作系統(tǒng)下將其解壓并進(jìn)入源碼目錄的src 子目錄。# tar -zxvf boa-0.94.13.tar.gz# cd boa-0.94.13/src# ./configure 生成M
8、akefile 文件。然后修改Makefile 文件,找到CC=/gcc,將其改成CC =/usr/local/arm/2.95.3/bin/arm-linux-gcc,(其作用是編輯編譯器路徑,而在本機(jī)上路徑為:/usr/local/arm/2.95.3/bin/)找到CPP = gccE,將其改成CPP =/usr/local/arm/2.95.3/bin/ arm-linux-gccE,保存退出。運(yùn)行make 進(jìn)行編譯,在boa-0.94.13/src 目錄下就得到了boa 可執(zhí)行指令,并將調(diào)試信息剝?nèi)ァ? make# /usr/local/arm/2.95.3/bin/arm-linu
9、x-strip boa第二步,完成boa 的配置,使其能支持CGI 程序的運(yùn)行。boa 需要在/etc 目錄下建立一個(gè)boa 目錄,里面放入Boa 的主要配置文件boa.conf。在boa 源碼目錄下已有一個(gè)示例boa.conf,可以在其基礎(chǔ)上進(jìn)行修改,本文只對(duì)修改的地方做下介紹,其具體情況可參附錄A。1) 作為哪個(gè)用戶運(yùn)行,即它擁有該用戶的權(quán)限,一般都是nobody,需要在/etc/passwd 中有nobody 用戶。即:User nobody但在后來(lái)的實(shí)踐中發(fā)現(xiàn),該用戶無(wú)法實(shí)現(xiàn)POST(),無(wú)法上傳文件,無(wú)法訪問(wèn)共享內(nèi)存,所以在本系統(tǒng)中,修改 User nobody 為 User roo
10、t 。2) 作為哪個(gè)用戶組運(yùn)行,即它擁有該用戶組的權(quán)限,一般都是nogroup,要在/etc/group 文件中有nogroup 組。即:Group nogroup3) 服務(wù)器名字,默認(rèn)是注釋掉,本系統(tǒng)則需要。ServerName 4) 指明CGI 腳本的虛擬路徑對(duì)應(yīng)的實(shí)際路徑。一般所有的CGI 腳本都要13放在實(shí)際路徑里,用戶訪問(wèn)執(zhí)行時(shí)輸入站點(diǎn)+虛擬路徑+CGI 腳本名。該項(xiàng)默認(rèn)為未打開(kāi),執(zhí)行Boa 會(huì)異常退出,提示“gethostbyname:No such file ordirectory”,所以必須打開(kāi),需執(zhí)行如下命令。ScriptAlias /cgi-bin/
11、 /var/www/cgi-bin/其它默認(rèn)設(shè)置即可。在本系統(tǒng)中,還需要?jiǎng)?chuàng)建日志文件所在目錄/var/log/boa,創(chuàng)建HTML 文檔的主目錄/var/www,將mime.types 文件拷貝到/etc 目錄,創(chuàng)建CGI 腳本所在目錄/var/www/cgi-bin/。mime.types 文件用來(lái)指明不同文件擴(kuò)展名對(duì)應(yīng)的MIME 類(lèi)型,一般可以直接從Linux 主機(jī)上拷貝一個(gè),大部分也都是在主機(jī)的/etc 目錄下。第三步,測(cè)試Boa 能否正常工作,靜態(tài)HTML 頁(yè)面能否正常訪問(wèn),CGI 腳本能否正常運(yùn)行。將boa 可執(zhí)行程序和其他配置文件轉(zhuǎn)入到嵌入式系統(tǒng)中后,運(yùn)行boa,即可通過(guò)其他機(jī)器就
12、可以訪問(wèn)了。如在IE 中輸入30(嵌入式系統(tǒng)IP)就可以訪問(wèn)到index 頁(yè)面了。2. 2. CGI 程序設(shè)計(jì)在大多數(shù)嵌入式WEB 應(yīng)用中,都需要提供動(dòng)態(tài)內(nèi)容顯示或交互式操作,以便對(duì)設(shè)備進(jìn)行遠(yuǎn)程控制。而簡(jiǎn)單的靜態(tài)頁(yè)面所提供的內(nèi)容是不變的,也無(wú)法完成交互操作。公共網(wǎng)關(guān)接口(CGI)能夠從根本上解決這種情況,使WEB 的客戶端和服務(wù)器之間具有交互功能,使得嵌入式系統(tǒng)的遠(yuǎn)程控制得以實(shí)現(xiàn)。CGI 是一個(gè)用于定義WEB 服務(wù)器與外部擴(kuò)展應(yīng)用程序之間通信方式的標(biāo)準(zhǔn)或接口規(guī)范。它規(guī)定了一組標(biāo)準(zhǔn)的環(huán)境變量和參數(shù)格式,定義了從HTML 腳本到服務(wù)器上執(zhí)行進(jìn)程的一個(gè)與平臺(tái)無(wú)關(guān)的網(wǎng)關(guān)。CGI 接口提供在超文本(HTML)文件編寫(xiě)時(shí),可以結(jié)合其他外部的程序語(yǔ)言(如C 語(yǔ)言),用來(lái)解釋處理來(lái)自客戶端輸入的表單信息,并在服務(wù)器上產(chǎn)生相應(yīng)的處理,或者將由此產(chǎn)生的處理結(jié)果作為響應(yīng),用恰當(dāng)?shù)男畔@示一個(gè)新的客戶界面,達(dá)到信息交互的目的。用戶輸入數(shù)據(jù)可以通過(guò)三種方式傳給CGI 程序:通過(guò)環(huán)境變量(GET 方式)、通過(guò)命令行參數(shù)方式或者通過(guò)CGI 程序的標(biāo)準(zhǔn)輸入方式(stdin,POST 方式)。當(dāng)使用GET 方式時(shí),CGI 通過(guò)環(huán)境變量QUERY_STRING 獲取客戶端傳輸數(shù)據(jù),格式如“name=user”、“mima=m121”,在表單(Form)中使用GET 方法,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度大型倉(cāng)儲(chǔ)物流中心建筑設(shè)計(jì)承包書(shū)
- 2025年度酒店信息化系統(tǒng)建設(shè)與維護(hù)服務(wù)合同
- 2025年度教師聘任合同標(biāo)準(zhǔn)版:針對(duì)高校及中等教育
- 小學(xué)生家庭貧困申請(qǐng)書(shū)
- 垃圾處理設(shè)備竣工驗(yàn)收?qǐng)?bào)告填寫(xiě)范本
- 2025年中國(guó)電機(jī)行業(yè)市場(chǎng)調(diào)研分析及投資戰(zhàn)略咨詢報(bào)告
- 2025年度建筑工程施工合同施工噪音及揚(yáng)塵污染防治
- 2025年度家政服務(wù)與家庭園藝維護(hù)合同樣本
- 2025年度攪拌車(chē)租賃與經(jīng)營(yíng)承包一體化服務(wù)合同
- 2025年度國(guó)際貨物買(mǎi)賣(mài)違約賠償金計(jì)算與支付協(xié)議
- 安徽省2024年高考語(yǔ)文模擬試卷及答案5
- DLT 5756-2017 額定電壓35kV(Um=40.5kV)及以下冷縮式電纜附件安裝規(guī)程
- 關(guān)于餐飲合同范本
- CHT 4019-2016 城市政務(wù)電子地圖技術(shù)規(guī)范(正式版)
- 廣西壯族自治區(qū)南寧市2024年七年級(jí)下學(xué)期語(yǔ)文期末試卷附答案
- 冀教版五年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)課件【完整版】
- 微量注射泵安全使用和維護(hù)保養(yǎng)
- 高二物理人教版(2019)選擇性必修第一冊(cè)教學(xué)設(shè)計(jì)
- 污水處理廠運(yùn)營(yíng)維護(hù)移交 投標(biāo)方案(技術(shù)方案)
- 部編版歷史八年級(jí)上冊(cè) 第八單元 教學(xué)設(shè)計(jì)
- 高中英語(yǔ)元宵節(jié)猜燈謎活動(dòng)英文課件
評(píng)論
0/150
提交評(píng)論