?
一種面向移動智能設(shè)備的物聯(lián)網(wǎng)中間件服務(wù)模型
0引言
2010年以來,由蘋果、谷歌和三星等公司引領(lǐng)的移動智能設(shè)備呈現(xiàn)出爆發(fā)式的增長態(tài)勢,使得傳統(tǒng)面向桌面計算機的應(yīng)用系統(tǒng)開發(fā)不可避免地向更方便快捷的移動智能設(shè)備領(lǐng)域傾斜。物聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)融合的應(yīng)用前景集中在移動智能設(shè)備與物聯(lián)網(wǎng)感知節(jié)點通信帶來的一系列更加智能、便利的控制場景,實現(xiàn)隨時隨地對感知設(shè)備的狀態(tài)進行監(jiān)測和遠程控制[1]?!懊嫦蛞苿又悄茉O(shè)備的物聯(lián)網(wǎng)中間件服務(wù)模型”以安卓智能移動設(shè)備為監(jiān)測和控制工具,考慮到不同行業(yè)需求,通過統(tǒng)一配置,提供具備標準接口、具有高兼容性和擴展性的軟硬件集成模塊,使移動應(yīng)用開發(fā)者專注于業(yè)務(wù)本身,而無需關(guān)注復(fù)雜的物聯(lián)網(wǎng)技術(shù)實現(xiàn)過程。該模型可以有效服務(wù)工業(yè)、農(nóng)業(yè)、電力、交通、物流、安防、環(huán)保和消費等領(lǐng)域的細分市場。
1國內(nèi)外研究現(xiàn)狀和趨勢
從功能角度抽取的物聯(lián)網(wǎng)體系結(jié)構(gòu)一般包含感知、傳輸、處理和執(zhí)行等部件,分為“后端集中式”和“前端分布式”兩大類型[2]。相對于由純軟件構(gòu)成的“后端集中式”應(yīng)用服務(wù)中間件,“前端分布式”嵌入式中間件具有應(yīng)用部署成本低、部署方式靈活的特點,更接近數(shù)據(jù)產(chǎn)生的源頭,有利于降低網(wǎng)絡(luò)中數(shù)據(jù)通信量,改善物聯(lián)網(wǎng)應(yīng)用的網(wǎng)絡(luò)狀況。
許多有關(guān)物聯(lián)網(wǎng)中間件的研究都是面向無線傳感器網(wǎng)絡(luò)(wireless sensor networ,WSN)的。根據(jù)WSN中間件的編程方式,可以分為基于虛擬機、基于移動代理、基于數(shù)據(jù)庫、基于應(yīng)用驅(qū)動、面向消息、基于元組空間等設(shè)計方法[3]。提出的多種設(shè)計方法分別針對不同的技術(shù)實現(xiàn),目前暫不存在明確、統(tǒng)一的物聯(lián)網(wǎng)中間件體系結(jié)構(gòu)。
利用會話初始協(xié)議(session initiation protocol,SIP)[4]、STUN[5]協(xié)議、TURN[6]協(xié)議和ICE[7]協(xié)議等協(xié)議,來構(gòu)建嵌入式中間件與移動智能設(shè)備之間數(shù)據(jù)傳輸通道。SIP協(xié)議由IETF于1999年提出,在傳輸層TCP或UDP之上傳送;STUN協(xié)議和TURN協(xié)議以及綜合了兩者特點的ICE協(xié)議提供了穿越網(wǎng)絡(luò)地址轉(zhuǎn)換(network address translation,NAT)的可能。ZigBee 和WiFi是使用廣泛的兩種短距離無線通信協(xié)議標準。2000年12月,IEEE 802.15.4工作組成立,致力于定義一種廉價、固定、便攜或移動設(shè)備使用的極低復(fù)雜度、成本和功耗的低速率雙向無線連接技術(shù),ZigBee是這種技術(shù)的商業(yè)化命名,它已經(jīng)成為事實上的WSN工業(yè)標準。WiFi技術(shù)聯(lián)盟成立于1999年,制定的標準對應(yīng)于IEEE 802.11。WiFi規(guī)定了協(xié)議的物理層和媒體接入控制層,并依賴TCP/IP作為網(wǎng)絡(luò)層。基于ZigBee等協(xié)議的WSN可以連接WiFi網(wǎng)絡(luò),實現(xiàn)互聯(lián)網(wǎng)訪問。
2中間件設(shè)計和實現(xiàn)
本文設(shè)計的物聯(lián)網(wǎng)中間件服務(wù)模型向上與移動智能設(shè)備交互、向下與WSN接口,實現(xiàn)WSN協(xié)議和TCP/IP協(xié)議的格式轉(zhuǎn)換、節(jié)點統(tǒng)一管理以及向移動設(shè)備提供服務(wù)等功能。這樣的設(shè)計方案融合了應(yīng)用層移動設(shè)備和底層傳感設(shè)備的接入和管理需求,在智能主機即嵌入式網(wǎng)關(guān)處理WSN信息的匯聚、上傳和移動端設(shè)備服務(wù)消息的下達。
2.1系統(tǒng)架構(gòu)
物聯(lián)網(wǎng)中間件服務(wù)模型系統(tǒng)架構(gòu)可以劃分為四個功能層:安卓資源層、數(shù)據(jù)傳輸層、設(shè)備服務(wù)層、傳感網(wǎng)接口層。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)
傳感網(wǎng)接口層主要負責(zé)建立不同類型的底層設(shè)備與中間件的適配通道,解析、構(gòu)建和收發(fā)底層協(xié)議棧命令。設(shè)備服務(wù)層是中間件的核心模塊,一方面建立可擴展的設(shè)備類型,統(tǒng)一封裝和管理與底層協(xié)議的交互設(shè)備,實現(xiàn)異構(gòu)設(shè)備的中間件映像,即設(shè)備抽象;另一方面從設(shè)備抽象服務(wù)資源,完成監(jiān)聽和派發(fā)服務(wù)請求的一系列處理過程。數(shù)據(jù)傳輸層主要用于動態(tài)建立智能主機與移動設(shè)備之間穩(wěn)定的端到端連接鏈路,完成NAT穿透,克服公網(wǎng)IP地址隨機變化的影響,雙方可以多對多互聯(lián)。安卓資源層是C和C++類庫,將中間件提供的服務(wù)發(fā)現(xiàn)、服務(wù)映射、數(shù)據(jù)傳輸機制相關(guān)的資源開放給移動設(shè)備的Android NDK,完成統(tǒng)一的移動端編程API。
2.1.1基于MIPS架構(gòu)和Linux的嵌入式智能主機
智能主機是嵌入式中間件的硬件基礎(chǔ)和保障,在運行中間件的同時兼具無線AP、路由器等網(wǎng)絡(luò)通信功能。綜合考慮部署的靈活性、資源受限等因素,使用基于MIPS架構(gòu)的WiFi智能芯片作為主處理器,操作系統(tǒng)為OpenWrt。主機硬件設(shè)計參考無線路由器的制作方案,同時集成WSN網(wǎng)關(guān)節(jié)點,如圖2所示。
圖2 智能主機硬件原理
2.1.2無線傳感器網(wǎng)絡(luò)的適配器
適配器對應(yīng)傳感網(wǎng)接口層,用于建立和底層WSN設(shè)備通信的接口。考慮到中間件兼容的WSN協(xié)議的可擴展性,適配器沒有直接與傳感網(wǎng)網(wǎng)關(guān)節(jié)點交互,而是通過Socket連接到源數(shù)據(jù)服務(wù)再間接連接到WSN。源數(shù)據(jù)服務(wù)與無線傳感器網(wǎng)關(guān)節(jié)點通過串口連接,負責(zé)收發(fā)無線網(wǎng)絡(luò)的二進制數(shù)據(jù)包。適配器解析源數(shù)據(jù)服務(wù)發(fā)送過來的二進制數(shù)據(jù),轉(zhuǎn)換成程序友好的類格式命令,并反向把程序友好的類格式命令轉(zhuǎn)換成二進制數(shù)據(jù)。適配器可以細分為連接斷開ZigBee網(wǎng)絡(luò)、解析構(gòu)建ZigBee基礎(chǔ)命令、解析構(gòu)建ZCL命令、收發(fā)ZigBee命令等模塊。
2.1.3設(shè)備代理和服務(wù)抽象
設(shè)備服務(wù)層是中間件的核心層,基于應(yīng)用控制軟件架構(gòu),分為設(shè)備代理子層和服務(wù)抽象子層。設(shè)備代理子層管理當前所有已經(jīng)加入到WSN中的設(shè)備,實現(xiàn)搜索設(shè)備、描述設(shè)備、配置設(shè)備、從設(shè)備中抽象服務(wù)、向服務(wù)抽象子層開放服務(wù)訪問點等功能。服務(wù)抽象子層監(jiān)聽移動設(shè)備和設(shè)備代理子層的服務(wù)請求消息,解析消息,參照服務(wù)規(guī)則解釋并派發(fā)消息。服務(wù)包括服務(wù)發(fā)現(xiàn)和服務(wù)映射,服務(wù)發(fā)現(xiàn)描述實時處理傳感網(wǎng)設(shè)備加入和離開、網(wǎng)絡(luò)資源動態(tài)申請及釋放、感知數(shù)據(jù)封裝成面向應(yīng)用的多樣服務(wù)的抽象行為;服務(wù)映射是將控制終端(移動設(shè)備)不同的請求映射成不同的服務(wù),并實時響應(yīng)靈活多變的請求訂閱的抽象行為。
2.1.4主機和移動端數(shù)據(jù)通道
基于SIP協(xié)議的移動端設(shè)備連接智能主機建立P2P數(shù)傳通道時序如圖3所示。
圖3移動端設(shè)備(A)與智能主機(B)建立
P2P數(shù)傳通道時序示意圖
Fig.3The sequencing of establishing P2P data transmission channel
for mobile device(A) and smart host(B)
數(shù)據(jù)傳輸層完成在智能主機和移動設(shè)備之間建立端到端的數(shù)據(jù)通道、維護通道、釋放通道的任務(wù),它需要解決NAT穿透和公網(wǎng)IP地址隨機變化等問題。該層軟件架構(gòu)基于PJSIP,它是一個開源的SIP協(xié)議庫,移植性良好,適合嵌入式開發(fā)。考慮到應(yīng)用的擴展性、嵌入式主機資源的有限性、NAT穿透需要公網(wǎng)服務(wù)器支持等各方面因素,架設(shè)云端服務(wù)器,提供SIP Server、STUN/TURN、Web和數(shù)據(jù)存儲服務(wù)。當NAT無法穿透(Symmetric NAT),即智能主機和移動設(shè)備之間P2P通道無法建立時,才通過云端服務(wù)器中轉(zhuǎn)數(shù)據(jù),從而加強數(shù)據(jù)傳輸?shù)陌踩浴?/p>
2.1.5安卓資源庫
安卓資源庫支持運行安卓系統(tǒng)的移動設(shè)備的物聯(lián)網(wǎng)應(yīng)用開發(fā)。智能主機與移動設(shè)備之間的通信協(xié)議使用TLV和JSON等格式。在NDK中調(diào)用中間件的服務(wù)管理、設(shè)備管理、網(wǎng)絡(luò)配置、端到端連接管理等API資源。
2.1.6系統(tǒng)工作過程
下面根據(jù)系統(tǒng)運行過程列出主要步驟。
① 智能主機首次啟用,把身份證書發(fā)送到云端服務(wù)器驗證有效性,生成設(shè)備登錄用的ID號以及安全密鑰。
② 移動設(shè)備掃描主機二維碼或者局域網(wǎng)內(nèi)自動發(fā)現(xiàn)獲取主機ID等信息,建立與主機的關(guān)聯(lián)。
③ 智能主機每次啟動時,向SIP服務(wù)注冊。
④ 移動設(shè)備安裝的APP軟件每次啟動時,向SIP服務(wù)注冊。
⑤ 移動設(shè)備經(jīng)SIP服務(wù)中轉(zhuǎn),與智能主機建立會話。
⑥ 雙方ICE協(xié)商,尋找并建立最優(yōu)端到端數(shù)據(jù)傳輸通道。
⑦ 移動設(shè)備開始調(diào)用連接主機的服務(wù),監(jiān)控主機管轄區(qū)域。一臺移動設(shè)備可以監(jiān)控多臺主機,反之一臺主機可以連接多臺移動設(shè)備,兩者是多對多互聯(lián)的。
2.2關(guān)鍵技術(shù)
物聯(lián)網(wǎng)中間件服務(wù)模型的關(guān)鍵技術(shù)主要有以下三點。
2.2.1設(shè)備服務(wù)層的本體化
設(shè)備代理子層是中間件設(shè)備功能服務(wù)化的關(guān)鍵,位于中間件WSN適配器之上、服務(wù)抽象子層之下,間接與設(shè)備進行交互。需要關(guān)注設(shè)備的內(nèi)部屬性和系統(tǒng)功能,以建立可擴展的設(shè)備類型,統(tǒng)一封裝和管理WSN設(shè)備,實現(xiàn)異構(gòu)設(shè)備的中間件映像。映像的關(guān)鍵是基于本體論[8]思想的設(shè)備抽象,采用多元本體建模,包含通用本體、領(lǐng)域本體和服務(wù)本體。三種類型的本體分別對應(yīng)三層含義:設(shè)備的公共屬性;基于設(shè)備類型的設(shè)備靜態(tài)信息和動態(tài)信息;設(shè)備對外提供的原子服務(wù)接口,該接口通過設(shè)備通信部分訪問服務(wù)抽象子層。服務(wù)抽象子層的核心功能是處理與智能主機連接的移動設(shè)備產(chǎn)生的監(jiān)控消息流。需要處理的兩個環(huán)節(jié)是:當移動設(shè)備接入后,服務(wù)抽象子層監(jiān)聽服務(wù)請求和發(fā)回服務(wù)請求;依據(jù)請求的服務(wù)類型,將消息進行格式轉(zhuǎn)換,查找設(shè)備-服務(wù)狀態(tài)列表,然后傳遞至對應(yīng)的下層設(shè)備服務(wù)訪問點作進一步處理。底層設(shè)備的類型有兩大類:傳感器和執(zhí)行機構(gòu),即監(jiān)視設(shè)備和控制設(shè)備,與行業(yè)的關(guān)聯(lián)度有限。因此,可以提供設(shè)備的擴展接口,以對象化的繼承方式持續(xù)完善設(shè)備-服務(wù)機制,使中間件擁有行業(yè)共性。
2.2.2私網(wǎng)間設(shè)備通信
智能主機屬于資源有限的嵌入式設(shè)備,與移動設(shè)備均有可能位于各自的私網(wǎng)內(nèi),從數(shù)據(jù)安全角度考慮,應(yīng)該盡可能實現(xiàn)異構(gòu)網(wǎng)絡(luò)之間端到端的可靠通信,避免公網(wǎng)服務(wù)器中轉(zhuǎn)數(shù)據(jù)。
TCP是面向連接的傳輸層協(xié)議,有復(fù)雜的握手和超時重傳等確保數(shù)據(jù)傳輸可靠性的策略。但由于資源消耗大、傳輸效率低、NAT穿透性差,相比UDP,TCP不適用于資源有限的智能主機。然而UDP是無連接協(xié)議,無法保證數(shù)據(jù)的可靠傳輸,所以要求應(yīng)用層協(xié)議必須提供適當?shù)牟呗约右詮浹a??紤]到SIP在應(yīng)用層提供了端到端的三次握手機制和指數(shù)退避的超時重傳策略,可以有效彌補使用UDP帶來的不可靠性,所以采用SIP/UDP方式建立智能主機與移動設(shè)備之間的數(shù)據(jù)傳輸通道。當通道建立以后,兩端數(shù)據(jù)直接基于自定義的TLV報文經(jīng)UDP完成傳輸。此外,ISP提供的通信兩端的公網(wǎng)IP是不定時變化的,在數(shù)據(jù)通道建立之后中間件需要時刻監(jiān)視IP地址的變化,維持端口心跳。一旦IP變化出現(xiàn)就要立刻重建端點間連接,確保數(shù)據(jù)傳輸?shù)膶崟r性和可靠性。
2.2.3可擴展的中間件適配器
IEEE 802.15.4定義了物理層和介質(zhì)訪問控制層的數(shù)據(jù)傳輸規(guī)范,ZigBee協(xié)議定義了網(wǎng)絡(luò)層、應(yīng)用程序支持子層以及應(yīng)用層的數(shù)據(jù)傳輸規(guī)范,它們與互聯(lián)網(wǎng)TCP/IP協(xié)議族沒有交集。中間件作為底層網(wǎng)絡(luò)連接互聯(lián)網(wǎng)的中間環(huán)節(jié),首當其沖的身份是兩種協(xié)議交互的數(shù)據(jù)網(wǎng)關(guān),實現(xiàn)ZigBee與TCP/IP數(shù)據(jù)格式的轉(zhuǎn)換。其中,ZigBee協(xié)調(diào)器和嵌入式微處理器利用串口交換數(shù)據(jù)是使用廣泛、成熟度高的解決方案。對于其他的底層WSN協(xié)議,則在傳感網(wǎng)接口層即中間件的適配器環(huán)節(jié)提供命令集標準接口,以便擴展。
3應(yīng)用案例
本文提出的“一種面向移動智能設(shè)備的物聯(lián)網(wǎng)中間件服務(wù)模型”,已經(jīng)成功應(yīng)用于建設(shè)某智慧小區(qū)。該小區(qū)包括公寓區(qū)和別墅區(qū)。在面積約100m2的室內(nèi)
區(qū)域放置智能主機1臺,智能開關(guān)、智能窗簾、門磁傳感器等執(zhí)行機構(gòu)和煙霧傳感器、紅外傳感器等感知設(shè)備若干,即可實現(xiàn)室內(nèi)環(huán)境的綜合監(jiān)控。其中,各類ZigBee傳感器和執(zhí)行機構(gòu)作為底層WSN設(shè)備,與用戶遠程移動端設(shè)備之間通過現(xiàn)場智能主機中間件實現(xiàn)信息交互。WSN設(shè)備的入網(wǎng)、更新、移除等信息實時記錄在中間件的設(shè)備-服務(wù)列表中,移動端通過WiFi或者3G等網(wǎng)絡(luò)連接智能主機,調(diào)用中間件服務(wù),完成對現(xiàn)場智能家居的信號采集和控制動作。
4結(jié)束語
中國物聯(lián)網(wǎng)整體市場前景十分廣闊,打造支持不同設(shè)備接口、不同互聯(lián)協(xié)議、可集成多種服務(wù)的共性技術(shù)平臺,將是物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展成熟的結(jié)果。
從本質(zhì)上看,物聯(lián)網(wǎng)中間件是物聯(lián)網(wǎng)應(yīng)用的共性要求?!懊嫦蛞苿又悄茉O(shè)備的物聯(lián)網(wǎng)中間件服務(wù)模型”包括:第一,兼容WSN協(xié)議,實現(xiàn)物聯(lián)網(wǎng)感知層無線設(shè)備數(shù)據(jù)接口;第二,基于嵌入式系統(tǒng)、面向?qū)ο蟮能浖O(shè)計等相關(guān)技術(shù)具體環(huán)境下的設(shè)備映射、服務(wù)抽象和服務(wù)調(diào)度機制;第三,解決異構(gòu)網(wǎng)絡(luò)端到端數(shù)據(jù)通道建立和維護的現(xiàn)實問題;第四,嵌入式智能主機部署靈活,具有較高的行業(yè)通用性且易于實現(xiàn);最后,服務(wù)資源開放的安卓API函數(shù)庫適應(yīng)移動端應(yīng)用二次開發(fā)的要求。已有的應(yīng)用案例證明了上述模型的可靠性、實用性和技術(shù)共性。
參考文獻
[1] 工信部電信研究院.2014年全球物聯(lián)網(wǎng)發(fā)展報告[J].中國信息化,2014,239(8):42-46.
[2] 陳海明,崔莉,謝開斌.物聯(lián)網(wǎng)體系結(jié)構(gòu)與實現(xiàn)方法的比較研究[J].計算機學(xué)報,2013,36(1):168-188.
[3] 王林,姜杰.無線傳感器網(wǎng)絡(luò)中間件技術(shù)研究綜述[J].計算機工程與科學(xué),2014,36(2):244-249.
[4] Rosenberg J.RFC3261 SIP:session initiation protocol[S].IETF,2002.
[5] Rosenberg J.RFC5389 STUN:session traversal utilities for NAT[S].IETF,2008.
[6] Mahy R.RFC5766 TURN: traversal using relays around NAT[S].IETF,2010.
[7] Rosenberg J.RFC5245 ICE: Interactive Connectivity Establishment[S]. IETF,2010.
[8] 郭星明,郭天晨,張三元.基于管理信息本體和需求功能構(gòu)件的中間件平臺[J].浙江大學(xué)學(xué)報:工學(xué)版,2009,43(5):844-848.
[9] 工信部電信研究院.2014年物聯(lián)網(wǎng)白皮書(節(jié)選)[N].中國電子報,2014-6-17.
An IOT Middleware Service Model for Mobile Intelligent Devices
羅劍
(浙江經(jīng)濟職業(yè)技術(shù)學(xué)院數(shù)字信息技術(shù)學(xué)院,浙江 杭州310018)
摘要:描述了一種面向移動智能設(shè)備的物聯(lián)網(wǎng)中間件服務(wù)模型,系統(tǒng)架構(gòu)由傳感網(wǎng)接口層、設(shè)備服務(wù)層、數(shù)據(jù)傳輸層和安卓資源層組成。該模型通過建立與無線傳感器網(wǎng)絡(luò)異構(gòu)設(shè)備的通信接口,封裝感知設(shè)備提供的狀態(tài)監(jiān)測和遠程控制功能,向移動端開放統(tǒng)一的物聯(lián)網(wǎng)接入服務(wù),實現(xiàn)物聯(lián)網(wǎng)應(yīng)用帶有共性的技術(shù)環(huán)節(jié),為移動智能設(shè)備面向物聯(lián)網(wǎng)的二次開發(fā)提供便利。已有的應(yīng)用案例證明了服務(wù)模型的可靠性、實用性和技術(shù)共性,可以有效提升物聯(lián)網(wǎng)不同行業(yè)應(yīng)用開發(fā)的效率。
關(guān)鍵詞:物聯(lián)網(wǎng)互聯(lián)網(wǎng)移動智能設(shè)備無線傳感器數(shù)據(jù)傳輸TCP/IPZigbee
Abstract:An IOT middleware service model for mobile intelligent devices is described.The system architecture is composed of sensor network interface layer,device service layer,data transmission layer and Android resource layer.Through building the communication interfaces with heterogeneous WSN devices,and the status monitoring and remote control functions offered by encapsulating sensing devices,the model opens universal access service to mobile devices,to implement technical aspects with commonality for IOT application,provide facilitation for secondary development of mobile intelligent devices orienting IOT.The existing application cases verify the reliability,practicability and technical commonalities of the service model; the model may effectively upgrade the efficiency of application and development of IOT in various industries.
Keywords:Internet of things(IOT)InternetMobile intelligent deviceWirelessSensorData transferTCP/IPZigbee
中圖分類號:TP319;TH86
文獻標志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201604018
2015年度浙江省公益技術(shù)研究工業(yè)基金資助項目(編號:2015C31107)。
修改稿收到日期:2015-05-13。
作者羅劍(1971-),男,1996年畢業(yè)于武漢工業(yè)大學(xué)自動化專業(yè),獲碩士學(xué)位,副教授;主要從事自組織網(wǎng)絡(luò)、嵌入式系統(tǒng)、數(shù)據(jù)庫知識發(fā)現(xiàn)等方向的研究。