嵌入式web服務(wù)器搭建講解_第1頁
嵌入式web服務(wù)器搭建講解_第2頁
嵌入式web服務(wù)器搭建講解_第3頁
嵌入式web服務(wù)器搭建講解_第4頁
嵌入式web服務(wù)器搭建講解_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Web服務(wù)器創(chuàng)建隨著計(jì)算機(jī)技術(shù)的發(fā)展, 嵌入式系統(tǒng)已成為計(jì)算機(jī)領(lǐng)域的一個(gè)重要組成部分。 廣義講,凡是帶有微處理器的專用軟硬件系統(tǒng)都可以稱為嵌入式系統(tǒng)。 所謂嵌入式設(shè)備,是指具有計(jì)算機(jī)功能, 但又不稱為計(jì)算機(jī)的設(shè)備或器材, 幾乎包括了我們周期的所有電路設(shè)備: PDA 、手機(jī)機(jī)頂盒、汽車、微波爐、電梯、安全系統(tǒng)、自動(dòng)售貨機(jī)、醫(yī)療儀器、自動(dòng)取款機(jī)等。嵌入式系統(tǒng)可以通過各種無線形式(如 WAP 、Blue 嵌入式 Internet 技術(shù)主要包括傳感器技術(shù)、 通信技術(shù)、計(jì)算機(jī)技術(shù)和集成電路技術(shù)等。 以前的設(shè)備控制系統(tǒng)一般是通過專用通信線中進(jìn)行的, 其通信介質(zhì)、通信協(xié)議、相關(guān)軟件和硬件都是專用的,而 In

2、ternet 技術(shù)的發(fā)展使嵌入式設(shè)備的遠(yuǎn)程控制和管理方式有了改變。 不需要專用的通信線路, 并且傳輸?shù)男畔⒉痪志钟跀?shù)據(jù)信號(hào),還有聲音和圖像。最重要的是其通信協(xié)議是標(biāo)準(zhǔn)且公開的。隨著 Web 技術(shù)的發(fā)展,幾乎改變了現(xiàn)在的信息表達(dá)形式, 很多應(yīng)用都是基于 Web 技術(shù)的。由于 HTML 語言的標(biāo)準(zhǔn)統(tǒng)一性,只要在嵌入式設(shè)備中有一個(gè)微型服務(wù)器,就可以使用任意一種 Web 瀏覽器接收和發(fā)送信息。 所以如何設(shè)計(jì)這種特別的 Web 服務(wù)器,如何在嵌入式設(shè)備中安裝 Web 服務(wù)器,就成了嵌入式 Web 服務(wù)器的發(fā)展和研究方向。對于嵌入式 Web 服務(wù)器的研究和應(yīng)用,其意義是重大的。它為我們管理、控制和監(jiān)測各種

3、各樣設(shè)備提供了一個(gè)很好的途徑。 這種設(shè)備可以是具有有限內(nèi)存資源的 8 位或 16 位系統(tǒng),已足夠提供一個(gè)用戶界面, 而且這種方式是基于 Internet 的。這種設(shè)備可以在世界任何一個(gè)地方,只要它連入 Internet 就能夠控制它。1.1 課題的研究意義Internet 的迅猛發(fā)展, 傳統(tǒng)的 Client/server 體系結(jié)構(gòu) (客戶機(jī) /服務(wù)器 ),漸漸的在某些方面顯示出它的局限性, Browser/server 結(jié)構(gòu) (瀏覽器 /服務(wù)器 )的出現(xiàn)恰恰彌補(bǔ)了這種缺陷。 B/S 方式已成為一種時(shí)尚,大部分網(wǎng)絡(luò)應(yīng)用系統(tǒng)都是以這種 B/S 方式與網(wǎng)絡(luò)用戶交換信息。 B/S 的基礎(chǔ)是客戶端要有一

4、個(gè)瀏覽器程序,服務(wù)器端要有一個(gè)與之對應(yīng)的 Web 服務(wù)器。顯然, Web 服務(wù)器在 B/S 方式下起著決定性的作用,因此,一般互聯(lián)網(wǎng)站都采用功能強(qiáng)大的通用Web 服務(wù)器。隨著網(wǎng)絡(luò)各個(gè)核心部分業(yè)務(wù)量的提高, 其訪問量和數(shù)據(jù)流量快速增長, 處理能力和計(jì)算強(qiáng)度也相應(yīng)增大, 使得單一設(shè)備根本無法承擔(dān), 而且許多企業(yè)級(jí)應(yīng)用系統(tǒng)的應(yīng)用請求具有突發(fā)性和緊急性的特點(diǎn), 當(dāng)應(yīng)用訪問急劇上升時(shí), 容易造成網(wǎng)絡(luò)瓶頸。解決這一問題的辦法是采用多臺(tái)嵌入式 Web 服務(wù)器為一個(gè)應(yīng)用服務(wù),集群負(fù)載均衡機(jī)制就是為解決多個(gè)網(wǎng)絡(luò)設(shè)備之間實(shí)現(xiàn)合理的業(yè)務(wù)量分配而提出的。1.2 論文研究內(nèi)容嵌入式 Web 服務(wù)器是指將 Web 服務(wù)器

5、引入到現(xiàn)場測試和控制設(shè)備中,在相應(yīng)的硬件平臺(tái)和軟件系統(tǒng)的支持下,使傳統(tǒng)的測試和控制設(shè)備轉(zhuǎn)變?yōu)榫邆淞艘?TCP/IP 為底層通信協(xié)議, Web 技術(shù)為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)測試和控制設(shè)備。 EWS 系統(tǒng)與傳統(tǒng)的 Web 應(yīng)用相比,簡化了系統(tǒng)結(jié)構(gòu),將信息采集和信息發(fā)布都集成到現(xiàn)場的測控設(shè)備中。 而有了標(biāo)準(zhǔn)的接口形式和通信協(xié)議, 內(nèi)嵌于設(shè)備的從 Web 服務(wù)器同樣可以向任何接入它所在網(wǎng)絡(luò)的合法用戶提供統(tǒng)一的基于瀏覽器方式的操作和控制界面,瀏覽器成了設(shè)備的前端控制板。由于Web 技術(shù)的開放性和獨(dú)立平臺(tái)特性, 大大降低了軟件系統(tǒng)和通信系統(tǒng)的設(shè)計(jì)、維護(hù)工作量, 節(jié)省了人員培訓(xùn)費(fèi)用等,提高了現(xiàn)場測試和控制設(shè)

6、備的管理水平。本文采用DevKit8500D/A 的硬件構(gòu)架,基于超文本傳輸協(xié)議(HTTP1.0) 傳輸控制數(shù)據(jù)和用戶信息,設(shè)計(jì)了簡單的嵌入式Web 服務(wù)器,通過以太網(wǎng)和HTTP數(shù)據(jù)傳輸共享小型嵌入式設(shè)備的信息,實(shí)現(xiàn)了嵌入式系統(tǒng)的Internet 接入,遠(yuǎn)程用戶可通過瀏覽器訪問嵌入式Web 服務(wù)器,實(shí)現(xiàn)了嵌入式系統(tǒng)的遠(yuǎn)程控制。2.1 嵌入式 Web 服務(wù)器的硬件構(gòu)成2.1.1 DevKit8500D/A開發(fā)板1.1 產(chǎn)品介紹DevKit8500D/A 評(píng)估套件是深圳市天漠科技有限公司推出的基于德州儀器( TI)DM3730/AM3715 處理器的評(píng)估套件。處理器集成了高達(dá) 1GHz 的 ARM

7、 Cortex? -A8 內(nèi)核及高達(dá) 800MHz 的具有高級(jí)數(shù)字信號(hào)處理的 DSP 核( DM3730 only),并提供了豐富的外設(shè)接口。 DevKit8500 外擴(kuò)了網(wǎng)口、 S-VIDEO接口、音頻輸入輸出接口、 USB、TF 接口、串口、 SPI接口、 IIC 接口、 JTAG接口、 CAMERA 接口、 TFT屏接口、觸摸屏接口、鍵盤接口、 HDMI 接口。Devkit8500 的應(yīng)用范圍:便攜式數(shù)據(jù)終端導(dǎo)航自動(dòng)化資訊娛樂游戲醫(yī)用設(shè)備家庭自動(dòng)化人機(jī)界面工業(yè)控制測試與測量儀器單板計(jì)算機(jī)Devkit8500 功能模塊圖:圖 11.2 定義Devkit8500A: CPU基于 AM3715

8、,簡稱為“ A”的 Devkit8500 評(píng)估板;Devkit8500D: CPU基于 DM3730,簡稱為“ D”的 Devkit8500 評(píng)估板;AM3715 與 DM3730 相異的地方主要是DSP,AM3715 不帶 DSP,而 DM3730 帶 DSP;后面書面上會(huì)以“ Devkit8500”介紹為主,若遇到有 D/A 區(qū)分的地方,會(huì)以注意方式說明。1.3 特性Devkit8500評(píng)估板是基于 DM3715/DM3730處理器,同時(shí)也是集成了此芯片所有功能與特性的評(píng)估板,以下是板子的特性:電氣參數(shù)工作溫度: 0 70 環(huán)境濕度: 20% 90%,非冷凝機(jī)械尺寸: 136.2mm x

9、105.3mm電氣指標(biāo): +5V 電源供電處理器1GHz ARM Cortex?-A8 Core800- MHz TMS320C64x+? DSP Core(DM3730 only )NEON? SIMD CoprocessorPOWERVR SGX? Graphics AcceleratorARM: 32 KB I-Cache; 32 KB D-Cache; 256KB L2 CacheOn Chip: 64KB RAM; 32KB ROM存儲(chǔ)器512MB 32 位 DDR SDRAM512MB 16 位 NAND Flash2GB 4 位 iNAND (可選配置,默認(rèn)不焊接)音頻 /視頻接

10、口一個(gè) S-VIDEO 接口一個(gè) HDMI(DVI-D) 接口一個(gè)音頻 3.5mm 輸入接口一個(gè)雙聲道音頻3.5mm 輸出接口液晶觸摸屏接口24 位真彩色分辨率支持高達(dá) 2048x20484 線觸摸屏傳輸接口串口:UART1 ,5 線串口, TTL 電平UART2 ,5 線串口, TTL 電平UART3 ,5 線串口, RS232 電平USB 接口:1 x USB2.0 OTG, High-speed,480Mbps4 x USB2.0 HOST, High-speed,480MbpsTF 卡接口10/100Mbps RJ45網(wǎng)絡(luò)接口1 路 McSPI 接口(多通道 SPI 接口)1 路 Mc

11、BSP 接口(多功能串行接口)1 路 I2C 接口1 路 HDQ 接口(單總線接口)輸入接口1 路 CAMERA 接口6 X 6 鍵盤接口14 針標(biāo)準(zhǔn) JTAG 接口4 個(gè)按鍵( 2 個(gè)用戶按鍵, 1 個(gè)復(fù)位按鍵, 1 個(gè)休眠喚醒按鍵)LED 指示燈1 個(gè)電源指示燈2 個(gè)系統(tǒng)指示燈2 個(gè)用戶自定義燈4 個(gè) USB Host 指示燈1 個(gè) USB Hub 指示燈圖 2: 硬件實(shí)物圖2.1.2 CPU 介紹DM37x/AM37x 是高性能、增強(qiáng)型數(shù)字媒體的處理器,使用 TI 45 納米的先進(jìn)工業(yè)技術(shù),而這種架構(gòu)被設(shè)計(jì)用于 ARM 和圖形演示的同時(shí),也擁有低功耗的特點(diǎn)。2.1.3 CPU特性復(fù)位(

12、reset)復(fù)位信號(hào)是通過CPU的 SYS_NRESPWRON所決定的,低電平復(fù)位有效。通用接口設(shè)備( General-Purpose Interface)通用接口設(shè)備包括6 組通用輸入輸出接口( GPIO),每一 GPIO模組提供 32個(gè)專用的通用接口輸入輸出管腳,因此通用的GPIO可以高達(dá)192 個(gè)( 6x32)管腳。上述管腳可以根據(jù)下面應(yīng)用進(jìn)行配置:? 數(shù)據(jù)輸入輸出(驅(qū)動(dòng))? 鍵盤接口? 中斷控制顯示底層( Display Subsystem)顯示底層主要在LCD或者 TV 接口下提供存儲(chǔ)幀緩存(SDRAM 或者 SRAM)的邏輯視頻圖像,顯示底層包括下列內(nèi)容:顯示控制( DISPC)模

13、組遠(yuǎn)程幀緩沖接口( RFBI)模組顯示串行接口( DSI)的 I/ O 模塊和 DSI協(xié)議引擎DSI PLL控制器驅(qū)動(dòng)( DSI PLL和高速 HS分頻器)NTSC / PAL視頻編碼顯示控制器和 DSI協(xié)議引擎連接到 L3 和 L4 的內(nèi)部總線上,而 RFBI與 TV 輸出編碼模組是連接到 L4 內(nèi)部總線。2.2 嵌入式 Web 服務(wù)器的軟件構(gòu)成嵌入式Web 服務(wù)器主要解決的問題是通過制現(xiàn)場的設(shè)備,所以必須在嵌入式設(shè)備中配置Internet 來進(jìn)行遠(yuǎn)程訪問和控TCP/IP 協(xié)議和Web 服務(wù)器,以解決網(wǎng)絡(luò)互聯(lián)問題。但是嵌入式服務(wù)器系統(tǒng)只需要使用其中的某些基本 的功能,也要減去一些使用不到有功

14、能 ,以節(jié)省有限的嵌入式資源。 TCP/IP 此外還要用到的軟件資源有嵌入式實(shí)時(shí)操作系統(tǒng) 、 HTTP 協(xié)議 ,同時(shí)帶有 SMTP 和 SNMP 協(xié)議 ,使其具有網(wǎng)絡(luò)管理的簡單功能 ,通過網(wǎng)絡(luò)可以對接 入到 Internet上的設(shè)備進(jìn)行管理和控制。軟件用到的主要開發(fā)工具以及語言技術(shù)有:(1) C 語言:大部分程序都是用C 語言編寫的;(2) CGI:在 Web 上主要用到的是CGI 腳本語言(3) Keil :開發(fā)工具用到的是Keil uvision4.3.1 嵌入式 Web 技術(shù)嵌入式 Web 服務(wù)器,本身就是在嵌入式設(shè)備中運(yùn)行的基于 HTTP 協(xié)議的 Web 服務(wù)器,以網(wǎng)頁的形式為計(jì)算機(jī)提

15、供嵌入式設(shè)備的狀態(tài)、 參數(shù)表示等信息川。 將 Web 服務(wù)器植入嵌入式系統(tǒng)后接入 Internet,嵌入式 Web 服務(wù)器不僅可以利用瀏覽器提供的豐富的圖形用戶界面實(shí)現(xiàn)遠(yuǎn)程管理、 監(jiān)控嵌入式系統(tǒng)的功能, 并且可以在服務(wù)器端結(jié)合嵌入式 Web 服務(wù)器提供的接口進(jìn)行進(jìn)一步開發(fā),以此豐富各種嵌入式功能。 嵌入式 Web 服務(wù)器更易于和 Internet 實(shí)現(xiàn)無縫連接, 它使得嵌入式設(shè)備的遠(yuǎn)程控制和管理方式都有了改變, 不再需要專用的通信線路, 傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息 5 。如圖 4 所示是典型的嵌入式Web 服務(wù)器的系統(tǒng)模型:Web瀏覽器嵌入式 Web設(shè)備圖形用戶界面HTML 解HTML 解

16、HTML 解HTML 解靜態(tài) Web頁嵌入式設(shè)備析器析器析器析器面HTML 解HTML 解析器析器HTTP 引擎HTTP引擎嵌入式 web服務(wù)器TCP/IP協(xié)議棧TCP/IP協(xié)議棧圖 4 典型的嵌入式 Web 服務(wù)器系統(tǒng)模型Internet 可以提供多種網(wǎng)絡(luò)服務(wù),比如通過SMTP(簡單郵件傳輸協(xié)議)收發(fā)郵件,通過 FTP(文件傳輸協(xié)議)傳輸文件。 Internet 能得到如此大規(guī)模的流行, WWW (World Wide Web)技術(shù)居功至偉??梢哉f如果沒有 WWW 和 HTTP 技術(shù)就不會(huì)有這么多人使用 Internet,正是 WWW 技術(shù)把 Internet 的結(jié)構(gòu)、服務(wù)和應(yīng)用引上了一個(gè)新

17、臺(tái)階。嵌入式系統(tǒng)和 Internet 技術(shù)的結(jié)合,前景非常樂觀。 嵌入式 Web 技術(shù)除了可以用于構(gòu)建智能家庭外還可以用于很多工業(yè)領(lǐng)域。 在工業(yè)控制系統(tǒng)中, 采用嵌入式 Web 技術(shù)的遠(yuǎn)程監(jiān)控系統(tǒng)和傳統(tǒng)的基于現(xiàn)場總線的監(jiān)控系統(tǒng)相比,前者更容易和 Internet 實(shí)現(xiàn)無縫連接,它使得嵌入式設(shè)備的遠(yuǎn)程控制和管理方式都有了改變,不再需要專用的通信線路, 傳輸?shù)男畔⒁膊辉倬窒抻跀?shù)據(jù)信息。 在電力系統(tǒng)中嵌入式 Web 技術(shù)也有用武之地。電力系統(tǒng)是一個(gè)包含電能生產(chǎn)、傳輸和使用的復(fù)雜系統(tǒng),各種生產(chǎn)設(shè)備地域分布廣泛,設(shè)備類型眾多、數(shù)量巨大,對于這些設(shè)備的監(jiān)控。診斷和維護(hù)稱為提高系統(tǒng)管理水平的重要內(nèi)容。 因此

18、可以將嵌入式Web 技術(shù)用于電力系統(tǒng)的遠(yuǎn)程檢測與故障診斷。3.2 嵌入式 Web 服務(wù)器在 Internet方面的應(yīng)用傳統(tǒng)的通用的Web 服務(wù)器被設(shè)計(jì)用來處理成千上萬個(gè)用戶對普通網(wǎng)站的同時(shí)并發(fā)訪問。它可以有強(qiáng)有力的數(shù)據(jù)庫作為后盾來開展內(nèi)容繁多的商業(yè)服務(wù),但是由于嵌入式設(shè)備的處理器能力和有限的存儲(chǔ)容量,這樣的服務(wù)器并不能用來在嵌入式設(shè)備上面運(yùn)行。 對于一般的管理信息系統(tǒng)或中小型應(yīng)用系統(tǒng),所需的 Web服務(wù)功能比較簡單,如果仍然采用大型的通用Web 服務(wù)器,無疑是一種資源的浪費(fèi)。解決方法是使用功能相對簡單、體積更小、消耗資源更少的簡單Web 服務(wù)器,于是嵌入式Web 服務(wù)器就應(yīng)運(yùn)而生了。WWW(W

19、orld Wide Web) 的飛速發(fā)展和廣泛應(yīng)用得益于其提供的大量服務(wù),這些服務(wù)為人們的信息交流帶來了極大的便利。環(huán)球信息網(wǎng)是一個(gè)基于超文本方式的信息查詢方式。它提供了一個(gè)友好的界面,大大方便了人們對信息的瀏覽。而嵌入式系統(tǒng)鏈接入互聯(lián)網(wǎng)也是大勢所趨。3.3 嵌入式 Internet技術(shù)的應(yīng)用前景嵌入式 Internet 技術(shù)具有廣闊的應(yīng)用前景,其應(yīng)用領(lǐng)域可以包括:智能公路交通管理、車輛導(dǎo)航、流量控制、信息監(jiān)測與汽車服務(wù);植物工廠特種植物工場, 如實(shí)現(xiàn)野生名貴藥材的遠(yuǎn)程監(jiān)控培養(yǎng)和種植, 無土栽培技術(shù)應(yīng)用,智能種子工程等;虛擬現(xiàn)實(shí) (VR) 機(jī)器人交通警察、門衛(wèi)、家用機(jī)器人等;信息家電冰箱、空調(diào)

20、等的網(wǎng)絡(luò)化;工業(yè)制冷冷庫、中央空調(diào)、超級(jí)市場冰柜;VR 庫房糧庫、油庫、食品庫等;3.4 嵌入式 Web 服務(wù)器中 TCP/IP棧的實(shí)現(xiàn)3.4.1 IP 協(xié)議實(shí)現(xiàn)IP 協(xié)議主要功能是用于主機(jī)之間發(fā)送數(shù)據(jù)報(bào)的傳輸,實(shí)現(xiàn)比較復(fù)雜,但對于 Web 服務(wù)器來說,只需完成IP 協(xié)議兩項(xiàng)最基本的功能:第一,處理接收到的IP 數(shù)據(jù)報(bào),向上層網(wǎng)絡(luò)提交。第二,負(fù)責(zé)對 TCP 報(bào)文、 ICMP 報(bào)文進(jìn)行封裝,交給數(shù)據(jù)鏈路層進(jìn)行裝幀。當(dāng) Web 服務(wù)器收到發(fā)給自己的數(shù)據(jù)幀后,需要對以太網(wǎng)首部中的幀類型字段進(jìn)行判斷,如果該字段為 0x0800,說明后面的數(shù)據(jù)是 IP 數(shù)據(jù)報(bào),將此數(shù)據(jù)提交 IP 層處理。 IP 協(xié)議判

21、斷此數(shù)據(jù)報(bào)的 IP 頭部中目的 IP 地址字段與本地 IP 地址是否一致,若不一致,則丟棄該數(shù)據(jù)報(bào);若一致,進(jìn)行 IP 頭部校驗(yàn)和檢查,當(dāng)證明數(shù)據(jù)在傳輸中沒有出現(xiàn)錯(cuò)誤時(shí),去掉 IP 頭部,將 IP 數(shù)據(jù)提交上層處理,即根據(jù) IP 首部中的協(xié)議字段決定交給 ICMP 協(xié)議還是 TCP 協(xié)議處理。在程序運(yùn)行時(shí),當(dāng)所接收的數(shù)據(jù)被判定為 IP 數(shù)據(jù)報(bào)后, IP 處理程序?qū)?yán)格按照以上的過程接收處理數(shù)據(jù)并進(jìn)行處理。3.4.2 TCP協(xié)議實(shí)現(xiàn)TCP 是嵌入式 Web 服務(wù)器的核心。在設(shè)計(jì)嵌入式Web 服務(wù)器時(shí),系統(tǒng)應(yīng)用層只需支持 HTTP 協(xié)議。嵌入式系統(tǒng)把要傳送的數(shù)據(jù), 參數(shù)等存入網(wǎng)頁的相關(guān)位置。對于任

22、何 TCP 連接,每次只需支持HTTP 協(xié)議發(fā)送網(wǎng)頁服務(wù)。在單片機(jī)這樣的系統(tǒng)中,資源十分有限,因此要精簡TCP 協(xié)議,簡化的原則有兩個(gè):第一,不能改變其面向連接的特性;第二,簡化必須能配合其所采用的應(yīng)用層協(xié)議。作為嵌入式 Web 服務(wù)器, TCP 連接時(shí)只需處于被動(dòng)服務(wù)的狀態(tài),所以將標(biāo)準(zhǔn)的 TCP 有限狀態(tài)機(jī)的主動(dòng)創(chuàng)建連接的SYN-SENT 狀態(tài),主動(dòng)關(guān)閉連接的FIN-WAIT1,FIN-WAIT2,3.5HTTP協(xié)議簡介HTTP 協(xié)議即超文本傳送協(xié)議(HypertextTransferProtoeol)是用來構(gòu)建分布式信息系統(tǒng)的,建立在 TCP/IP 協(xié)議之上的應(yīng)用層協(xié)議。是一個(gè)屬于應(yīng)用層的

23、面向?qū)ο蟮膮f(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。HTTP 的主要特點(diǎn)可概括如下:1:支持客戶 /服務(wù)器模式。2:簡單快速,靈活。3:無連接,無狀態(tài)。4.1 設(shè)計(jì)總體需求說明嵌入式 Web 服務(wù)器總體的設(shè)計(jì)思路如圖5 所示:硬件設(shè)備:在這里硬件設(shè)備包括了電源, 開發(fā)板,以及開發(fā)板上已經(jīng)集成的網(wǎng)絡(luò)芯片,還有就是其他和本設(shè)計(jì)有關(guān)設(shè)備等等;嵌入式 Web 服務(wù)器:要求是已經(jīng)做好的 Web 服務(wù)器,通過軟件控制下載到開發(fā)板中,由此而組合成的嵌入式 Web 服務(wù)器Internet:打開瀏覽器通過網(wǎng)絡(luò)訪問嵌入式 Web 服務(wù)器(即打開嵌入式 Web 服務(wù)器中已經(jīng)申請好的 IP 地址,輸入

24、 URL 進(jìn)行訪問)遠(yuǎn)程控制 LED 燈:在通過網(wǎng)絡(luò)進(jìn)入 index 頁面后通過按鈕或者其它的方法來遠(yuǎn)程的控制 LED 的亮與滅硬件設(shè)備嵌入式 Web 服務(wù)器Internet遠(yuǎn)程控制 LED 燈圖 5 整體架構(gòu)圖4.2 程序設(shè)計(jì)與實(shí)現(xiàn)4.2.1 主程序設(shè)計(jì)1、功能說明系統(tǒng)的總?cè)肟?,也是系統(tǒng)的主要控制函數(shù)。分別完成如下功能:(1) 建立環(huán)境設(shè)置。(2) 設(shè)置信號(hào)處理方式。(3) 建立偵聽 TCP 流方式 SOCKET 并綁定 80 端口。(4) 建立連接偵聽及客戶連接處理調(diào)用主循環(huán)。2、主程序流程圖主程序流程圖如圖6 所示:開始初始化stm32初始化DP83848處理 DP83848產(chǎn)生DP83

25、848觸及STM32的外部中斷Y的中斷事件NNSocket端口收到數(shù)據(jù)Y處理接受到的數(shù)據(jù)6 主程序流程圖2.設(shè)計(jì)與程序說明通過 DHCP 服務(wù)器的連接成功與否來檢測網(wǎng)絡(luò)是否連接成功具體步驟如下:(1)當(dāng)用戶給開發(fā)板通電后,首先是 DHCP 服務(wù)器的連接,如果連接失敗,服務(wù)器會(huì)分配一個(gè)程序中已經(jīng)寫好的 IP 地址顯示在 LCD 上,用戶通過得到的 IP 地址進(jìn)入瀏覽器,進(jìn)入主頁面進(jìn)行訪問控制根據(jù)網(wǎng)絡(luò)的連接進(jìn)行選擇:DHCP 服務(wù)器連接失敗的部分代碼如下:if (-dhcp_tout = 0) /* A timeout, disable DHCP and use static IP address

26、. */ dhcp_disable ();sprintf(char *)lcd_text1, DHCP failed );LCDupdate = _TRUE;dhcp_tout = 30 | 0x80000000;return;連接失敗后的 IP 地址分配:if (dhcp_tout = 0x80000000) dhcp_tout = 0;sprintf(char *)lcd_text0,IP address:);sprintf(char *)lcd_text1,%d.%d.%d.%d, MY_IP0, MY_IP1,MY_IP2, MY_IP3);LCDupdate = _TRUE; ( 2

27、)如果 DHCP 服務(wù)器連接成功, 等待一會(huì)它會(huì)自動(dòng)的分配一個(gè) IP 地址顯示在 LCD 上,用戶通過此 IP 地址可直接訪問主界面,并進(jìn)行燈光控制DHCP 服務(wù)器連接成功的部分代碼服下:if (mem_test (&MY_IP, 0, IP_ADRLEN) = _FALSE & !(dhcp_tout & 0x80000000) dhcp_tout = 0;sprintf(char *)lcd_text0,IP address:);sprintf(char *)lcd_text1,%d.%d.%d.%d, MY_IP0, MY_IP1, MY_IP2, MY_IP3);LCDupdate =

28、 _TRUE;return;( 4)其它協(xié)議的部分模塊調(diào)用UDP 套接字模塊控制:#if UDP_ENABLE = 1struct udp_info udp_socketUDP_NUMSOCKS; TCP 套接字模塊控制:#if TCP_ENABLE = 1struct tcp_info tcp_socketTCP_NUMSOCKS+1;4.3 程序編譯、運(yùn)行及測試4.3.1 編譯應(yīng)用程序本設(shè)計(jì)的所有工程,如下圖所示,而其中的 LED 是本次設(shè)計(jì)的重點(diǎn),所以在其它設(shè)計(jì)上沒有做詳細(xì)的設(shè)計(jì),只是針對 LED 做出了詳細(xì)的設(shè)計(jì),具體的工程模塊如圖 7 所示。圖 7 程序結(jié)構(gòu)編譯的主程序主要代碼如下:int main (void) init ();LEDrun = _TRUE;dhcp_tout = DHCP_TOUT;while (1) timer_poll ();main_TcpNet ();dhcp_check ();blink_led ();4.3.2 下載調(diào)試本次設(shè)計(jì)所使用的開發(fā)工具 Keil ,測試用的是通過 ULINK 仿真器來實(shí)現(xiàn)開發(fā)板與 PC 機(jī)相連的。將開發(fā)板連接到電腦,將寫好的程序通過仿真器下載到開發(fā)板上。當(dāng)程序下載完成之后,接下來需要做的就是調(diào)試(即 Debug)通過 Debug 來檢測程序的錯(cuò)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論