《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Web服務(wù)的物聯(lián)接入系統(tǒng)設(shè)計
基于Web服務(wù)的物聯(lián)接入系統(tǒng)設(shè)計
2015年電子技術(shù)應(yīng)用第7期
于洪波1,,2,,3,劉鴻飛1,,2,,3,方麗英1,,2,,3,陳道新4,,王 普1,,2,3
1.北京工業(yè)大學(xué) 電子信息與控制工程學(xué)院,,北京100124,; 2.數(shù)字社區(qū)教育部工程研究中心,北京100124,; 3.城市軌道交通北京實驗室,,北京100124; 4.首都信息發(fā)展股份有限公司,,北京100029
摘要: 由于物聯(lián)網(wǎng)接入設(shè)備與應(yīng)用業(yè)務(wù)的多元性與復(fù)雜性的增加,,實際物聯(lián)網(wǎng)業(yè)務(wù)開發(fā)中需要對業(yè)務(wù)與設(shè)備做協(xié)同處理。針對此類問題,,提出一種面向服務(wù)的模型架構(gòu),,并據(jù)此以Web服務(wù)模式觸發(fā)各類物聯(lián)接入設(shè)備信息的消息管道流程,,并在基礎(chǔ)性接入信息處理過程中解決不必要的異構(gòu)問題?;贗ntel復(fù)雜指令集的嵌入式開發(fā)環(huán)境,,利用多種語言協(xié)作設(shè)計實現(xiàn)一個物聯(lián)接入系統(tǒng)。經(jīng)實測可順利完成應(yīng)用層直接操控感知層的業(yè)務(wù)功能,。
中圖分類號: TP311
文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.07.009
中文引用格式: 于洪波,,劉鴻飛,方麗英,,等. 基于Web服務(wù)的物聯(lián)接入系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,,2015,41(7):33-36,,43.
英文引用格式: Yu Hongbo,,Liu Hongfei,F(xiàn)ang Liying,,et al. Design of Internet of Things access system based on Web services[J].Application of Electronic Technique,,2015,41(7):33-36,,43.
Design of Internet of Things access system based on Web services
Yu Hongbo1,,2,3,,Liu Hongfei1,,2,3,,F(xiàn)ang Liying1,,2,3,,Chen Daoxin4,,Wang Pu1,2,,3
1.College of Electronic and Control Engineering,,Beijing University of Technology,Beijing 100124,,China,; 2.Engineering Research Center of Digital Community,Ministry of Education,,Beijing 100124,,China; 3.Beijing Laboratory for Urban Mass Transit,Beijing 100124,,China,; 4.Capinfo Company Ltd,Beijing 100029,,China
Abstract: Due to the increasing of access devices and application businesses of Internet of Things(IoT), IoT application development needs to coordinate between businesses and devices. Aiming to this problems, this paper proposes an architecture about Service-Oriented model, and through Web service model prompts the message pipeline processes of IoT access devices information operation. On this basis, the problems of heterogeneity can be solved via basis access information dealing process. Based on Intel CISC embedded development environment, an IoT access system is designed and implemented on multiple programming languages. Through the actual test, the system can accomplish the business function of the direct manage and control from application layer to sensing layer.
Key words : service-oriented,;message pipeline;heterogeneous processing

    

0 引言

    多元感知設(shè)備隨傳感器技術(shù)的發(fā)展逐漸推動物聯(lián)網(wǎng)(Internet of Things,,IoT)產(chǎn)業(yè)的發(fā)展,,并已正式被列為國家五大新興戰(zhàn)略產(chǎn)業(yè)之一。物聯(lián)網(wǎng)是嵌入式系統(tǒng),、網(wǎng)絡(luò)和控制系統(tǒng)的集成,由計算系統(tǒng)和執(zhí)行器的嵌入式系統(tǒng)等異構(gòu)系統(tǒng)組成,。隨著非標(biāo)準(zhǔn)化感知設(shè)備在物聯(lián)網(wǎng)應(yīng)用中的大規(guī)模接入,,多元通信協(xié)議、異構(gòu)設(shè)備信息,、復(fù)雜節(jié)點管理等異構(gòu)問題成為物聯(lián)網(wǎng)應(yīng)用中的挑戰(zhàn),,應(yīng)用開發(fā)者不僅需要關(guān)注用戶的需求業(yè)務(wù),也需要以模型化方式處理底層的基礎(chǔ)化數(shù)據(jù)[1-2],。國內(nèi)外對這種碎片化異構(gòu)接入問題的研究主要側(cè)重于針對具體的物聯(lián)網(wǎng)相關(guān)技術(shù)來進行底層數(shù)據(jù)采集與融合,,如采用中間件技術(shù)利用融合器消除針對ZigBee和RFID的異構(gòu)接入問題[3]。但是目前針對平臺化業(yè)務(wù)擴展以及融合互聯(lián)網(wǎng)業(yè)務(wù)的物聯(lián)接入系統(tǒng)的相關(guān)研究較少,,也沒有統(tǒng)一的碎片化異構(gòu)處理模型,。本文提出一種基于Web服務(wù)的物聯(lián)接入系統(tǒng)的設(shè)計模式,該系統(tǒng)在物聯(lián)網(wǎng)技術(shù)的客戶端服務(wù)器(Client/Server,,C/S)架構(gòu)的基礎(chǔ)上,,將單一化基礎(chǔ)操作業(yè)務(wù)進行面向服務(wù)架構(gòu)(Service-Oriented Architecture,SOA)建模,,再利用Web技術(shù)進行模型化服務(wù)的實現(xiàn),。整個系統(tǒng)封裝整套感知設(shè)備物聯(lián)接入流程與基礎(chǔ)數(shù)據(jù)處理,實現(xiàn)應(yīng)用業(yè)務(wù)與感知設(shè)備之間的無縫交互,。

1 物聯(lián)接入系統(tǒng)模型

    物聯(lián)網(wǎng)系統(tǒng)為三層架構(gòu),,包括感知層、網(wǎng)絡(luò)層和應(yīng)用層[4],,本文基于Intel ATOM處理器和Fedora操作系統(tǒng),,以SOA模式,將程序運行流程建模為若干接入服務(wù)模型,。物聯(lián)接入系統(tǒng)將上下位機封裝在同一系統(tǒng)內(nèi)部,,將三層架構(gòu)業(yè)務(wù)貫通,通過USB、RS485等硬件接口及其協(xié)議直接獲取感知層的物理實體數(shù)據(jù),,通過核心處理模塊完成碎片化異構(gòu)數(shù)據(jù)的解析,,通過Web應(yīng)用接口聯(lián)通具體信息化業(yè)務(wù)。

1.1 面向服務(wù)模型

    傳統(tǒng)物聯(lián)網(wǎng)的接入系統(tǒng)針對單一業(yè)務(wù)的一種或一類設(shè)備進行針對性較強的閉環(huán)控制,,底層控制業(yè)務(wù)細節(jié)描述較多,,耦合度較高,不利于擴展應(yīng)用,。SOA架構(gòu)的引入可以將程序流程抽象為服務(wù)模型,,并實現(xiàn)物聯(lián)網(wǎng)業(yè)務(wù)松耦合,將具體的閉環(huán)控制流程轉(zhuǎn)換為粗粒度服務(wù)邏輯,,便于服務(wù)模型以組件形式進行代碼實現(xiàn)與部署[5],。引入SOA的物聯(lián)接入系統(tǒng)模型如圖1所示,模型擴寬單一業(yè)務(wù)的閉環(huán)控制系統(tǒng)為一種直接基于Web端服務(wù)配置的接入設(shè)備管控平臺,,在實際物聯(lián)接入系統(tǒng)中將通過HTTP協(xié)議請求的人機交互界面稱為上位機,,并作為服務(wù)提供者;將通過操控線程實際管理接入設(shè)備的接入控制器稱為下位機,,并作為服務(wù)消費者,。二者之間的交互業(yè)務(wù)為封裝在消息管道中的一系列服務(wù),該服務(wù)通過服務(wù)代理進行規(guī)約,,來面向不同的基礎(chǔ)操作,。服務(wù)代理以文本和數(shù)據(jù)表的形式存儲在數(shù)據(jù)庫服務(wù)器中,通過此種文件類協(xié)議對服務(wù)進行分發(fā)和約束,。在服務(wù)提供者,、服務(wù)消費者和服務(wù)代理之間的SOA模型構(gòu)建完成后,上位機可直接通過訂閱發(fā)布模式,,統(tǒng)一下發(fā)需求指令,,消息管道中的各類服務(wù)在協(xié)同完成操控接入設(shè)備任務(wù)后,將所需返回的統(tǒng)一化數(shù)據(jù)進行反饋,,完成這個接入基礎(chǔ)化操作流程,。接入設(shè)備的碎片化異構(gòu)問題通過各類服務(wù)按照代理規(guī)約的處理協(xié)議進行消除。

qrs6-t1.gif

1.2 硬件結(jié)構(gòu)模型

    物聯(lián)接入系統(tǒng)核心處理模塊采用Intel公司ATOM芯片作為核心處理器(CPU),,1 GB同步隨機存儲器(DDR SDRAM),,8 GB固態(tài)硬盤(SSD);外圍設(shè)備提供串行數(shù)據(jù)收發(fā)的USB接口,,支持界面開發(fā)調(diào)試的VGA接口,;網(wǎng)絡(luò)設(shè)備內(nèi)置網(wǎng)卡,并提供WLAN模塊和Ethernet以太網(wǎng)口,。CPU采用雙發(fā)射復(fù)雜指令集(CISC),,可處理規(guī)模較為龐大的工程,。系統(tǒng)移植Fedora Linux操作系統(tǒng),該操作系統(tǒng)安全性能高,,目錄結(jié)構(gòu)精簡,,并且適合多平臺開發(fā)操作。系統(tǒng)硬件結(jié)構(gòu)模型如圖2所示,??刂婆_、中央處理單元以及RS485總線接口和USB接口均集成在以ATOM中央處理單元為核心的植入Fedora操作系統(tǒng)的嵌入式控制設(shè)備上,??刂婆_與中央處理單元雖然在同一硬件系統(tǒng)之中,但是中央處理單元偏重于描述嵌入式系統(tǒng)對基礎(chǔ)信號與數(shù)據(jù)的基于CISC的運算處理,,而控制臺側(cè)重于描述在可視化界面下通過瀏覽器的人機交互接口以及SOA模型關(guān)于服務(wù)在消息管道中的交互流程,。由于Web服務(wù)可擴展性良好,因此可以通過HTTP協(xié)議從遠程PC端或其他嵌入式終端對本系統(tǒng)進行訪問,。對于底層感知設(shè)備,,支持RS485的總線型感知設(shè)備直接與RS485總線接口相連接,根據(jù)RS485通信幀格式進行交互,;支持ZigBee協(xié)議的感知設(shè)備可與ZigBee終端進行綁定,若干ZigBee終端借由通過協(xié)議棧構(gòu)建的自組網(wǎng)絡(luò)將無線感知設(shè)備的數(shù)據(jù)統(tǒng)一匯總到ZigBee協(xié)調(diào)器,,并通過協(xié)調(diào)器的USB接口傳輸?shù)奖鞠到y(tǒng),。

qrs6-t2.gif

2 物聯(lián)接入系統(tǒng)設(shè)計

    根據(jù)Web服務(wù)的物聯(lián)接入系統(tǒng)模型,分別設(shè)計SOA模型與系統(tǒng)上位機,、下位機及其交互過程的結(jié)構(gòu)流程,。設(shè)計基于RS485和ZigBee協(xié)議的接入流程,完成整體系統(tǒng)的軟硬件對接工作,。

2.1 SOA模型的組件設(shè)計

    如圖3所示,,Web服務(wù)根據(jù)具體應(yīng)用需求抽象為消息形式,通過統(tǒng)一化發(fā)布模式在SOA模型組件中下發(fā),,持久化在數(shù)據(jù)庫內(nèi)的配置數(shù)據(jù)以交互協(xié)議的身份對下發(fā)的消息進行規(guī)約,,規(guī)約過程通過修改原始信息幀格式以及添加狀態(tài)碼等方式,將統(tǒng)一的消息分割為相互獨立的服務(wù),,實現(xiàn)業(yè)務(wù)解耦過程,。獨立服務(wù)中嵌入執(zhí)行器描述性指令,在下發(fā)指令時向線程池申請線程,,并通過多線程并發(fā)方式將指令信息以各種執(zhí)行器的執(zhí)行模式下發(fā)到控制器,。控制器直接與感知層物聯(lián)接口相連,,可將各執(zhí)行過程中的數(shù)據(jù)以串行輸出的形式寫入到實際設(shè)備中,,完成對應(yīng)用的實際設(shè)備的管理。設(shè)備的接入與數(shù)據(jù)回饋過程與之流程相反,因而通過SOA模型組件可以實現(xiàn)具體應(yīng)用于實際設(shè)備接入管理過程中的數(shù)據(jù)透傳,。

qrs6-t3.gif

2.2 系統(tǒng)軟件設(shè)計

    根據(jù)物聯(lián)接入系統(tǒng)模型的劃分,,按照上位機、下位機和消息管道分別進行軟件設(shè)計,。

2.2.1 上位機軟件設(shè)計

    上位機采用Java語言進行設(shè)計,,結(jié)合J2EE框架實現(xiàn)Web服務(wù)管理前后臺,通過Tomcat輕量級服務(wù)器發(fā)布,,可通過瀏覽器直接訪問,。上位機軟件流程如圖4所示,主要實現(xiàn)Web服務(wù)的動態(tài)配置以及接入管理數(shù)據(jù)的消息流形式下發(fā),,其間不僅要監(jiān)聽本地的配置響應(yīng),,還偵聽遠程訪問中的基于HTTP協(xié)議的請求數(shù)據(jù)流。此外,,上位機也實時接收下位機上傳的物聯(lián)接入數(shù)據(jù),,實現(xiàn)更上層的具體應(yīng)用的業(yè)務(wù)邏輯支持及可視化數(shù)據(jù)展示等功能。

qrs6-t4.gif

2.2.2 下位機軟件設(shè)計

    下位機采用C++語言進行設(shè)計,,通過Linux操作系統(tǒng)下的多線程庫pthread進行類庫支持,,通過GCC標(biāo)準(zhǔn)編譯器進行源碼編譯,最后通過與附加文件的連接,,直接在嵌入式系統(tǒng)中生成可執(zhí)行文件,。下位機軟件流程如圖5所示,主要通過偵聽消息通道獲取上位機下發(fā)的操作流消息,。如表1所示,,根據(jù)配置數(shù)據(jù)庫約定的協(xié)議規(guī)則解析拆分消息為控制字數(shù)據(jù),標(biāo)定服務(wù)類型的數(shù)據(jù)直接持久化在ROM中,,并掃描存儲注冊設(shè)備的文件信息,,如存在合法接入的設(shè)備,則將控制字中實際用于操作設(shè)備的字節(jié)進行分發(fā),。

qrs6-t5.gif

qrs6-b1.gif

2.2.3 消息管道軟件設(shè)計

    消息管道遵循管道過濾器設(shè)計模式[6],,以松耦合框架技術(shù),融合消息過濾機制實現(xiàn),。消息管道將數(shù)據(jù)以過濾器鏈形式上傳下發(fā),。消息管道如圖6所示,將程序初始化完畢即與上位機對接并輪詢掃描配置文件中的系統(tǒng)內(nèi)通信協(xié)議,,并據(jù)此以規(guī)則分配服務(wù),,該分配過程通過框架維護的獨立代碼類實現(xiàn)。服務(wù)過濾器以組件形式集成于框架之中,,并與相關(guān)代碼類動態(tài)組合,,按不同服務(wù)封裝為不同執(zhí)行的描述信息,。過濾器采用多層結(jié)構(gòu),分別負責(zé)數(shù)據(jù)編解碼,、數(shù)據(jù)讀寫,、數(shù)據(jù)安全認證、數(shù)據(jù)套接字傳輸,。通過過濾器鏈的服務(wù)各自排隊申請線程池中的資源,,得到資源的服務(wù)即刻向下觸發(fā)服務(wù),該過程通過多線程調(diào)度,,可并發(fā)執(zhí)行,。

qrs6-t6.gif

2.3 系統(tǒng)實現(xiàn)

    根據(jù)基于Web服務(wù)的SOA模型以及物聯(lián)接入系統(tǒng)的設(shè)計流程,在嵌入式環(huán)境下的操作系統(tǒng)中,,利用Java Web技術(shù)實現(xiàn)上位機與消息管道功能,,利用C++與多線程技術(shù)實現(xiàn)下位機功能。系統(tǒng)對接完畢后,,感知層實際設(shè)備接入部分,,分別利用Z-Stack協(xié)議棧實現(xiàn)ZigBee星型自組網(wǎng),利用ModBus協(xié)議下的差分信號開關(guān)端子實現(xiàn)RS485接口,。通過硬件接口利用無線和有線方式收集各類感知設(shè)備的接入信息,。實測表明,本系統(tǒng)可正確實現(xiàn)從Web界面到感知設(shè)備之間所有管控操作流程,,將感知層,、網(wǎng)絡(luò)層、應(yīng)用層之間的基礎(chǔ)性操作以服務(wù)方式有效封裝,。

3 結(jié)論

    本文提出了一種基于Web服務(wù)的SOA模型,并將該模型的建模思想利用嵌入式編程和Web編程技術(shù)通過松耦合類模式實現(xiàn),,各服務(wù)間通過軟件接口進行動態(tài)對接,。用戶可根據(jù)具體應(yīng)用需求在Web端進行服務(wù)流程以及系統(tǒng)內(nèi)通信協(xié)議的配置,之后利用系統(tǒng)的處理流程直接按需操控感知層的接入設(shè)備并觸發(fā)具體的需求,,對基礎(chǔ)接入流程中的各類碎片化信息異構(gòu)進行了有效消除,。本系統(tǒng)實現(xiàn)用戶-業(yè)務(wù)-實體之間的三元域交互,在物聯(lián)網(wǎng)應(yīng)用場景下有一定的通用性和擴展性,。

參考文獻

[1] Wen Yingyou,,Li Zhi.A service-integrated sensor network middleware applied to industrial solutions of IoT related[J].Telecommunication Systems,2013,,53(1):61-68.

[2] 沈蘇彬,,范曲立,宗平,,等.物聯(lián)網(wǎng)的體系結(jié)構(gòu)與相關(guān)技術(shù)研究[J].南京郵電大學(xué)學(xué)報(自然科學(xué)版),,2009,,29(6):1-11.

[3] 李杰.物聯(lián)網(wǎng)中無線傳感器節(jié)點和RFID數(shù)據(jù)融合的方法[J].電子設(shè)計工程,2011,19(7):103-106.

[4] Fan Chunxiao,,Wen Zhigang,,Wang Fan,et al.A middleware of Internet of Things(IoT) based on ZigBee and RFID[C].IET International Conference on Communication Technology and Application,,ICCTA,,2011:605-609.

[5] Li Peng,Dong Junping,,Wen Junhao,,et al.A SOA-based servcie discovery framework in Internet of Things[J].Journal of Convergence Information Technology,2011,,6(9):310-315.

[6] 邵華鋼,,程勁,王輝,,等.面向物聯(lián)網(wǎng)的系統(tǒng)及其中間件設(shè)計[J].計算機工程,,2010,36(17):84-86.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。