機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
單片機(jī)系統(tǒng)的嵌入式網(wǎng)絡(luò)模塊實(shí)現(xiàn)Web Service調(diào)用方法
單片機(jī)系統(tǒng)的嵌入式網(wǎng)絡(luò)模塊實(shí)現(xiàn)Web Service調(diào)用方法
 更新時(shí)間:2008-8-3 16:03:17  點(diǎn)擊數(shù):6
【字體: 字體顏色


    


Research of Calling Web Service in SCM System


摘要:本文介紹了一種在單片機(jī)系統(tǒng)中利用嵌入式網(wǎng)絡(luò)模塊實(shí)現(xiàn)Web Service調(diào)用的方法,利用嵌入式網(wǎng)絡(luò)模塊實(shí)現(xiàn)串口到以太網(wǎng)數(shù)據(jù)的轉(zhuǎn)換,將串行數(shù)據(jù)封裝成Web Service請(qǐng)求包.它簡(jiǎn)化了下位機(jī)和上位機(jī)的通信協(xié)議,可方便的集成已有數(shù)據(jù)采集系統(tǒng)。該方法可以實(shí)現(xiàn)基于工業(yè)以太網(wǎng)的分布式數(shù)據(jù)采集,也可容易地?cái)U(kuò)展為基于Internet的遠(yuǎn)程數(shù)據(jù)采集方案.
關(guān)鍵詞:?jiǎn)纹瑱C(jī);嵌入式網(wǎng)絡(luò)模塊;Web服務(wù);數(shù)據(jù)采集;因特網(wǎng)
 
Abstract: A method of calling Web Services in SCM systems is introduced in this paper. Embedded network module is employed to transform the serial port data into Ethernet data and then encapsulate it into web services requests. The method simplifies the communication protocol between slave computer and host computer and can easily integrate with existing acquisition systems. It can be used to accomplish data acquisition on Ethernet and also can be extended into a remote data acquisition scheme on Internet.
Key Words: SCM; Embedded Network Module; Web Service; data acquisition; Internet
1 前言
Web Service作為一種有著強(qiáng)大功能的可互操作性和擴(kuò)展性的新技術(shù),被越來越多用于異構(gòu)數(shù)據(jù)的集成,自然想到將其應(yīng)用于工業(yè)數(shù)據(jù)采集系統(tǒng)的異構(gòu)數(shù)據(jù)的集成.本文介紹了一種在單片機(jī)系統(tǒng)中調(diào)用Web Service實(shí)現(xiàn)主動(dòng)提交數(shù)據(jù)的方法,方便了數(shù)據(jù)采集系統(tǒng)的集成.在傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)中,可以利用單片機(jī)系統(tǒng)用串口方式采集儀表數(shù)據(jù),通過串行總線將數(shù)據(jù)提交給上位計(jì)算機(jī),通過預(yù)先設(shè)計(jì)的通信協(xié)議與上位采集服務(wù)器通信,集成采集的數(shù)據(jù).當(dāng)需要增加下位機(jī)采集模塊時(shí)需要擴(kuò)展對(duì)應(yīng)的上位機(jī)采集口,采集系統(tǒng)的升級(jí)和維護(hù)都非常麻煩.在單片機(jī)系統(tǒng)中通過調(diào)用采集服務(wù)器端的Web Service和上位機(jī)交互數(shù)據(jù),可以簡(jiǎn)化下位機(jī)和上位機(jī)的通信,把主要工作放在下位單片機(jī)系統(tǒng)如何和儀表通信采集數(shù)據(jù)上, 基于該方法可以方便的構(gòu)建基于工業(yè)以太網(wǎng)的分布式數(shù)據(jù)采集方案.該方案還可以方便的集成已經(jīng)存在的數(shù)據(jù)采集系統(tǒng),方便單片機(jī)系統(tǒng)的升級(jí),比如可以把利用單片機(jī)實(shí)現(xiàn)的采集系統(tǒng)很容易的改為PLC采集系統(tǒng)或直接PC采集數(shù)據(jù)模式,而只需升級(jí)后的系統(tǒng)調(diào)用同樣的Web Service交互數(shù)據(jù)即可.由于Web Service調(diào)用使用HTTP協(xié)議交互數(shù)據(jù),該方案還可以方便的擴(kuò)展為支持Internet的遠(yuǎn)程數(shù)據(jù)采集.
2 單片機(jī)系統(tǒng)中調(diào)用Web Service的實(shí)現(xiàn)
2.1 Web Service技術(shù)[7,9,10]
Web Service是能夠通過Web協(xié)議來訪問的可編程應(yīng)用程序組件, 使原來孤立的站點(diǎn)之間的信息能夠相互通信、共享.Web Service所使用的是Internet上統(tǒng)一、開放的標(biāo)準(zhǔn),如HTTP、XML、SOAP、WSDL、UDDI等,所以Web Service可以在任何支持這些標(biāo)準(zhǔn)的環(huán)境(Windows、Linux等)中使用.Web Service本質(zhì)其實(shí)不是一種新技術(shù),前面提到其使用了Internet標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)便是Web Service的核心技術(shù).
(1) HTTP是一種基于TCP實(shí)現(xiàn)的應(yīng)用層協(xié)議,它是因特網(wǎng)可靠的交換數(shù)據(jù)的重要基礎(chǔ).HTTP為Web Service請(qǐng)求與響應(yīng)提供了傳輸層,HTTP使得任何設(shè)備和平臺(tái)都可以訪問Web Service.
(2) XML(Extensible Markup Language,可擴(kuò)展標(biāo)記語言),是一套規(guī)范,允許編程人員自行定義如HTML般的標(biāo)注,以方便數(shù)據(jù)存取和處理、交換、轉(zhuǎn)換等,主要特點(diǎn)是使用有意義的標(biāo)記,這個(gè)特性使計(jì)算機(jī)可以理解數(shù)據(jù)含義.XML可以在任何系統(tǒng)、應(yīng)用程序、任何平臺(tái)上運(yùn)行,數(shù)據(jù)傳輸以Internet為基礎(chǔ),傳輸費(fèi)用便宜.
(3) SOAP協(xié)議(Simple Object Access Protocol,簡(jiǎn)單對(duì)象訪問協(xié)議),是一個(gè)用于分散和分布式環(huán)境下網(wǎng)絡(luò)信息交換的基于XML的通信協(xié)議.它的設(shè)計(jì)目標(biāo)就是簡(jiǎn)單性和擴(kuò)展性,這有助于大量異構(gòu)程序和平臺(tái)之間的互操作性,從而使存在的應(yīng)用程序能夠被廣泛的用戶訪問.由于數(shù)據(jù)采用文本格式,調(diào)試方便,容易穿越防火墻.
(4) WSDL(Web服務(wù)描述語言),是基于XML的用來描述Web服務(wù)功能的一種語法.
(5) UDDI(Universal Description, Discovery, and Integration, 統(tǒng)一描述、發(fā)現(xiàn)和集成),基于XML創(chuàng)建的一個(gè)平臺(tái)獨(dú)立, 開放的框架,通過Internet來描述服務(wù),發(fā)現(xiàn)服務(wù),并且整合服務(wù).
2.2 Web Service 調(diào)用本質(zhì)
現(xiàn)在很多語言工具都支持Web服務(wù)開發(fā),如VS.Net、J2EE、JBuilder等,而且很多語言工具是跨平臺(tái)(Windows、Linux等)的.這些開發(fā)工具都有專門的開發(fā)包或者類庫(kù),可以方便的實(shí)現(xiàn)Web Service的定義和調(diào)用,本文主要研究單片機(jī)系統(tǒng)中實(shí)現(xiàn)Web Service的調(diào)用方法.
調(diào)用Web Service本質(zhì)上就是程序客戶端和Web Service服務(wù)器端的信息交互,且有專門的信息格式.在ASP.net中提供了三種交互端口(協(xié)議):SOAP、HTTP-GET和HTTP-POST[7].在這三種協(xié)議中,SOAP是XML Web Service最常用到的.與HTTP相比,SOAP顯的更為復(fù)雜,但卻擁有更強(qiáng)的接受能力.SOAP是一種以XML為基礎(chǔ)的協(xié)議,它提供一種將數(shù)據(jù)打包和編碼的方法,以用于網(wǎng)絡(luò)的數(shù)據(jù)傳輸.任意一個(gè)用戶都可以使用SOAP協(xié)議與任何一個(gè)Web Service進(jìn)行通信,甚至于說這個(gè)XML Web Service不是建立在ASP.NET 平臺(tái)上的,比如說Java的,都可以利用SOAP來進(jìn)行數(shù)據(jù)傳輸.因此SOAP是語言獨(dú)立的. HTTP將SOAP 消息封裝,然后以它的形式進(jìn)行網(wǎng)絡(luò)傳輸. HTTP-GET和HTTP-POST這兩種方法傳送參數(shù)和數(shù)據(jù)的能力比較簡(jiǎn)單,非常適合不能使用SOAP的客戶來調(diào)用Web Service的情況. HTTP-GET和HTTP-POST方式與SOAP相比有如下特性:
優(yōu)點(diǎn):(1)HTTP方式不需要復(fù)雜的XML消息處理,適合不支持XML的平臺(tái)使用;(2)HTTP方式在交互時(shí)候不需要添加額外的標(biāo)簽,減少了交互的數(shù)據(jù)量和開銷,有利于提高整體性能.
缺點(diǎn):(1)不能調(diào)用具有復(fù)雜數(shù)據(jù)類型參數(shù)的Web Service;(2)如果調(diào)用返回復(fù)雜數(shù)據(jù)類型時(shí)處理不方便;(3)不能把類和結(jié)構(gòu)序列化為XML消息;(4)不能使用引用方式傳遞參數(shù).
結(jié)合單片機(jī)系統(tǒng)調(diào)用Web Service的實(shí)際需要以及考慮到單片機(jī)的處理能力低,不支持XML,不適合復(fù)雜的數(shù)據(jù)處理,開發(fā)效率低等問題,認(rèn)為使用HTTP方式比較合適,本文中將以HTTP-POST為例介紹其調(diào)用Web Service的實(shí)現(xiàn)方法.
2.3 實(shí)現(xiàn)單片機(jī)系統(tǒng)中調(diào)用Web Service的核心技術(shù)
(1)基于嵌入式網(wǎng)絡(luò)模塊實(shí)現(xiàn)HTTP
在嵌入式系統(tǒng)(WinCE、Linux等)中,可以基于其自帶的TCP/IP協(xié)議棧實(shí)現(xiàn)HTTP或者直接使用嵌入式Web服務(wù)器[1~5]來使用HTTP協(xié)議,在計(jì)算機(jī)系統(tǒng)中則可以在高級(jí)語言中直接調(diào)用Web客戶端使用HTTP協(xié)議或者利用SOCKET網(wǎng)絡(luò)編程實(shí)現(xiàn)基于HTTP的數(shù)據(jù)交互,實(shí)現(xiàn)都比較簡(jiǎn)單,但在單片機(jī)系統(tǒng)中,其自身并沒有TCP/IP協(xié)議棧,因此基于嵌入式網(wǎng)絡(luò)模塊在單片機(jī)系統(tǒng)中實(shí)現(xiàn)HTTP.
要實(shí)現(xiàn)HTTP協(xié)議 ,必須以TCP/IP協(xié)議棧為基礎(chǔ),利用嵌入式網(wǎng)絡(luò)模塊即可方便的實(shí)現(xiàn)TCP/IP協(xié)議棧的功能.如圖1所示,下位機(jī)和儀表設(shè)備通過485總線連接,下位機(jī)利用單片機(jī)開發(fā),采用主從方式和設(shè)備儀表通信采集數(shù)據(jù).采集到的數(shù)據(jù)再通過總線發(fā)送給嵌入式網(wǎng)絡(luò)模塊,模塊收到串行數(shù)據(jù),利用內(nèi)嵌的TCP/IP協(xié)議棧實(shí)現(xiàn)串行數(shù)據(jù)到以太網(wǎng)數(shù)據(jù)的轉(zhuǎn)換,嵌入式網(wǎng)絡(luò)模塊通過網(wǎng)線連接至工業(yè)以太網(wǎng).該方法中,下位機(jī)是實(shí)現(xiàn)HTTP應(yīng)用層協(xié)議的關(guān)鍵,只要下位機(jī)發(fā)出的數(shù)據(jù)包符合HTTP協(xié)議,經(jīng)嵌入式網(wǎng)絡(luò)模塊轉(zhuǎn)化,變成可由Web服務(wù)器處理的合法HTTP-POST請(qǐng)求包,則可利用Web Service實(shí)現(xiàn)數(shù)據(jù)的處理和保存,也就實(shí)現(xiàn)了單片機(jī)系統(tǒng)調(diào)用Web Service.



圖1 單片機(jī)系統(tǒng)結(jié)構(gòu)
實(shí)驗(yàn)中選用了廣州周立功單片機(jī)發(fā)展有限公司開發(fā)的一款嵌入式網(wǎng)絡(luò)模塊ZNE-100T,它內(nèi)部集成了TCP/IP 協(xié)議棧,利用它可以輕松完成嵌入式設(shè)備的網(wǎng)絡(luò)功能,另外為了測(cè)試方便直接使用了ZNE-100T的評(píng)估板.通過周立功公司提供的配置軟件可以設(shè)置網(wǎng)絡(luò)模塊的參數(shù),包括IP地址、子網(wǎng)掩碼、網(wǎng)關(guān)、串口的波特率、端口工作模式、目標(biāo)IP 地址和目標(biāo)端口等,特別說明的是端口工作模式,由于HTTP協(xié)議是基于TCP的,所以實(shí)驗(yàn)中模式設(shè)為TCP Client模式,目標(biāo)端口默認(rèn)設(shè)置為80.


[1] [2]  下一頁(yè)



  • 上一篇: 基于Matlab環(huán)境下小型溫度檢測(cè)系統(tǒng)的設(shè)計(jì)
  • 下一篇: 基于MSC1211單片機(jī)在黑體式光電高溫計(jì)中的應(yīng)用
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1