孫建偉,鄒慧麗,2,于碧輝
1(中國科學(xué)院 沈陽計(jì)算技術(shù)研究所,沈陽 110168)
2(中國科學(xué)院大學(xué),北京 100049)
物聯(lián)網(wǎng)(Internet of things)顧名思義就是把實(shí)物與互聯(lián)網(wǎng)連接在一起進(jìn)行信息交換和通信,物聯(lián)網(wǎng)的應(yīng)用目標(biāo)就是把IT技術(shù)充分運(yùn)用到各行各業(yè)中,實(shí)現(xiàn)任何時(shí)間、任何人、任何地點(diǎn)、任何事物充分互聯(lián)[1,2].
在農(nóng)業(yè)生產(chǎn),工業(yè)物聯(lián)網(wǎng)等方面?zhèn)鹘y(tǒng)的原位采樣和測試方法會(huì)帶來數(shù)據(jù)滯后和誤差等后果[3].
對于燃?xì)夤緦⑦h(yuǎn)程采集的燃?xì)獗頂?shù)據(jù)和數(shù)據(jù)信息管理功能集成到燃?xì)夤驹械挠?jì)費(fèi)管理系統(tǒng)中,實(shí)現(xiàn)遠(yuǎn)程抄表的智能性,將成為燃?xì)夤镜闹匾l(fā)展方向.本文以燃?xì)夤具h(yuǎn)程抄表的背景,設(shè)計(jì)了一種基于CoAP架構(gòu)的智能燃?xì)獗頂?shù)據(jù)管理系統(tǒng),并集成數(shù)據(jù)處理模塊,用戶通過使用瀏覽器實(shí)現(xiàn)對設(shè)備數(shù)據(jù)的遠(yuǎn)程查看、存儲,同時(shí)對物聯(lián)網(wǎng)智能設(shè)備的運(yùn)行狀況進(jìn)行在線管理和智能控制.
本文首先介紹了CoAP協(xié)議和SOA框架,然后介紹了兩種現(xiàn)有的信息系統(tǒng)和采集設(shè)備的集成方案,然后提出了一種基于CoAP協(xié)議的嵌入式RESTful Web Service集成方案,最后并合了實(shí)驗(yàn)室的智能燃?xì)獗頂?shù)據(jù)管理系統(tǒng)項(xiàng)目,驗(yàn)證和對比了該方案的可行性和優(yōu)越性.
HTTP 協(xié)議是一個(gè)典型的符合REST準(zhǔn)則的協(xié)議.在資源受限的傳感器網(wǎng)絡(luò)中,HTTP過于復(fù)雜,開銷過大,因此也需要設(shè)計(jì)一種符合 REST 準(zhǔn)則的協(xié)議,這就是 CoRE 工作組制訂的 CoAP 協(xié)議[4,5].CoAP[6]協(xié)議(Constrained Application Protocol)是資源受限的設(shè)備的互聯(lián)網(wǎng)應(yīng)用層協(xié)議.
CoAP協(xié)議請求和響應(yīng)的語法通過消息承載[7,8].同時(shí)CoAP協(xié)議提供觀察者機(jī)制,CoAP服務(wù)器負(fù)責(zé)資源的發(fā)布,CoAP客戶端對自身感興趣的資源發(fā)起訂閱,CoAP服務(wù)器通過響應(yīng)返回資源的當(dāng)前狀態(tài).
SOA是一種松散耦合的軟件體系結(jié)構(gòu),在這種體系結(jié)構(gòu)中,由各自獨(dú)立可重用的服務(wù)去構(gòu)成系統(tǒng)功能.基于SOA架構(gòu)的Web Service目前廣泛運(yùn)用于企業(yè)信息系統(tǒng)的設(shè)計(jì)中[9,10].
目前,將SOA架構(gòu)企業(yè)信息系統(tǒng)與底層傳感器網(wǎng)絡(luò)集成的方法主要有兩種.(1)通過網(wǎng)關(guān)代理介入信息系統(tǒng);(2)在底層傳感器設(shè)備中嵌入Web Service系統(tǒng).這兩種方案架構(gòu)如圖1所示.

圖1 網(wǎng)關(guān)代理方案和嵌入式系統(tǒng)方案
網(wǎng)關(guān)代理方案,是指將無線傳感器網(wǎng)絡(luò)通過網(wǎng)關(guān)連接到已有信息系統(tǒng)中.網(wǎng)關(guān)將HTTP等協(xié)議和傳感器網(wǎng)絡(luò)協(xié)議做轉(zhuǎn)換.該方案上層信息系統(tǒng)不需要做修改,實(shí)施難度低,但是該方案協(xié)議的轉(zhuǎn)換增加了網(wǎng)關(guān)實(shí)現(xiàn)的復(fù)雜程度;由于存在協(xié)議轉(zhuǎn)化,也會(huì)對通信效率產(chǎn)生一定影響.
嵌入式系統(tǒng)方案,是指將底層傳感器設(shè)備的數(shù)據(jù)和服務(wù)依照Web Service標(biāo)準(zhǔn)加入到信息系統(tǒng)中,在嵌入式設(shè)備上實(shí)現(xiàn)完整的Web Service.該方案靈活性高.但是該方案對于傳感器設(shè)備要求較高,需要傳感器模塊具有較強(qiáng)的數(shù)據(jù)處理能力.
本文提出了一種基于CoAP協(xié)議的嵌入式REST Web Services方案用于集成傳感器設(shè)備和信息系統(tǒng).該方案同時(shí)使用網(wǎng)關(guān)代理和嵌入式Web Service系統(tǒng).傳感器設(shè)備提供面向通信網(wǎng)關(guān)的RESTful Web Service,使用CoAP協(xié)議作為通信網(wǎng)關(guān)和傳感器設(shè)備的傳輸協(xié)議.通信網(wǎng)關(guān)提供面向云服務(wù)器的RESTful Web Service,使用HTTP協(xié)議作為通信網(wǎng)關(guān)和云服務(wù)器的通信協(xié)議.通過網(wǎng)關(guān)代理實(shí)現(xiàn)CoAP命令和HTTP命令的轉(zhuǎn)換.
本方案中通信網(wǎng)關(guān)僅僅對HTTP命令和CoAP命令進(jìn)行轉(zhuǎn)化,相比于網(wǎng)關(guān)代理的方案,本方案通信網(wǎng)關(guān)的實(shí)施難度較低,而且通信網(wǎng)關(guān)的效率也會(huì)有所提升;本方案利用通信網(wǎng)關(guān)來減輕嵌入式設(shè)備系統(tǒng)的壓力,從而減小了嵌入式設(shè)備系統(tǒng)對硬件的要求,從而降低了系統(tǒng)的成本;所以本方案在一定程度上回避了前兩種方案的缺點(diǎn).
基于本文提出的方案,本文設(shè)計(jì)了一種基于CoAP的智能燃?xì)鈹?shù)據(jù)管理系統(tǒng).本系統(tǒng)總體架構(gòu)如圖2所示.本系統(tǒng)由傳感器網(wǎng)絡(luò)、通信網(wǎng)關(guān)、云服務(wù)器三個(gè)模塊組成.
在企業(yè)級信息系統(tǒng)常用的SOA架構(gòu)有基于SOAP的Web Services技術(shù)和RESTful Web Services.基于 SOAP 的 Web Services 采用 SOAP /XML 來封裝消息.但由于資源約束類設(shè)備的處理能力有限,并不能高效處理SOAP /XML.RESTful Web Services的主要特點(diǎn)包括:
(1)將服務(wù)器端 的一切數(shù)據(jù)都抽象成資源,并使用URI 標(biāo)識.
(2)采用 HTTP、CoAP 等標(biāo)準(zhǔn)協(xié)議進(jìn)行傳輸.
(3)在數(shù)據(jù)的封裝格式上,RESTful Web Services包括 XML、JSON等多種格式.

圖2 系統(tǒng)總體架構(gòu)
總的來說 RESTful Web Services 是比基于SOAP的Web Services 更輕量級、更有靈活.所以該方案中通信網(wǎng)關(guān)和傳感器網(wǎng)絡(luò)均使用RESTful Web Service.
3.1.1 通信網(wǎng)關(guān)提供的HTTP RESTful API設(shè)計(jì)
傳感器網(wǎng)絡(luò)對云端服務(wù)器透明,因?yàn)樵贫朔?wù)器的請求都由通信網(wǎng)關(guān)層處理.通信網(wǎng)關(guān)和云端服務(wù)器的部分HTTP RESTful API設(shè)計(jì)如表1所示.
3.1.2 傳感器網(wǎng)絡(luò)提供的CoAP RESTful API設(shè)計(jì)
通信網(wǎng)關(guān)作為一個(gè)CoAP客戶端與傳感器網(wǎng)絡(luò)通信.通信網(wǎng)關(guān)與傳感器網(wǎng)絡(luò)的部分CoAP RESTful API設(shè)計(jì)如表2所示.

表1 通信網(wǎng)關(guān)提供的部分HTTP API

表2 通信網(wǎng)關(guān)提供的部分CoAP API
當(dāng)傳感器網(wǎng)絡(luò)中的RESTful Web Service啟動(dòng)后,會(huì)在UDP的5683端口進(jìn)行監(jiān)聽CoAP的GET和DELETE請求,當(dāng)傳感器網(wǎng)絡(luò)收到通信網(wǎng)關(guān)的請求后,首先會(huì)檢查URI是否符合RESTful路徑規(guī)則,如果符合則調(diào)用底層設(shè)備服務(wù)API獲取設(shè)備數(shù)據(jù),然后將數(shù)據(jù)封裝成JSON格式加入到CoAP響應(yīng)包中返回給調(diào)用者.通信網(wǎng)關(guān)拿到CoAP響應(yīng)包之后,拿到JSON數(shù)據(jù)封裝成HTTP包響應(yīng)給云服務(wù)器.CoAP協(xié)議具體使用C語言實(shí)現(xiàn)的LibCoAP.實(shí)現(xiàn)過程如圖3所示.

圖3 實(shí)現(xiàn)過程
本系統(tǒng)用戶可以通過瀏覽器對氣表數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)控.首先瀏覽器向云端服務(wù)器請求傳感器數(shù)據(jù)或者管理相應(yīng)的監(jiān)測參數(shù).然后云端服務(wù)器接受瀏覽器請求后,調(diào)用通信網(wǎng)關(guān)提供的HTTP RESTful API,通信網(wǎng)關(guān)將HTTP RESTful API映射成CoAP API,然后請求傳感器網(wǎng)絡(luò),傳感器網(wǎng)絡(luò)返回給通信網(wǎng)關(guān)CoAP包,傳感器網(wǎng)絡(luò)做CoAP包和HTTP包轉(zhuǎn)化后發(fā)送HTTP包給云服務(wù)器,最后云端服務(wù)器將JSON數(shù)據(jù)做UI渲染并返回給瀏覽器.體的瀏覽器訪問傳感器網(wǎng)絡(luò)的工作時(shí)序圖如圖4所示.

圖4 工作時(shí)序圖
本文實(shí)現(xiàn)了基于CoAP協(xié)議的嵌入式RESTful Web Service方案實(shí)現(xiàn)了智能燃?xì)鈹?shù)據(jù)管理系統(tǒng).具體可應(yīng)用在燃?xì)夤緮?shù)據(jù)智能管理方面,實(shí)現(xiàn)燃?xì)鈹?shù)據(jù)實(shí)時(shí)自動(dòng)采集、燃?xì)獗淼倪h(yuǎn)程管理等功能.基于以上背景,對該系統(tǒng)進(jìn)行了開發(fā)和搭建,系統(tǒng)各部分部署如下:
傳感器網(wǎng)絡(luò):以傳統(tǒng)的膜式燃?xì)獗頌榛?加裝STM8L052R8為處理器且內(nèi)置光電直讀器和型號為BC95的NB模塊.
云端服務(wù)器:云端服務(wù)器用于開發(fā)智能燃?xì)鈹?shù)據(jù)管理系統(tǒng)的業(yè)務(wù)邏輯,使用阿里云進(jìn)行部署在阿里云.
系統(tǒng)運(yùn)行后可視化的顯示智能燃?xì)獗淼臄?shù)據(jù)如圖5所示.通過抓包工具抓取傳感器網(wǎng)絡(luò)響應(yīng)給通信網(wǎng)關(guān)的CoAP協(xié)議包如圖6所示.針對通信網(wǎng)關(guān)提供的HTTP RESTful API做測試如表3所示.

圖5 智能燃?xì)獗淼臄?shù)據(jù)

圖6 CoAP數(shù)據(jù)包

表3 針對通信網(wǎng)關(guān)的性能測試
通過實(shí)驗(yàn)測試并和前兩種方案比對得出,隨著單位時(shí)間內(nèi)請求數(shù)量的增多,本方案通信網(wǎng)關(guān)的成功率會(huì)逐漸高于網(wǎng)關(guān)代理方案的成功率;相對于嵌入式系統(tǒng)方案,本方案對硬件部分要求較低,在實(shí)際應(yīng)用中本方案更加經(jīng)濟(jì),更加適合于大規(guī)模的企業(yè)智能設(shè)備的數(shù)據(jù)管理.
本文分析了CoAP協(xié)議和SOA框架,分析了現(xiàn)有信息系統(tǒng)和采集設(shè)備集成的方案,然后提出了一種基于CoAP協(xié)議的嵌入式RESTful Web Service集成方案,最后實(shí)現(xiàn)了一種基于CoAP的智能燃?xì)鈹?shù)據(jù)管理系統(tǒng),重點(diǎn)基于輕量性的CoAP協(xié)議和能簡化調(diào)用流程的RESTful框架設(shè)計(jì)了本系統(tǒng)的通信網(wǎng)關(guān)和傳感器網(wǎng)絡(luò).最后在燃?xì)夤局悄苋細(xì)獗頂?shù)據(jù)管理的背景下,根據(jù)本文提出的混合型方案,搭建系統(tǒng),實(shí)現(xiàn)智能燃?xì)鈹?shù)據(jù)的管理.實(shí)驗(yàn)結(jié)果表明,該方案可行性,具有擴(kuò)展性強(qiáng),系統(tǒng)開銷小,運(yùn)行效率高等特點(diǎn).
盡管本文驗(yàn)證了基于CoAP協(xié)議的嵌入式RESTful Web Service集成方案的可行性和優(yōu)越性.但是考慮到本系統(tǒng)在市場中的實(shí)際使用,還需要進(jìn)一步驗(yàn)證通信網(wǎng)關(guān)的功率消耗方面的問題.