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

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機系統中Web Service的調用方法研究

單片機系統中Web Service的調用方法研究

作者: 時間:2009-02-25 來源:網絡 收藏

1 前言

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

作為一種有著強大功能的可互操作性和擴展性的新技術,被越來越多用于異構數據的集成,自然想到將其應用于工業的異構數據的集成.本文介紹了一種在 實現主動提交數據的方法,方便了的集成.在傳統的系統中,可以利用系統用串口方式采集儀表數據,通過串行總線將數據提交給上位計算機,通過預先設計的通信協議與上位采集服務器通信,集成采集的數據.當需要增加下位機采集模塊時需要擴展對應的上位機采集口,采集系統的升級和維護都非常麻煩.在系統中通過采集服務器端的 和上位機交互數據,可以簡化下位機和上位機的通信,把主要工作放在下位單片機系統如何和儀表通信采集數據上, 基于該方法可以方便的構建基于工業以太網的分布式數據采集方案.該方案還可以方便的集成已經存在的數據采集系統,方便單片機系統的升級,比如可以把利用單片機實現的采集系統很容易的改為PLC采集系統或直接PC采集數據模式,而只需升級后的系統同樣的Web Service交互數據即可.由于Web Service調用使用HTTP協議交互數據,該方案還可以方便的擴展為支持Internet的遠程數據采集.

2 單片機系統中調用Web Service的實現

2.1 Web Service技術[7,9,10]

Web Service是能夠通過Web協議來訪問的可編程應用程序組件, 使原來孤立的站點之間的信息能夠相互通信、共享.Web Service所使用的是Internet上統一、開放的標準,如HTTP、XML、SOAP、WSDL、UDDI等,所以Web Service可以在任何支持這些標準的環境(Windows、Linux等)中使用.Web Service本質其實不是一種新技術,前面提到其使用了Internet標準,這些標準便是Web Service的核心技術.

(1) HTTP是一種基于TCP實現的應用層協議,它是可靠的交換數據的重要基礎.HTTP為Web Service請求與響應提供了傳輸層,HTTP使得任何設備和平臺都可以訪問Web Service.

(2) XML(Extensible Markup Language,可擴展標記語言),是一套規范,允許編程人員自行定義如HTML般的標注,以方便數據存取和處理、交換、轉換等,主要特點是使用有意義的標記,這個特性使計算機可以理解數據含義.XML可以在任何系統、應用程序、任何平臺上運行,數據傳輸以Internet為基礎,傳輸費用便宜.

(3) SOAP協議(Simple Object Access Protocol,簡單對象訪問協議),是一個用于分散和分布式環境下網絡信息交換的基于XML的通信協議.它的設計目標就是簡單性和擴展性,這有助于大量異構程序和平臺之間的互操作性,從而使存在的應用程序能夠被廣泛的用戶訪問.由于數據采用文本格式,調試方便,容易穿越防火墻.

(4) WSDL(描述語言),是基于XML的用來描述功能的一種語法.

(5) UDDI(Universal Description, Discovery, and Integration, 統一描述、發現和集成),基于XML創建的一個平臺獨立, 開放的框架,通過Internet來描述服務,發現服務,并且整合服務.

2.2 Web Service 調用本質

現在很多語言工具都支持開發,如VS.Net、J2EE、JBuilder等,而且很多語言工具是跨平臺(Windows、Linux等)的.這些開發工具都有專門的開發包或者類庫,可以方便的實現Web Service的定義和調用,本文主要研究單片機系統中實現Web Service的調用方法.

調用Web Service本質上就是程序客戶端和Web Service服務器端的信息交互,且有專門的信息格式.在ASP.net中提供了三種交互端口(協議):SOAP、HTTP-GET和HTTP-POST[7].在這三種協議中,SOAP是XML Web Service最常用到的.與HTTP相比,SOAP顯的更為復雜,但卻擁有更強的接受能力.SOAP是一種以XML為基礎的協議,它提供一種將數據打包和編碼的方法,以用于網絡的數據傳輸.任意一個用戶都可以使用SOAP協議與任何一個Web Service進行通信,甚至于說這個XML Web Service不是建立在ASP.NET 平臺上的,比如說Java的,都可以利用SOAP來進行數據傳輸.因此SOAP是語言獨立的. HTTP將SOAP 消息封裝,然后以它的形式進行網絡傳輸. HTTP-GET和HTTP-POST這兩種方法傳送參數和數據的能力比較簡單,非常適合不能使用SOAP的客戶來調用Web Service的情況. HTTP-GET和HTTP-POST方式與SOAP相比有如下特性:

優點:(1)HTTP方式不需要復雜的XML消息處理,適合不支持XML的平臺使用;(2)HTTP方式在交互時候不需要添加額外的標簽,減少了交互的數據量和開銷,有利于提高整體性能.

缺點:(1)不能調用具有復雜數據類型參數的Web Service;(2)如果調用返回復雜數據類型時處理不方便;(3)不能把類和結構序列化為XML消息;(4)不能使用引用方式傳遞參數.

結合單片機系統調用Web Service的實際需要以及考慮到單片機的處理能力低,不支持XML,不適合復雜的數據處理,開發效率低等問題,認為使用HTTP方式比較合適,本文中將以HTTP-POST為例介紹其調用Web Service的實現方法.

2.3 實現單片機系統中調用Web Service的核心技術

(1)基于實現HTTP

在嵌入式系統(WinCE、Linux等)中,可以基于其自帶的TCP/IP協議棧實現HTTP或者直接使用嵌入式Web服務器[1~5]來使用HTTP協議,在計算機系統中則可以在高級語言中直接調用Web客戶端使用HTTP協議或者利用SOCKET網絡編程實現基于HTTP的數據交互,實現都比較簡單,但在單片機系統中,其自身并沒有TCP/IP協議棧,因此基于在單片機系統中實現HTTP.

要實現HTTP協議 ,必須以TCP/IP協議棧為基礎,利用即可方便的實現TCP/IP協議棧的功能.如圖1所示,下位機和儀表設備通過485總線連接,下位機利用單片機開發,采用主從方式和設備儀表通信采集數據.采集到的數據再通過總線發送給嵌入式網絡模塊,模塊收到串行數據,利用內嵌的TCP/IP協議棧實現串行數據到以太網數據的轉換,嵌入式網絡模塊通過網線連接至工業以太網.該方法中,下位機是實現HTTP應用層協議的關鍵,只要下位機發出的數據包符合HTTP協議,經嵌入式網絡模塊轉化,變成可由Web服務器處理的合法HTTP-POST請求包,則可利用Web Service實現數據的處理和保存,也就實現了單片機系統調用Web Service.


上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉