a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機嵌入式Internet技術的Web應用實現

單片機嵌入式Internet技術的Web應用實現

作者: 時間:2010-07-20 來源:網絡 收藏

2.2 uIP驅動底層網絡設備RTL8019AS
uIP是一個僅包含3層網絡層核心協議的協議棧,uIP自身不包含任何類型的底層網絡驅動和上層程序,它只提供接口函數供用戶開發使用。因此為了完成與底層網絡設備的交互,用戶必須根據網絡設備的類型,在uIP中自行對底層網絡設備的驅動。本文采用的網絡設備是RTL8019AS網卡,因此需要在uIP中對RTL8019AS網卡的驅動[4]。
RTL8019AS驅動程序包括:RTL8019AS芯片初始化、芯片復位以及數據的發送和接收。RTL8019AS芯片初始化可以通過初始化函數void init_8019(void)完成。芯片復位通過芯片上的RSTDRV引腳執行復位操作,該引腳高電平有效。
3 服務器的軟件
3.1 服務器的建立

在進行以上的工作之后,用戶就可以建立服務器,通過uIP協議實現不同的微控制器或工作站之間的通信。Web服務器和客戶端瀏覽器間的通信采用HTTP協議。系統經常需要根據用戶的指令,采集系統的當前數據信息傳送給客戶端瀏覽器,為實現這種客戶端瀏覽器和Web服務器的動態交互,需要在服務器端采用通用網關接口CGI(Common Gateway Interface)。CGI是一個在服務器上運行的程序,它分析處理用戶發送到服務器上的數據信息,完成動態文件資源的創建和處理,再將用戶信息返回給客戶端。
Web服務器初始化完成后,服務器等待客戶端的連接請求,客戶端瀏覽器輸入服務器的IP地址后發一個物理地址解析協議(ARP)請求包,服務器收到后進行應答。客戶端收到應答包后發送超文本傳輸協議(HTTP)包,服務器收到HTTP包后開始建立與客戶端的TCP連接并作出對此包的響應。客戶端收到響應包后即斷開連接,服務器偵測到客戶端斷開了連接也同時斷開連接。
3.2 Web服務器數據處理流程
當系統的網卡接收到從網絡傳送來的數據包后,首先分析目的地址是否與自己的物理地址一致,如果不一致,則丟棄此包;如果一致,則讀取網絡數據并分析。如果是ARP請求包,則轉入ARP處理程序,并發送一個ARP應答包給客戶端。如果是IP包,則交由IP層處理,同時去掉以太網首部[4-5]。IP層根據IP首部的協議字段分析該IP包屬于什么數據包,如果是UDP包則,丟棄;如果是ICMP請求包,則發送一個ICMP應答包給客戶端;如果是TCP包且IP地址和端口號正確,則接收數據包,數據解包后,將數據部分通過串口輸出,控制MAX232現場設備。反之,如果現場通過串口發送數據到將數據按照TCP協議格式打包,送入RTL8019AS,由RTL8019AS將數據發送到局域網中。根據需要還可以在收到串口數據時,先完成數據預處理,再將處理好的數據送到局域網。具體的處理過程如圖2所示。

本文引用地址:http://www.j9360.com/article/173274.htm

3.3 單片機上的Web服務器編程
uIP協議棧提供了一個稱為宏的UIP_APPCALL的程序接口供用戶設計程序時使用[4]。要在單片機上實現Web Server服務,首先將該宏定義為一個應用程序函數名,然后在此函數中實現HTTP協議。完成后,用戶可以從局域網內的任何客戶機訪問該單片機Web服務器。如果分配一個公網IP地址,則也可以從上訪問此Web服務器。實現的程序如下:

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

tcp/ip相關文章:tcp/ip是什么




評論


相關推薦

技術專區

關閉