胡擁兵
摘 要:鑒于物聯(lián)網(wǎng)感知層與應(yīng)用層的復(fù)雜性,為克服感知層數(shù)據(jù)量大、格式不統(tǒng)一、應(yīng)用層需直接面向底層開發(fā)等問題,提出物聯(lián)網(wǎng)設(shè)備綜合應(yīng)用平臺的設(shè)計思路。在物聯(lián)網(wǎng)系統(tǒng)分層基礎(chǔ)上進(jìn)行二次分層設(shè)計,把物聯(lián)網(wǎng)采集數(shù)據(jù)的過濾功能與處理功能從物聯(lián)網(wǎng)第三層的應(yīng)用層拆分出來,形成一套可在各種設(shè)備與多種平臺上通用的接口與平臺,屏蔽底層技術(shù)差別,便于上層應(yīng)用集中于服務(wù)開發(fā),降低與底層的耦合度,降低物聯(lián)網(wǎng)系統(tǒng)開發(fā)難度,增強(qiáng)應(yīng)用的可復(fù)用性。
關(guān)鍵詞:物聯(lián)網(wǎng);感知層;應(yīng)用層;二次分層;綜合應(yīng)用平臺;耦合度
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2019)05-0-03
0 引 言
物聯(lián)網(wǎng)系統(tǒng)架構(gòu)分為感知層、網(wǎng)絡(luò)層與應(yīng)用層[1]。其中,感知層涉及各種各樣的傳感器、控制設(shè)備等,應(yīng)用層實現(xiàn)實際應(yīng)用的各種邏輯。這兩層涉及多個廠商、平臺的銜接,實現(xiàn)起來非常繁瑣。為解決上述問題,本文擬在物聯(lián)網(wǎng)系統(tǒng)分層基礎(chǔ)上進(jìn)行二次分層設(shè)計,把物聯(lián)網(wǎng)采集數(shù)據(jù)的過濾功能與處理功能從物聯(lián)網(wǎng)第三層的應(yīng)用層拆分出來,形成一套可在各種設(shè)備與多種平臺上通用的接口與平臺,屏蔽底層技術(shù)差別,便于上層應(yīng)用集中于服務(wù)開發(fā),實現(xiàn)與底層的低耦合,降低物聯(lián)網(wǎng)系統(tǒng)開發(fā)難度,增強(qiáng)應(yīng)用的可復(fù)用性,縮短應(yīng)用層開發(fā)周期,節(jié)約開發(fā)成本,提高應(yīng)用開發(fā)質(zhì)量。
1 平臺總體設(shè)計
1.1 設(shè)計概述
物聯(lián)網(wǎng)設(shè)備綜合應(yīng)用平臺技術(shù)上應(yīng)具備三個特征:一是全面感知,即利用氣體傳感器、溫濕度傳感器、光敏傳感器、人體傳感器、門磁傳感器、心跳傳感器等各種傳感器隨時隨地獲取物體的各方面信息;二是可靠傳遞,通過各種WiFi、UWB、藍(lán)牙、紅外、ZigBee、LoRa、NBIoT等傳感網(wǎng)絡(luò)與互聯(lián)網(wǎng)銜接,將傳感器采集到的信息以合適的能耗與方式傳遞出去;三是智能處理,利用各種數(shù)據(jù)處理技術(shù),對采集并傳遞過來的數(shù)據(jù)與信息進(jìn)行分析、統(tǒng)計及處理,為應(yīng)用層提供相應(yīng)接口與信息數(shù)據(jù),方便應(yīng)用層的開發(fā)與智能控制實現(xiàn)。
三個層次分工合作,才能充分發(fā)揮物聯(lián)網(wǎng)的功能。本文主要針對物聯(lián)網(wǎng)設(shè)備綜合應(yīng)用進(jìn)行平臺設(shè)計,解決底層感知因節(jié)點變化帶來的應(yīng)用開發(fā)復(fù)用性能降低的問題,做到每個底層采集數(shù)據(jù)精益求精與數(shù)據(jù)接口統(tǒng)一性,從而使物聯(lián)網(wǎng)具體應(yīng)用更具易分解化、可操作化、智能化。
本文設(shè)計基于物聯(lián)網(wǎng)設(shè)備綜合應(yīng)用平臺技術(shù)的設(shè)計理念,通過接口與規(guī)范的標(biāo)準(zhǔn)化,對感知層各種設(shè)備獲得的不同結(jié)構(gòu)與含義的數(shù)據(jù)進(jìn)行匯集與規(guī)范,將這些數(shù)據(jù)轉(zhuǎn)化為統(tǒng)一格式的數(shù)據(jù),供上層應(yīng)用使用,響應(yīng)上層的應(yīng)用服務(wù)調(diào)度,并將其轉(zhuǎn)化為不同控制器節(jié)點可理解與執(zhí)行的指令。
1.2 總體架構(gòu)圖
物聯(lián)網(wǎng)設(shè)備綜合應(yīng)用平臺包括驅(qū)動接口、數(shù)據(jù)處理接口、通信接口、應(yīng)用服務(wù)接口四個接口設(shè)計。其中,驅(qū)動接口是控制底層設(shè)備運行的接口;數(shù)據(jù)處理接口對底層感知設(shè)備采集數(shù)據(jù)進(jìn)行過濾整合;通信接口是底層設(shè)備與網(wǎng)關(guān)和應(yīng)用服務(wù)進(jìn)行數(shù)據(jù)信息傳遞的接口通道;應(yīng)用服務(wù)接口則專門負(fù)責(zé)用戶對設(shè)備的控制。將物聯(lián)網(wǎng)設(shè)備綜合應(yīng)用平臺進(jìn)行細(xì)致的端口功能分割,便于開發(fā)及后續(xù)維護(hù)工作,減少開發(fā)風(fēng)險,提高物聯(lián)網(wǎng)應(yīng)用的可擴(kuò)展性,總體架構(gòu)如圖1所示。
1.3 物聯(lián)網(wǎng)設(shè)備綜合應(yīng)用平臺接口
物聯(lián)網(wǎng)設(shè)備綜合應(yīng)用平臺提供四個接口,每個接口負(fù)責(zé)相應(yīng)的功能,彼此間協(xié)調(diào)共進(jìn)、相互合作,達(dá)到對底層信息數(shù)據(jù)的處理與整合,供于頂層應(yīng)用數(shù)據(jù)調(diào)度與指令發(fā)送,降低頂層應(yīng)用因底層傳感器節(jié)點類型與數(shù)量變化帶來的影響。驅(qū)動接口:感知層是物聯(lián)網(wǎng)的皮膚和五官,用以識別物體、采集信息,而驅(qū)動接口實現(xiàn)通過應(yīng)用層將指令進(jìn)行統(tǒng)一格式處理,再轉(zhuǎn)化為不同設(shè)備相應(yīng)的可接收處理的指令信息數(shù)據(jù),從而實現(xiàn)控制底層設(shè)備器件的運作,避免不同設(shè)備對頂層應(yīng)用帶來的兼容問題。數(shù)據(jù)處理接口:感知層主要承擔(dān)采集數(shù)據(jù)信息的工作,將環(huán)境、物體參數(shù)等信息根據(jù)不同的技術(shù)使用不同協(xié)議,轉(zhuǎn)化為具有不同結(jié)構(gòu)的數(shù)據(jù),數(shù)據(jù)處理接口的主要任務(wù)是將這些異構(gòu)數(shù)據(jù)經(jīng)過濾、整合,轉(zhuǎn)換為可供上層應(yīng)用使用的具有統(tǒng)一格式的虛擬信息[2]。通信接口:由于不同設(shè)備的通信協(xié)議可能不同,為解決通信協(xié)議帶來的信息傳輸問題,通信接口實現(xiàn)將各種設(shè)備通信協(xié)議進(jìn)行統(tǒng)一格式化,供于頂層應(yīng)用,同時又將應(yīng)用層指令再次進(jìn)行處理,轉(zhuǎn)化為相應(yīng)設(shè)備可接收的協(xié)議標(biāo)準(zhǔn)信息,利用通信接口解決應(yīng)用層與底層設(shè)備通信協(xié)議不統(tǒng)一的問題,方便指令、數(shù)據(jù)的交互傳遞。應(yīng)用服務(wù)接口:物聯(lián)網(wǎng)服務(wù)平臺需向后臺服務(wù)提供統(tǒng)一的信息數(shù)據(jù)調(diào)度機(jī)制,即應(yīng)用服務(wù)接口,應(yīng)用服務(wù)接口主要實現(xiàn)對不同設(shè)備的節(jié)點與任務(wù)進(jìn)行管理,實現(xiàn)對不同節(jié)點間設(shè)備與任務(wù)進(jìn)度的調(diào)度,增強(qiáng)用戶對設(shè)備任務(wù)的管理能力。
2 接口設(shè)計
2.1 驅(qū)動接口設(shè)計
一個驅(qū)動程序可對應(yīng)一種設(shè)備,也可對應(yīng)一類設(shè)備,但不同廠家的通信設(shè)備都有不同程度的支持類型(如支持3號或16號指令),凡支持該協(xié)議的設(shè)備都可通過同一個設(shè)備驅(qū)動進(jìn)行訪問控制,唯一不同的是設(shè)備地址、數(shù)據(jù)類型、起始地址與數(shù)據(jù)長度等參變量,因此為改變不同設(shè)備通信支持帶來的問題,根據(jù)實際需要,進(jìn)行相應(yīng)配置即可。驅(qū)動接口設(shè)計包括驅(qū)動配置信息接口、驅(qū)動信息頭及驅(qū)動控制接口。
2.1.1 驅(qū)動配置信息
鑒于不同設(shè)備參數(shù)信息不同,如果不統(tǒng)一格式進(jìn)行設(shè)計編輯,將會給后期開發(fā)與升級帶來不必要的麻煩,因此驅(qū)動配置信息接口主要用于定義不同設(shè)備節(jié)點的參數(shù)信息,方便對各節(jié)點設(shè)備進(jìn)行管理。
2.1.2 驅(qū)動信息頭
通過定義驅(qū)動信息頭,進(jìn)一步將不同設(shè)備進(jìn)行定義,主要設(shè)置特殊的信息配置用于任務(wù)調(diào)度配置,降低設(shè)備類型差異帶來的影響,同時極大地方便驅(qū)動器件設(shè)備運作。
2.1.3 驅(qū)動控制接口
通過前面兩步的驅(qū)動信息配置基礎(chǔ),定義好設(shè)備相關(guān)信息后,還需對驅(qū)動事件進(jìn)行統(tǒng)一定義,實現(xiàn)應(yīng)用層按照預(yù)定指令控制設(shè)備節(jié)點運作。驅(qū)動控制接口是實現(xiàn)不同節(jié)點間按照預(yù)定設(shè)置模式工作的必要編程之一。
2.2 數(shù)據(jù)處理接口
物聯(lián)網(wǎng)應(yīng)用信息數(shù)據(jù)處理關(guān)系到底層與應(yīng)用層的交互,在底層節(jié)點采集數(shù)據(jù)會產(chǎn)生大量冗余信息,對整個系統(tǒng)非常不利,為此專門設(shè)計數(shù)據(jù)處理接口,用于處理、整合、采集并優(yōu)化信息,提高系統(tǒng)處理效率。數(shù)據(jù)處理接口包括數(shù)據(jù)過濾接口與數(shù)據(jù)匯集接口。
2.2.1 數(shù)據(jù)過濾接口
物聯(lián)網(wǎng)冗余信息包括短時間同一設(shè)備對一個數(shù)據(jù)進(jìn)行的大量重復(fù)上報信息與多臺臨近設(shè)備對相同數(shù)據(jù)上報的信息。除了這兩種情況,很多情況下用戶還可能希望得到某些特定信息。用戶在使用數(shù)據(jù)時,希望盡可能減少冗余,盡量得到精度合適的數(shù)據(jù),涉及過濾接口的設(shè)計。去重過濾接口,可消除采集產(chǎn)生的大量冗余數(shù)據(jù),優(yōu)化采集數(shù)據(jù)質(zhì)量;事件過濾接口,主要實現(xiàn)對節(jié)點活動管理與優(yōu)化,降低節(jié)點活動對數(shù)據(jù)采集的干擾;節(jié)點過濾接口,由于使用不同通信技術(shù)的節(jié)點會將數(shù)據(jù)讀取成不同的格式,每一種格式數(shù)據(jù)可反映相應(yīng)的節(jié)點信息。設(shè)計其算法為:由用戶定義一個標(biāo)簽碼模式,規(guī)定需要選出的類型,每當(dāng)讀取到一個標(biāo)簽時,將該標(biāo)簽碼與標(biāo)簽碼模式進(jìn)行匹配,若匹配則輸出該標(biāo)簽,否則過濾[3]。
2.2.2 數(shù)據(jù)匯集接口
傳感層采集到的數(shù)據(jù)經(jīng)過濾接口處理后不能直接使用,需將簡單零散的數(shù)據(jù)處理為有價值的信息,若不對數(shù)據(jù)進(jìn)行匯集,那么這些單一數(shù)據(jù)不能提供任何信息量,因此必須有相關(guān)的數(shù)據(jù)匯集接口。數(shù)據(jù)匯集接口涉及節(jié)點的進(jìn)入與離開,節(jié)點進(jìn)入后判斷是否有權(quán)限進(jìn)入操作數(shù)據(jù)。若是,則進(jìn)行數(shù)據(jù)匯集處理;若否,則直接退出。若節(jié)點離開則退出處理。
2.3 通信接口
物聯(lián)網(wǎng)不同設(shè)備之間的通信協(xié)議標(biāo)準(zhǔn)有可能不同,例如,其中一些以WiFi協(xié)議通信,一些以ZigBee協(xié)議通信,因此必須將不同的設(shè)備通信協(xié)議轉(zhuǎn)換成統(tǒng)一格式反饋回應(yīng)用層,再由應(yīng)用層回饋設(shè)備綜合應(yīng)用平臺轉(zhuǎn)換成各設(shè)備能接受的通信協(xié)議,通信接口則用以解決不同通信協(xié)議間的互動問題,同時也為信息數(shù)據(jù)傳輸提供必要的基礎(chǔ)。通信接口包括通信方式類接口和通信設(shè)備類接口。
2.3.1 通信方式類接口
通信方式類接口主要記載設(shè)備通信協(xié)議,方便中間件轉(zhuǎn)換成統(tǒng)一標(biāo)準(zhǔn)協(xié)議與應(yīng)用層互動,應(yīng)用層指令傳送轉(zhuǎn)化成設(shè)備可接收的協(xié)議標(biāo)準(zhǔn),為應(yīng)用層與底層節(jié)點件操控互動提供便利。
2.3.2 通信設(shè)備類接口
通信設(shè)備類接口的主要功能是實現(xiàn)網(wǎng)關(guān)與節(jié)點間通信的關(guān)鍵定義,進(jìn)一步將節(jié)點通信協(xié)議方式做細(xì)分化,實現(xiàn)節(jié)點對節(jié)點、節(jié)點對網(wǎng)關(guān)的信息聯(lián)絡(luò)。
2.3.3 通信數(shù)據(jù)讀/寫內(nèi)存接口
通信數(shù)據(jù)讀內(nèi)存接口與數(shù)據(jù)寫內(nèi)存接口相同,通信數(shù)據(jù)操作接口封裝到通信數(shù)據(jù)讀/寫內(nèi)存操作類接口中,通信與相關(guān)應(yīng)用程序只需將相關(guān)信息進(jìn)行存儲,就可用此接口對內(nèi)存進(jìn)行操作保存信息數(shù)據(jù),進(jìn)一步優(yōu)化代碼,實現(xiàn)代碼共用。
2.4 應(yīng)用服務(wù)接口
物聯(lián)網(wǎng)應(yīng)用信息人機(jī)交互需要涉及后臺服務(wù),因涉及設(shè)備種類廣、事件任務(wù)多,為方便管理,必須按照一定的標(biāo)準(zhǔn)規(guī)范進(jìn)行設(shè)計,將不同節(jié)點的信息進(jìn)行分離,實現(xiàn)物聯(lián)網(wǎng)服務(wù)人性化理念,同時也方便后臺對事件任務(wù)調(diào)度管理。應(yīng)用服務(wù)接口包括設(shè)備描述接口與服務(wù)描述接口。
2.4.1 應(yīng)用設(shè)備描述接口
設(shè)備描述與服務(wù)描述直接引用UPNP規(guī)范。宣告部分的Location設(shè)備描述文件網(wǎng)址,該網(wǎng)址使用XML文件格式,編碼格式統(tǒng)一使用UTF-8。設(shè)備描述文檔由子網(wǎng)關(guān)節(jié)點及其子設(shè)備節(jié)點組成。子網(wǎng)關(guān)節(jié)點包含基本屬性節(jié)點、服務(wù)列表節(jié)點及子設(shè)備列表節(jié)點。子設(shè)備節(jié)點存放于子設(shè)備列表中,每個子設(shè)備節(jié)點包含基本屬性節(jié)點與服務(wù)列表節(jié)點,基本屬性節(jié)點與服務(wù)列表節(jié)點在子網(wǎng)關(guān)與子設(shè)備中相同。
2.4.2 應(yīng)用服務(wù)描述接口
設(shè)備服務(wù)描述程序由控制列表及服務(wù)狀態(tài)列表組成,定義該設(shè)備支持的動作命令接口信息、該設(shè)備提供的服務(wù)狀態(tài)變量以及是否可被事件訂閱。
3 應(yīng)用場景
3.1 智能家居
智能家居的設(shè)備綜合應(yīng)用平臺將不同類型的網(wǎng)上家電設(shè)備聯(lián)接,實現(xiàn)對各種儀表信息的獲取并發(fā)送相應(yīng)指令[4]。智能網(wǎng)關(guān)通過互聯(lián)網(wǎng)將儀表信息匯集到內(nèi)部設(shè)備綜合應(yīng)用平臺軟件,設(shè)備綜合應(yīng)用平臺對匯集的各種信息進(jìn)行分析處理,形成有效數(shù)據(jù)信息,從而支撐智能家居系統(tǒng)。用戶可根據(jù)需要通過終端系統(tǒng)發(fā)送指令到設(shè)備綜合應(yīng)用平臺,將信息處理轉(zhuǎn)送到相應(yīng)的家庭網(wǎng)絡(luò),達(dá)到對智能家電的遠(yuǎn)程操作控制。
3.2 智慧農(nóng)業(yè)
智慧農(nóng)業(yè)設(shè)備綜合應(yīng)用平臺數(shù)據(jù)處理接口將感知層采集的數(shù)據(jù)進(jìn)行過濾整合,得到能夠供用戶層使用的信息數(shù)據(jù),經(jīng)通信接口用戶層得到數(shù)據(jù)后發(fā)送用戶控制指令,由于底層設(shè)備的差異,用戶指令并不能直接操控底層設(shè)備,需通過平臺轉(zhuǎn)化成各設(shè)備對應(yīng)的可執(zhí)行的通信指令,再由設(shè)備綜合應(yīng)用平臺層控制設(shè)備。設(shè)備綜合應(yīng)用平臺層將不同通信協(xié)議類型的設(shè)備聯(lián)接起來,實現(xiàn)對儀表信息的互動與控制,降低底層設(shè)備的差異,提高用戶層的可靠性、可維護(hù)性及可擴(kuò)展性。
3.3 智能交通
智能交通是一個優(yōu)質(zhì)、便民、安全的綠色城市生活環(huán)境,隨著物聯(lián)網(wǎng)的推廣,智能交通越來越便于市民出行。所有智能交通的實現(xiàn)都離不開設(shè)備綜合應(yīng)用平臺,智能交通管理道路控制并不是單一的幾個點,而是眾多點,平臺核心就是將底層各節(jié)點設(shè)備相關(guān)聯(lián)與應(yīng)用互動,解決眾多節(jié)點帶來海量數(shù)據(jù)的沖突干擾,實現(xiàn)一個指揮中心即可監(jiān)控、操控多個道路。經(jīng)設(shè)備綜合應(yīng)用平臺對靜態(tài)交通地理信息、管理信息、動態(tài)交通信息等融合處理后,將信息儲存成綜合交通信息數(shù)據(jù)庫的主要內(nèi)容,使所有信息通過數(shù)據(jù)訪問平臺實現(xiàn)管理,為應(yīng)用提供統(tǒng)一數(shù)據(jù)管理接口[5]。
3.4 智能倉儲
對于智能倉儲設(shè)備綜合應(yīng)用平臺,服務(wù)器的實現(xiàn)是整個倉儲管理的重要環(huán)節(jié)。相對于RFID有較多不同的工作頻率,包括125 kHz,13.56 MHz,869 MHz,2.45 GHz,5.8 GHz等,不同使用頻率的工作環(huán)境不同,此外還有一些其他通信協(xié)議的設(shè)備。為降低設(shè)備差異性對頂層應(yīng)用帶來的可靠性影響,設(shè)備綜合應(yīng)用平臺必須具備對不同通信節(jié)點設(shè)備進(jìn)行統(tǒng)一化處理,將各節(jié)點數(shù)據(jù)轉(zhuǎn)化成統(tǒng)一通信格式供數(shù)據(jù)庫服務(wù)器處理,以及將用戶指令轉(zhuǎn)化為各節(jié)點設(shè)備可執(zhí)行指令的能力。因此,智能倉儲管理引用設(shè)備綜合應(yīng)用平臺這一軟技術(shù),使得上層應(yīng)用無需直接面對底層架構(gòu),而通過設(shè)備綜合應(yīng)用平臺進(jìn)行調(diào)用,增強(qiáng)應(yīng)用服務(wù)的可復(fù)用性。
4 結(jié) 語
本文設(shè)計的物聯(lián)網(wǎng)設(shè)備綜合應(yīng)用平臺可以克服傳統(tǒng)物聯(lián)網(wǎng)系統(tǒng)存在的各種問題,提高可復(fù)用性,規(guī)范用戶操作接口,提高開發(fā)效率,具備可期的發(fā)展與應(yīng)用價值。
參 考 文 獻(xiàn)
[1]陳楊.基于SOA的物聯(lián)網(wǎng)智慧服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)[D].南京:南京郵電大學(xué),2016.
[2]王凡.基于ZigBee和RFID的物聯(lián)網(wǎng)中間件的設(shè)計與實現(xiàn)[D].北京:北京郵電大學(xué),2011.
[3]蔣邵崗,譚杰.RFID中間件數(shù)據(jù)處理與過濾方法的研究[J].計算機(jī)應(yīng)用,2008(10):2613-2615.
[4]陸欣云,盧松玉,趙家城,等.基于ZigBee網(wǎng)絡(luò)的智能家居監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代信息科技,2018(12):193-195.
[5]郎寶平.城市交通信息系統(tǒng)中數(shù)據(jù)訪問中間件的設(shè)計與實現(xiàn)[D].大連:大連理工大學(xué),2004.
[6]劉向輝.基于物聯(lián)網(wǎng)的實訓(xùn)室建設(shè)研究[J].物聯(lián)網(wǎng)技術(shù),2013,3(7):75-76,80.
[7]姜寧.基于ZigBee的高校智能家居實訓(xùn)室建設(shè)[J].物聯(lián)網(wǎng)技術(shù),2017,7(7):115-116.
[8]李鳳岐,朱明,劉文杰,等.基于Cortex-A9平臺的ZigBee物聯(lián)網(wǎng)綜合實驗平臺設(shè)計[J].實驗室研究與探索,2017,36(9):107-110.
[9]許東濱,林悅銘,梁明輝,等.基于綜合實訓(xùn)平臺的物聯(lián)網(wǎng)實驗室建設(shè)研究[J].中國教育技術(shù)裝備,2017(16):48-50.
[10]李真,余善恩,陳張平,等.基于物聯(lián)網(wǎng)的實驗室安全管理系統(tǒng)[J].實驗科學(xué)與技術(shù),2018,16(3):171-174.