Edgex foundry面向物聯(lián)網(wǎng)端的邊緣計(jì)算開源平臺
EdgeXFoundry 是一個(gè)面向工業(yè)物聯(lián)網(wǎng)邊緣計(jì)算開發(fā)的標(biāo)準(zhǔn)化互操作性框架,部署于路由器和交換機(jī)等邊緣設(shè)備上,為各種傳感器、設(shè)備或其他物聯(lián)網(wǎng)器件提供即插即用功能并管理 它們,進(jìn)而收集和分析它們的數(shù)據(jù),或者導(dǎo)出至邊緣計(jì)算應(yīng)用或云計(jì)算中心做進(jìn)一步處理。EdgeXFoundry 針對的問題是物聯(lián)網(wǎng)器件的互操作性問題。目前,具有大量設(shè)備的物聯(lián)網(wǎng)產(chǎn)生大量數(shù)據(jù),迫切需要結(jié)合邊緣計(jì)算的應(yīng)用,但物聯(lián)網(wǎng)的軟硬件和接入方式的多樣性給數(shù)據(jù) 接入功能帶來困難,影響了邊緣計(jì)算應(yīng)用的部署。EdgeXFoundry 的主旨是簡化和標(biāo)準(zhǔn)化工業(yè)物聯(lián)網(wǎng)邊緣計(jì)算的架構(gòu),創(chuàng)建一個(gè)圍繞互操作性組件的生態(tài)系統(tǒng)。
圖2展示了EdgeX Foundry的架構(gòu)。在圖中的最下方是“南側(cè)”,指的是所有物聯(lián)網(wǎng)器件, 以及與這些設(shè)備,傳感器或其他物聯(lián)網(wǎng)器件直接通信的邊緣網(wǎng)絡(luò)。在圖的最上方是“北側(cè)”, 指的是云計(jì)算中心或企業(yè)系統(tǒng),以及與云中心通信的網(wǎng)絡(luò)部分。南側(cè)是數(shù)據(jù)產(chǎn)生源,而北側(cè) 收集來自南側(cè)的數(shù)據(jù),并對數(shù)據(jù)進(jìn)行存儲、聚合和分析。如圖2所示,EdgeXFoundry 位于 南側(cè)和北側(cè)兩者之間,由一系列微服務(wù)組成,而這些微服務(wù)可以被分成 4個(gè)服務(wù)層和2個(gè)底層增強(qiáng)系統(tǒng)服務(wù)。微服務(wù)之間通過一套通用的Restful應(yīng)用程序編程接口(API)進(jìn)行通信。
圖2- EdgeXFoundry的架構(gòu)圖
BACNET:樓宇自動化與控制網(wǎng)絡(luò)
BLE:低功耗藍(lán)牙
MQTT:消息隊(duì)列遙測傳輸
OPC-UA:OPC統(tǒng)一框架
REST:RESTful應(yīng)用程序編程接口
SDK:軟件開發(fā)工具包
SNMP:簡單網(wǎng)絡(luò)管理協(xié)議
VIRTUAL:虛擬設(shè)備
(1)設(shè)備服務(wù)層。設(shè)備服務(wù)層主要提供設(shè)備接入的功能,由多個(gè)設(shè)備服務(wù)組成。每個(gè)設(shè)備服務(wù)是用戶根據(jù)設(shè)備服務(wù)軟件開發(fā)工具包(SDK)編寫生成的一個(gè)微服務(wù)。EdgeXFoundry使用設(shè)備文件去定義一個(gè)南側(cè)設(shè)備的相關(guān)信息,包括源數(shù)據(jù)格式,存儲在EdgeXFoundry 中 的數(shù)據(jù)格式以及對該設(shè)備的操作命令等信息。設(shè)備服務(wù)將來自設(shè)備的數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換,并 發(fā)送至核心服務(wù)層。目前,EdgeX Foundry提供了消息隊(duì)列遙測傳輸協(xié)議(MQTT)、ModBus串行通信協(xié)議和低功耗藍(lán)牙協(xié)議(BLE)等多種接入方式。
(2)核心服務(wù)層。核心服務(wù)層由核心數(shù)據(jù)、命令、元數(shù)據(jù)、注冊表和配置4個(gè)微服務(wù)組件 組成。核心數(shù)據(jù)微服務(wù)存儲和管理來自南側(cè)設(shè)備的數(shù)據(jù)、元數(shù)據(jù)微服務(wù)存儲和管理設(shè)備的元 數(shù)據(jù)。命令微服務(wù)將定義在設(shè)備文件的操作命令轉(zhuǎn)換成通用的API,提供給用戶以監(jiān)測控制 該設(shè)備。注冊表和配置微服務(wù)存儲設(shè)備服務(wù)的相關(guān)信息。
(3)支持服務(wù)層。支持服務(wù)層提供邊緣分析和智能服務(wù),以規(guī)則引擎微服務(wù)為例,允許用戶設(shè)定一些規(guī)則,當(dāng)檢測到數(shù)據(jù)滿足規(guī)則要求時(shí),將觸發(fā)一個(gè)特定的操作。例如規(guī)則引擎可 監(jiān)測控制溫度傳感器,當(dāng)檢測到溫度低于25度時(shí),觸發(fā)對空調(diào)的關(guān)閉操作。
(4)導(dǎo)出服務(wù)層。導(dǎo)出服務(wù)層用于將數(shù)據(jù)傳輸至云計(jì)算中心,由客戶端注冊和分發(fā)等微服務(wù)組件組成。前者記錄已注冊的后端系統(tǒng)的相關(guān)信息,后者將對應(yīng)數(shù)據(jù)從核心服務(wù)層導(dǎo)出至 指定客戶端。
(5)系統(tǒng)管理和安全服務(wù):系統(tǒng)管理服務(wù)提供安裝、升級、啟動、停止和監(jiān)測控制EdgeX Foundry 微服務(wù)的功能。安全服務(wù)用以保障來自設(shè)備的數(shù)據(jù)和對設(shè)備的操作安全。
最新版本的 EdgeXFoundry 沒有為用戶自定義應(yīng)用提供計(jì)算框架,用戶可以將應(yīng)用部署在網(wǎng)絡(luò)邊緣,將該應(yīng)用注冊為導(dǎo)出客戶端,進(jìn)而將來自設(shè)備的數(shù)據(jù)導(dǎo)出至應(yīng)用來處理。EdgeX Foundry 的設(shè)計(jì)滿足硬件和操作系統(tǒng)無關(guān)性,并采用微服務(wù)架構(gòu)。EdgeXFoundry 中的所有微服務(wù)能夠以容器的形式運(yùn)行于各種操作系統(tǒng),且支持動態(tài)增加或減少功能,具有可擴(kuò)展性。EdgeXFoundry 的主要系統(tǒng)特點(diǎn)是為每個(gè)接入的設(shè)備提供通用的 RestfulAPI以操控該設(shè)備, 便于大規(guī)模地監(jiān)測控制物聯(lián)網(wǎng)設(shè)備,滿足物聯(lián)網(wǎng)應(yīng)用的需求。EdgeXFoundry 的應(yīng)用領(lǐng)域主 要在工業(yè)物聯(lián)網(wǎng),如智能工廠、智能交通等場景,以及其他需要接入多種傳感器和設(shè)備的場景。
