《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 單片機嵌入式Internet技術的Web應用實現
單片機嵌入式Internet技術的Web應用實現
來源:微型機與應用2010年第11期
高小能,王馀鵬,郭志飛
(浙江萬里學院 電子信息學院,浙江 寧波 315100)
摘要: 利用簡化的開源TCP/IP協議棧uIP,在資源有限的單片機上實現嵌入式Internet技術。通過uIP協議的應用程序接口實現基于HTTP協議的Web服務器應用服務。給出Web應用服務的實現流程,編寫了實現Web應用服務的詳細程序代碼。
Abstract:
Key words :

摘  要: 利用簡化的開源TCP/IP協議棧uIP,在資源有限的單片機上實現嵌入式Internet技術。通過uIP協議的應用程序接口實現基于HTTP協議的Web服務器應用服務。給出Web應用服務的實現流程,編寫了實現Web應用服務的詳細程序代碼。
關鍵詞: 嵌入式Internet;uIP協議棧;應用程序接口;Web應用服務

    嵌入式Internet是指電子設備通過嵌入式模塊而非PC直接接入到Internet,與Internet進行信息交互的過程。目前Internet成為全球最大、信息最豐富的互聯網絡。用戶甚至希望家電設備、儀器儀表以及工業生產中的數據采集與控制等設備也能夠連接到Internet上,因為這意味著用戶可以方便、快捷、低廉地通過網絡進行遠程控制、監測和信息傳送。美國貝爾實驗室的科學家預測,未來將會產生比PC時代多成百上千倍的超級嵌入式Internet服務器。Internet技術和嵌入式技術的相互融合,為嵌入式系統的設計和產品開發帶來了前所未有的發展空間和機遇。
1 單片機嵌入式Web應用的硬件系統設計
    在硬件系統的設計中,本文采用了ATMEL公司開發的高性能8位AVR(Advanced RISC)單片機AT90S8515,該單片機內置8 KB可編程Flash,使用精簡指令集,支持C語言及匯編語言,與MCS 8051系列單片機相比在性能上有很大的提高,在目前單片機開發中用得較多。因此利用AT90S8515單片機作為嵌入式系統的微處理器,通過網絡控制芯片將嵌入式系統與Internet相連接。其硬件系統框圖如圖1所示。

單片機嵌入式Web應用的硬件系統設計

    在電路的硬件系統組成中,注意以下幾點:
    (1)單片機與網卡芯片的接口電路
    AT90S8515單片機所提供的8位數據總線PA0~PA7分別對應連接網卡的SD0~SD7引腳;5根地址線PC0~PC4對應連接網卡的SA0~SA4引腳;讀信號線RD、寫信號線WR與RTL8019AS的相應信號線連接[1]。復位通過PB0控制,PB1片選地址使能[2]。外接時鐘電路單片機為8 MHz,網卡芯片為20 MHz。
    (2)存儲器擴展電路
    一般單片機片內數據存儲器容量為64 KB,這樣的存儲空間在進行單片機Web應用系統的開發時顯得過小。因此需要擴展數據存儲器,擴展容量隨系統數據使用量而定。對于Web應用,需要很大的存儲空間存放網頁等數據,所以本系統采用靜態RAM HM62256芯片作為存儲器擴展電路。
    (3)RTL8019AS工作方式
    RTL8019AS有3種工作方式:跳線方式、即插即用方式和RT免跳線方式[1]。在嵌入式應用場合,為了降低系統的復雜性,單片機盡量少接不必要的芯片。所以將RTL8019AS選擇工作在跳線方式。其IOCS16B引腳接下拉電阻,JP引腳端接高電平。
    (4)MAX232串口電平轉換電路
    在現場控制端,由于單片機輸出為TTL電平,現場數據采集系統(如傳感器)輸出為EIA電平,而MAX232芯片可以完成單片機和現場數據采集系統間的雙向電平轉換[3]。
    (5)網絡隔離濾波接口電路
    在網絡接入端需要一個網絡隔離濾波器HR901170A。HR901170A主要對系統電路起保護作用,減少信號共模干擾,完成信號的傳輸。HR901170A的內部集成了RJ45接口,可以直接接入到Internet。
2 嵌入式Internet的TCP/IP協議實現
2.1 嵌入式TCP/IP協議

    軟件編程是實現嵌入式Web系統的關鍵。Web通信中的數據封裝、解析都是由單片機軟件實現的。軟件實現主要包括兩部分:一是單片機精簡TCP/IP協議棧的實現,對數據的逐層打包、封幀、傳送等流程[2];二是單片機Web應用服務的實現。
    由單片機組成的嵌入式Web往往應用于特殊的、專用的領域,一般不需要太多的功能,這與PC機上的網絡應用有很大的不同。支持PC機進行Internet通信的TCP/IP協議是一個非常龐大的協議簇。而單片機芯片沒有足夠的空間資源,所以從嵌入式網絡應用和單片機空間資源兩個方面考慮,都沒有必要在單片機上實現完整的TCP/IP協議。目前市場上沒有統一的標準的實現嵌入式Internet的TCP/IP協議軟件,需要開發人員根據具體應用的需要去開發一套適用于單片機的嵌入式TCP/IP協議,工作量異常龐大,開發周期較長。一種比較簡單和易實現的做法是使用由瑞士計算機科學院的Adam Dunkels等開發的免費公開源代碼的小型TCP/IP協議,即uIP協議棧,它專門為8位和16位單片機編寫。uIP的代碼大小為3 304 B,對單片機RAM的需求為360 B,遠遠小于TCP/IP協議對資源的要求。有關uIP詳述和應用例程可見參考文獻[4]。
2.2 uIP驅動底層網絡設備RTL8019AS
    uIP是一個僅包含3層網絡層核心協議的協議棧,uIP自身不包含任何類型的底層網絡驅動和上層應用程序,它只提供接口函數供用戶開發使用。因此為了完成與底層網絡設備的交互,用戶必須根據網絡設備的類型,在uIP中自行實現對底層網絡設備的驅動。本文采用的網絡設備是RTL8019AS網卡,因此需要在uIP中實現對RTL8019AS網卡的驅動[4]。
    RTL8019AS驅動程序包括:RTL8019AS芯片初始化、芯片復位以及數據的發送和接收。RTL8019AS芯片初始化可以通過初始化函數void init_8019(void)完成。芯片復位通過芯片上的RSTDRV引腳執行復位操作,該引腳高電平有效。
3 單片機上嵌入式Web服務器的軟件實現
3.1 Web服務器的建立

    在進行以上的工作之后,用戶就可以建立Web服務器,通過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所示。

3.3 單片機上的Web服務器編程
    uIP協議棧提供了一個稱為宏的UIP_APPCALL的應用程序接口供用戶設計應用程序時使用[4]。要在單片機上實現Web Server服務,首先將該宏定義為一個應用程序函數名,然后在此函數中實現HTTP協議。完成后,用戶可以從局域網內的任何客戶機訪問該單片機Web服務器。如果分配一個公網IP地址,則也可以從Internet上訪問此Web服務器。實現的程序如下:
    #define UIP_APPCALL uip_http /*定義宏UIP_APPCALL為uip_http的應用程序函數*/
    void uip_http(void)           /*開始實現http協議建立Web服務器*/
    {struct uip http_state*s;
    s=(struct uip app_state*)uip_conn->appstate;
    if(uip_connected())
      {…                       /*打開連接接口函數,開始一個新的應用程序連接*/
          }
     if(uip_newdat()||uip_rexmit())  /*接收數據接口或重發數據接口函數,應用程序發送數據*/
      {if(uip_datalen()>0)     /*判定數據的大小接口函數
        {if(uip_conn->lport==80)  /*收到新連接端口號為80的請求,此即http應用*/
           {update_table_data();
              s->dataptr=newpage;
              s->dataleft=1957;
              uip_send(s->dataptrs->dataleft); /*發送上述http應用數據*/
            }
         }
     }
    if(uip_acked())      /*返回ACK數據確認接口函數*/
     {if(s->dataleft>uip_mss()&&uip_conn->lport==80)
       {s->dataptr+=uip_conn->len;
        s->dataleft-=uip-conn->len;
        uip_send(s->dataptrs->dataleft);
        }
      return;
     }
    if(uip_poll())
     {…                /*輪詢接口函數用于輪詢各個客戶端發起的連接*/
        return;
        }
      if(uip_timedout()||      /*判斷連接是否超時*/
      uip_closed()||          /*關閉當前的連接*/
      uip_aborted())         /*中斷連接接口*/
      {return;}
    }
    本文設計的系統成功應用在寧波市某商業廣場的地下停車場監測系統中。由于該商業廣場停車場業務量較大,常常導致車位飽和而客戶不知道的情形下進入停車場尋找車位,而該停車場規定進入停車場超過15 min的車輛即開始收費。導致客戶常常尋找超過規定的時間而仍未找到停車位但需付費,從而發生客戶和管理方之間的糾紛,影響商業廣場的整體形象。使用了該系統后,各個車位上的數據采集系統實時采集停車信息并反饋給系統。系統在停車場入口處顯示停車場當前有無可停車位以及哪些區域有空閑車位等信息。如果車位已滿,將會顯示無可停車位。除此之外,管理人員還可通過客戶端進行查詢、計時計費等工作。本系統最大的優點是開發費用低廉且操作簡單。在本文設計的系統中,客戶端使用普通的Web瀏覽器,通過Internet即可與單片機嵌入式Web應用服務器進行通信??蛻舳藶g覽器不需要開發額外的軟件,也不需要瀏覽器支持特別的功能??蛻舳丝赏ㄟ^訪問嵌入式Web服務器的網頁內容與之進行交互。嵌入式Web與現場控制接口互連,可實現對被控設備的遠程監測、控制、診斷、管理及維護等。嵌入式技術和Internet技術的相互融合,加速了電子設備的網絡化應用趨勢。應用單片機作為嵌入式Internet技術的硬件設備可以降低系統的成本。本文設計的嵌入式Web系統根據不同的應用需求,稍加修改即可應用在智能家電、智能建筑、儀器儀表、通訊產品、工業控制等眾多領域。
參考文獻
[1] 李正軍.現場總線與工業以太網及其應用系統設計[M].北京:人民郵電出版社,2008.
[2] 求是科技.單片機典型模塊設計實例導航[M].北京:人民郵電出版社,2008.
[3] 華清遠見嵌入式培訓中心.嵌入式Linux C編程入門[M].北京:人民郵電出版社,2007.
[4] uIP協議棧網絡站點.http://dunkels.com/adam/uip/.2010.
[5] 羅鈺.深入淺出Linux TCP/IP協議棧[M].北京:人民郵電出版社,2008.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美大片第1页| 黄色精品在线看| 亚洲图片欧洲图片日韩av| 欧美一级片一区| 久久亚洲综合| 这里只有精品电影| 麻豆成人91精品二区三区| 欧美在线亚洲在线| 亚洲三级影院| 欧美激情一区二区三区四区| 亚洲欧美激情在线视频| 欧美性色aⅴ视频一区日韩精品| 亚洲欧洲精品一区二区精品久久久| 一本色道久久综合亚洲精品婷婷| 久久人人97超碰人人澡爱香蕉| 亚洲免费观看高清在线观看| 欧美一区二区三区久久精品| 国产午夜精品一区二区三区欧美| 欧美另类变人与禽xxxxx| 国产一区视频观看| 国产亚洲激情视频在线| 在线日韩成人| 香蕉久久精品日日躁夜夜躁| 免费视频一区| 国产精品国产三级国产专区53| 久久久久综合网| 欧美精品一区在线播放| 亚洲精品综合久久中文字幕| 欧美高清在线精品一区| 国产欧美日韩精品专区| 日韩视频免费观看高清在线视频| 亚洲国产高清视频| 久久视频在线视频| 亚洲一区二区在线看| 亚洲精选大片| 国产精品久久91| 亚洲日产国产精品| 亚洲影院免费观看| 亚洲黄一区二区| 欧美成人xxx| 激情综合在线| 在线电影院国产精品| 午夜精品福利一区二区蜜股av| 国产日韩欧美亚洲| 女同性一区二区三区人了人一| 亚洲日本免费| 国产自产v一区二区三区c| 国产精品一区二区在线观看不卡| 黄色成人av网站| 欧美美女操人视频| 久久婷婷国产综合国色天香| 亚洲欧美精品suv| 欧美激情偷拍| 国产欧美日韩在线| 亚洲电影在线播放| 欧美大片免费| 国产一级一区二区| 国产精品成人一区| 香蕉久久精品日日躁夜夜躁| 欧美激情欧美狂野欧美精品| 国产女人精品视频| 亚洲破处大片| 亚洲一区二区少妇| 黄色成人小视频| 久久福利精品| 一本色道久久加勒比精品| 亚洲视频axxx| 亚洲一区美女视频在线观看免费| 国产精品久久久久aaaa九色| 一区二区高清在线| 国产精品综合av一区二区国产馆| 亚洲东热激情| 欧美精品福利在线| 欧美日韩综合网| 在线观看成人一级片| 91久久精品国产91性色| 国产亚洲精品一区二555| 亚洲精品日韩在线观看| 欧美成人资源网| 国产欧美日韩一区二区三区在线| 久久久99国产精品免费| 亚洲国产欧美日韩精品| 在线观看中文字幕不卡| 亚洲国产99精品国自产| 亚洲欧美成人精品| 欧美日韩国产在线| 久久婷婷一区| 亚洲午夜一区| 在线视频精品| 欧美激情2020午夜免费观看| 在线看国产一区| 一区二区三区 在线观看视| 久久露脸国产精品| 黄色成人在线网站| 亚洲美女av电影| 欧美日韩国产一级片| 久久精品91| 久久久人成影片一区二区三区观看| 久久久人成影片一区二区三区观看| 欧美日韩综合在线免费观看| 欧美精品在线一区二区三区| 亚洲精品乱码久久久久久蜜桃91| 篠田优中文在线播放第一区| 亚洲日本电影在线| 国产精品剧情在线亚洲| 久久精品视频网| 亚洲国产精品嫩草影院| 国产欧美综合一区二区三区| 亚洲第一视频网站| 欧美日韩免费| 欧美精品首页| 久久综合成人精品亚洲另类欧美| 亚洲伊人伊色伊影伊综合网| 精品成人在线观看| 欧美在线视频全部完| 亚洲福利免费| 久久久蜜桃精品| 欧美激情性爽国产精品17p| 久久精品国产亚洲5555| 麻豆91精品| 欧美一区二区三区视频免费| 亚洲午夜未删减在线观看| 精品av久久707| 一区二区三区我不卡| 亚洲激情成人在线| 国产精品亚洲不卡a| 亚洲经典视频在线观看| 国产精品卡一卡二| 国产日韩欧美在线视频观看| 亚洲缚视频在线观看| 亚洲一区二区三区四区视频| 国产视频自拍一区| 国产亚洲精品一区二区| 91久久黄色| 久久综合99re88久久爱| 亚洲日本国产| 国产精品男gay被猛男狂揉视频| 亚洲国产另类久久精品| 国产精品丝袜白浆摸在线| 亚洲综合日韩在线| 亚洲性av在线| 国产欧美一区二区三区在线老狼| 久久精品国产亚洲aⅴ| 欧美日韩亚洲不卡| 国产一区二区三区直播精品电影| 久久日韩精品| 国产日韩免费| 99国产精品久久久久久久久久| 久久全国免费视频| 久久夜色精品国产噜噜av| 欧美在线首页| 亚洲美女啪啪| 老鸭窝亚洲一区二区三区| 亚洲伦理自拍| 国产一区二区三区在线观看视频| 一区二区三区视频观看| 麻豆乱码国产一区二区三区| 欧美午夜精品理论片a级大开眼界| 欧美在线日韩| 国产手机视频精品| 久久久久亚洲综合| 狠狠色狠狠色综合| 欧美日韩在线三级| 欧美成人精品高清在线播放| 国产午夜亚洲精品羞羞网站| 在线精品视频在线观看高清| 国产精品videosex极品| 亚洲国产婷婷香蕉久久久久久| 亚洲毛片一区| 午夜亚洲福利在线老司机| 亚洲欧美在线视频观看| 在线观看亚洲专区| 99re66热这里只有精品3直播| 国产一二精品视频| 欧美高清一区二区| 亚洲人成网站999久久久综合| 国产小视频国产精品| 日韩亚洲国产欧美| 欧美亚洲一区三区| 日韩一级不卡| 欧美99在线视频观看| 亚洲色在线视频| 激情视频亚洲| 亚洲免费在线精品一区| 狠狠色香婷婷久久亚洲精品| 久久尤物电影视频在线观看| 午夜精品久久久久久久久| 亚洲午夜在线观看| 久久这里有精品视频| 欧美亚洲免费高清在线观看| 一区二区电影免费在线观看| 久久久免费av| 亚洲欧美三级在线| 欧美一区永久视频免费观看| 国产欧美日韩一区二区三区在线| 狠狠色丁香久久婷婷综合_中| 欧美另类亚洲| 一本综合精品| 欧美日本免费| 久久久一本精品99久久精品66| 在线一区二区视频| 亚洲欧美日韩综合国产aⅴ| 久久蜜臀精品av| 久久aⅴ国产欧美74aaa| 国产日韩欧美a| 欧美一区二区三区在线观看视频| 性色一区二区| 狠狠色伊人亚洲综合成人| 欧美三级日本三级少妇99| 在线国产精品一区| 国产精品高清免费在线观看| 欧美成人第一页| 亚洲一区二区三区高清| 亚洲综合视频网| 久久精品日韩欧美| 欧美视频日韩| 亚洲黄页视频免费观看| 日韩视频在线观看一区二区| 国产精品家教| 一区二区三区高清视频在线观看| 亚洲人成7777| 乱中年女人伦av一区二区| 欧美成人视屏| 欧美三级免费| 国产精品毛片在线看| 欧美日韩午夜视频在线观看| 欧美国产乱视频| 美脚丝袜一区二区三区在线观看| 亚洲人成网站精品片在线观看| 亚洲激情av| aa日韩免费精品视频一| 国内欧美视频一区二区| 国产婷婷成人久久av免费高清| 国产精品视频1区| 国产精品视频免费在线观看| 老司机免费视频一区二区三区| 国产色综合网| 久久伊人免费视频| 亚洲综合不卡| 国产香蕉97碰碰久久人人| 午夜精品久久久| 久久久噜噜噜久久人人看| aa级大片欧美| 欧美成人在线免费观看| 欧美日本韩国一区| 欧美日韩午夜剧场| 欧美日韩一区二区三区四区在线观看| 中文一区二区| 亚洲激情在线激情| 乱人伦精品视频在线观看| 欧美日韩另类国产亚洲欧美一级| 亚洲少妇诱惑| 99人久久精品视频最新地址| 午夜在线视频一区二区区别| 亚洲一级免费视频| 亚洲区一区二区三区| 亚洲欧美日韩天堂一区二区| 国模私拍一区二区三区| 国产精品欧美一区二区三区奶水| 国产精品久久久久久久久久久久久久| 在线看日韩av| 欧美三级在线播放| 久久精品伊人| 欧美在线视频免费观看| 欧美日韩在线精品| 一区二区三区导航| 国产一区二区三区精品欧美日韩一区二区三区| 亚洲精品免费在线| 欧美精品一区二区三区蜜臀| 国产综合第一页| 国产精品盗摄一区二区三区| 亚洲一区精品视频| 国产视频一区欧美| 一区二区三区日韩在线观看| 久久一区二区三区av| 亚洲电影在线| 亚洲免费影视第一页| 欧美在线免费一级片| 国产女主播视频一区二区| 在线色欧美三级视频| 亚洲精品视频免费在线观看| 欧美激情中文字幕乱码免费| 欧美精品三级日韩久久| 午夜国产不卡在线观看视频| 久久综合导航| 麻豆成人91精品二区三区| 尤物网精品视频| 久久―日本道色综合久久| 亚洲欧美日韩国产精品| 欧美日本免费一区二区三区| 永久91嫩草亚洲精品人人| 欧美日韩中文另类| 欧美一区二区三区免费看| 欧美亚日韩国产aⅴ精品中极品| 亚洲精选在线观看| 国产精品久久久久三级| 99re6热在线精品视频播放速度| 一区二区三区免费在线观看| 亚洲天堂久久| 亚洲伊人网站| 欧美紧缚bdsm在线视频| 午夜一区在线| 午夜精品亚洲| 久久精品国产亚洲一区二区三区| 午夜精品久久久久久久久久久久| 在线日韩av片| 久久精品亚洲热| 亚洲蜜桃精久久久久久久| 欧美另类极品videosbest最新版本| 亚洲天堂网在线观看| 欧美三级在线| 欧美无乱码久久久免费午夜一区| 久久久久久九九九九| 亚洲精品影视| 久久久久一本一区二区青青蜜月| 亚洲欧美日本在线| 亚洲欧美精品一区| 国产麻豆9l精品三级站| 欧美在线黄色| 国产精品久久久久久久9999| 日韩视频在线播放| 欧美绝品在线观看成人午夜影视| 一区二区三区在线免费视频| 亚洲免费影院| 99精品视频免费观看视频| 免费成人毛片| 国产精品一区二区女厕厕| 亚洲丝袜av一区|