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