盧永華

摘要:目前市場上存在各種各樣的物聯網設備,導致了每個廠家的數據形成了數據孤島,采集這些設備的回傳數據也成了實施項目中的難點。所以針對這種現狀,開發了一種基于熱插拔式的物聯網平臺,能夠兼容市面各種物聯網設備,針對每一個新接入的設備,將差異化的協議抽象為插件,通過物聯網平臺的接入,減少重復工作,增加系統的可擴展性。
關鍵詞:插件;物聯網;可擴展性
中圖分類號:TP315 文獻標識碼:A 文章編號:1007-9416(2019)06-0106-01
0 前言
設備的生產廠家都會開發關于對自己生產設備的平臺,設備廠家平臺提供對外的接口,使得可以調用這些接口獲得設備的信息、獲得設備的數據、獲得設備的狀態、控制設備的操作。每個廠家提供對外的接口在物聯網進行配置,在需要的對設備進行訪問時,根據預先寫好的接口配置文件,調用其中的某個廠家對外提供的接口,達到對設備訪問的目的。
這種物聯網平臺是基于配置式的接口調用,必須預先在平臺上配置好到設備的廠家所提供的接口。當有新設備的設備需要接入時,需要新設備廠家有自己的對外部調用的接口,否則不能接入,這就使得使用的設備存在局限性。而且當新設備接入時還需要把物聯網平臺關閉之后再重新啟動,這就存在物聯網平臺的不穩定性。
1 物聯網平臺的構成
1.1 總體架構(圖1)
總體架構來看,該平臺分為五個層次:感知層、數據采集層、邏輯業務層、應用層。
1.2 感知層
在此層中,包含的是物理網設備,這些設備是通過某種方式連接互聯網的,比如,(通過3G/4G/5G,GPRS,NB-IOT,WIFI等)方式,設備類型可以是傳感器、報警器、控制器等。
1.3 數據采集層
“數據采集層”負責從設備采集數據以及上層命令下發,平臺將提供一些基礎傳輸服務以方便具體協議的實現,而重點的協議以插件(設備驅動)的方式融入平臺,在具體實現時可以預先包含一些常用的內置模塊或內置工具,達到開發驅動時簡單快捷。
1.4 邏輯業務層
“邏輯業務層”主要負責對設備驅動的管理、對接入物聯網設備的管理、對權限的管理、分發執行任務、驗證用戶權限、推送消息、對數據持久化、提供第三方接口。
由此“邏輯業務層”分為7大模塊,分別為:“設備驅動管理”模塊、“設備管理”模塊、“安全權限”模塊、“任務調度”模塊、“消息推送”模塊、數據持久化模塊、webapi接口模塊。
1.4.1 設備驅動管理模塊
“設備驅動管理”模塊主要負責對“數據采集層”中的設備插件(設備驅動)進行管理,每一個設備驅動都有唯一的標識碼和怎么處理某種協議的方法并能根據某種協議對設備命令的下發。通過設備驅動管理模塊可以對設備驅動進行增、刪、改、查。
1.4.2 設備管理模塊
“設備管理”模塊主要負責對接入平臺的設備進行管理。每一個設備都有唯一標識的設備驅動和連接方式,通過“設備管理”模塊可以對設備的驅動(即插件)進行加載和卸載,管理設備的運行狀態(啟用、未啟用)、設備監測設備的連接狀態。
1.4.3 安全權限模塊
“安全權限”模塊主要負責對用戶訪問設備信息時,需要進行安全驗證,以防惡意用戶篡改設備信息,導致平臺不穩定、故障等問題。
1.4.4 任務調度模塊
“任務調度”模塊主要負責對“感知層”設備的任務命令的下達,執行一些特定的或用戶指定的任務(比如:定時采集傳感器設備的數據、用戶指定周期性控制某個設備)。
1.4.5 消息推送模塊
“消息推送”模塊主要負責的是推送設備的實時數據、設備的運行狀態、任務的執行情況、任務的狀態。
1.4.6 Webapi接口模塊
“webapi接口模塊”主要負責的是平臺對外提供外部調用接口,通過接口可以實現平臺的設備管理、設備驅動的管理、任務的管理(即新增任務、任務的刪除、任務的修改、任務查詢)。
1.5 物聯網平臺的內部原理
當物聯網平臺啟動服務時,從數據庫中讀取設備信息,并初始化設備,再監聽端口“感知層”中設備SOCKET連接。當“感知層”中設備回傳數據時或者響應物聯網平臺的請求時,首先校驗數據是否有效,再經過數據清洗,由數據路由器路由到“設備工廠”中由一個實例化的“設備”中,在“設備”中,通過插件目錄信息把插件序列化到內存中,在反序列化生成一個插件實例,把數據在交給插件去處理,處理完成后,進行插件回收,清理內存。
當“任務調度”模塊對設備下達任務時,通過quartz框架中的觸發器觸發“設備”的作業,在“設備”中,通過插件目錄信息把插件序列化到內存中,在反序列化生成一個插件實例,由插件實例組織任務命令后,回收插件,清理內存。再把任務命令交給“設備”的SOCKET連接。達到下達任務的命令。
2 結論
基于熱插拔式的物聯網平臺,解決了現有物理網的局限性和不穩定性,對于市面上不同廠商生產的不同協議的設備都能接入物聯網平臺,而且還具有高擴展性,對于每一種新協議的設備,只需要為他們編寫特定的設備驅動(即插件)即可。而平臺又是基于熱插拔式的,所以在平臺的運行過程中能隨時為設備更改驅動(即插件),所以提高了平臺的穩定性。
參考文獻
[1] 黃俊.并聯系統的熱插拔研究[J].電子技術與軟件工程,2015(7):147-148.
[2] 胡鋼,郭煜,林詩美.基于MTCA平臺的完全熱插拔設計[J].工業控制計算機,2017,30(8):8-9.
Hot-plugged IoT platform
LU Yong-hua
(Guizhou Aerospace Smart Agriculture Co., Ltd.,Zunyi Guizhou 563100)
Abstract:There are various kinds of IoT devices on the market, which has led to the formation of data islands for each manufacturer's data. Collecting the backhaul data of these devices has become a difficult point in the implementation project. Therefore, in response to this situation, a hot-swappable IoT platform has been developed, which is compatible with various IoT devices in the market. For each newly accessed device, the differentiated protocol is abstracted as a plug-in through the Internet of Things. Platform access reduces duplication of effort and increases system scalability.
Key words:plugin; internet of things; scalability