盧永華
摘要:目前市場上存在各種各樣的物聯(lián)網(wǎng)設(shè)備,導致了每個廠家的數(shù)據(jù)形成了數(shù)據(jù)孤島,采集這些設(shè)備的回傳數(shù)據(jù)也成了實施項目中的難點。所以針對這種現(xiàn)狀,開發(fā)了一種基于熱插拔式的物聯(lián)網(wǎng)平臺,能夠兼容市面各種物聯(lián)網(wǎng)設(shè)備,針對每一個新接入的設(shè)備,將差異化的協(xié)議抽象為插件,通過物聯(lián)網(wǎng)平臺的接入,減少重復工作,增加系統(tǒng)的可擴展性。
關(guān)鍵詞:插件;物聯(lián)網(wǎng);可擴展性
中圖分類號:TP315 文獻標識碼:A 文章編號:1007-9416(2019)06-0106-01
0 前言
設(shè)備的生產(chǎn)廠家都會開發(fā)關(guān)于對自己生產(chǎn)設(shè)備的平臺,設(shè)備廠家平臺提供對外的接口,使得可以調(diào)用這些接口獲得設(shè)備的信息、獲得設(shè)備的數(shù)據(jù)、獲得設(shè)備的狀態(tài)、控制設(shè)備的操作。每個廠家提供對外的接口在物聯(lián)網(wǎng)進行配置,在需要的對設(shè)備進行訪問時,根據(jù)預先寫好的接口配置文件,調(diào)用其中的某個廠家對外提供的接口,達到對設(shè)備訪問的目的。
這種物聯(lián)網(wǎng)平臺是基于配置式的接口調(diào)用,必須預先在平臺上配置好到設(shè)備的廠家所提供的接口。當有新設(shè)備的設(shè)備需要接入時,需要新設(shè)備廠家有自己的對外部調(diào)用的接口,否則不能接入,這就使得使用的設(shè)備存在局限性。而且當新設(shè)備接入時還需要把物聯(lián)網(wǎng)平臺關(guān)閉之后再重新啟動,這就存在物聯(lián)網(wǎng)平臺的不穩(wěn)定性。
1 物聯(lián)網(wǎng)平臺的構(gòu)成
1.1 總體架構(gòu)(圖1)
總體架構(gòu)來看,該平臺分為五個層次:感知層、數(shù)據(jù)采集層、邏輯業(yè)務(wù)層、應(yīng)用層。
1.2 感知層
在此層中,包含的是物理網(wǎng)設(shè)備,這些設(shè)備是通過某種方式連接互聯(lián)網(wǎng)的,比如,(通過3G/4G/5G,GPRS,NB-IOT,WIFI等)方式,設(shè)備類型可以是傳感器、報警器、控制器等。
1.3 數(shù)據(jù)采集層
“數(shù)據(jù)采集層”負責從設(shè)備采集數(shù)據(jù)以及上層命令下發(fā),平臺將提供一些基礎(chǔ)傳輸服務(wù)以方便具體協(xié)議的實現(xiàn),而重點的協(xié)議以插件(設(shè)備驅(qū)動)的方式融入平臺,在具體實現(xiàn)時可以預先包含一些常用的內(nèi)置模塊或內(nèi)置工具,達到開發(fā)驅(qū)動時簡單快捷。
1.4 邏輯業(yè)務(wù)層
“邏輯業(yè)務(wù)層”主要負責對設(shè)備驅(qū)動的管理、對接入物聯(lián)網(wǎng)設(shè)備的管理、對權(quán)限的管理、分發(fā)執(zhí)行任務(wù)、驗證用戶權(quán)限、推送消息、對數(shù)據(jù)持久化、提供第三方接口。
由此“邏輯業(yè)務(wù)層”分為7大模塊,分別為:“設(shè)備驅(qū)動管理”模塊、“設(shè)備管理”模塊、“安全權(quán)限”模塊、“任務(wù)調(diào)度”模塊、“消息推送”模塊、數(shù)據(jù)持久化模塊、webapi接口模塊。
1.4.1 設(shè)備驅(qū)動管理模塊
“設(shè)備驅(qū)動管理”模塊主要負責對“數(shù)據(jù)采集層”中的設(shè)備插件(設(shè)備驅(qū)動)進行管理,每一個設(shè)備驅(qū)動都有唯一的標識碼和怎么處理某種協(xié)議的方法并能根據(jù)某種協(xié)議對設(shè)備命令的下發(fā)。通過設(shè)備驅(qū)動管理模塊可以對設(shè)備驅(qū)動進行增、刪、改、查。
1.4.2 設(shè)備管理模塊
“設(shè)備管理”模塊主要負責對接入平臺的設(shè)備進行管理。每一個設(shè)備都有唯一標識的設(shè)備驅(qū)動和連接方式,通過“設(shè)備管理”模塊可以對設(shè)備的驅(qū)動(即插件)進行加載和卸載,管理設(shè)備的運行狀態(tài)(啟用、未啟用)、設(shè)備監(jiān)測設(shè)備的連接狀態(tài)。
1.4.3 安全權(quán)限模塊
“安全權(quán)限”模塊主要負責對用戶訪問設(shè)備信息時,需要進行安全驗證,以防惡意用戶篡改設(shè)備信息,導致平臺不穩(wěn)定、故障等問題。
1.4.4 任務(wù)調(diào)度模塊
“任務(wù)調(diào)度”模塊主要負責對“感知層”設(shè)備的任務(wù)命令的下達,執(zhí)行一些特定的或用戶指定的任務(wù)(比如:定時采集傳感器設(shè)備的數(shù)據(jù)、用戶指定周期性控制某個設(shè)備)。
1.4.5 消息推送模塊
“消息推送”模塊主要負責的是推送設(shè)備的實時數(shù)據(jù)、設(shè)備的運行狀態(tài)、任務(wù)的執(zhí)行情況、任務(wù)的狀態(tài)。
1.4.6 Webapi接口模塊
“webapi接口模塊”主要負責的是平臺對外提供外部調(diào)用接口,通過接口可以實現(xiàn)平臺的設(shè)備管理、設(shè)備驅(qū)動的管理、任務(wù)的管理(即新增任務(wù)、任務(wù)的刪除、任務(wù)的修改、任務(wù)查詢)。
1.5 物聯(lián)網(wǎng)平臺的內(nèi)部原理
當物聯(lián)網(wǎng)平臺啟動服務(wù)時,從數(shù)據(jù)庫中讀取設(shè)備信息,并初始化設(shè)備,再監(jiān)聽端口“感知層”中設(shè)備SOCKET連接。當“感知層”中設(shè)備回傳數(shù)據(jù)時或者響應(yīng)物聯(lián)網(wǎng)平臺的請求時,首先校驗數(shù)據(jù)是否有效,再經(jīng)過數(shù)據(jù)清洗,由數(shù)據(jù)路由器路由到“設(shè)備工廠”中由一個實例化的“設(shè)備”中,在“設(shè)備”中,通過插件目錄信息把插件序列化到內(nèi)存中,在反序列化生成一個插件實例,把數(shù)據(jù)在交給插件去處理,處理完成后,進行插件回收,清理內(nèi)存。
當“任務(wù)調(diào)度”模塊對設(shè)備下達任務(wù)時,通過quartz框架中的觸發(fā)器觸發(fā)“設(shè)備”的作業(yè),在“設(shè)備”中,通過插件目錄信息把插件序列化到內(nèi)存中,在反序列化生成一個插件實例,由插件實例組織任務(wù)命令后,回收插件,清理內(nèi)存。再把任務(wù)命令交給“設(shè)備”的SOCKET連接。達到下達任務(wù)的命令。
2 結(jié)論
基于熱插拔式的物聯(lián)網(wǎng)平臺,解決了現(xiàn)有物理網(wǎng)的局限性和不穩(wěn)定性,對于市面上不同廠商生產(chǎn)的不同協(xié)議的設(shè)備都能接入物聯(lián)網(wǎng)平臺,而且還具有高擴展性,對于每一種新協(xié)議的設(shè)備,只需要為他們編寫特定的設(shè)備驅(qū)動(即插件)即可。而平臺又是基于熱插拔式的,所以在平臺的運行過程中能隨時為設(shè)備更改驅(qū)動(即插件),所以提高了平臺的穩(wěn)定性。
參考文獻
[1] 黃俊.并聯(lián)系統(tǒng)的熱插拔研究[J].電子技術(shù)與軟件工程,2015(7):147-148.
[2] 胡鋼,郭煜,林詩美.基于MTCA平臺的完全熱插拔設(shè)計[J].工業(yè)控制計算機,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