使用開源 IIoT 網(wǎng)關加速 Modbus 設備集成
工業(yè)物聯(lián)網(wǎng) (IIoT) 是指將設備、傳感器和執(zhí)行器與工業(yè)基礎設施和應用(包括制造、運輸、能源、零售、醫(yī)療保健和供應鏈管理)聯(lián)網(wǎng)在一起。這種連接允許數(shù)據(jù)收集、交換和分析,從而可能促進生產(chǎn)力和效率的提高以及其他經(jīng)濟效益。邊緣計算是隨著工業(yè)物聯(lián)網(wǎng)應用的興起而出現(xiàn)的。在邊緣計算中,數(shù)據(jù)由設備本身或本地計算機或服務器處理,而不是傳輸?shù)綌?shù)據(jù)中心。
在工業(yè)用例中,許多傳感器需要與邊緣網(wǎng)關連接,解決方案架構(gòu)師和開發(fā)人員需要決定邊緣網(wǎng)關的軟件設計和開發(fā);如何處理來自各種傳感器的數(shù)據(jù);以及如何在設計和開發(fā)階段執(zhí)行數(shù)據(jù)分析。在這種情況下,如果沒有開源框架,新軟件的開發(fā)和錯誤修復可能會耗費大量的精力和成本。這些問題可以通過在開發(fā)階段使用開源邊緣計算框架來開發(fā)邊緣網(wǎng)關軟件來緩解。EdgeX Foundry 是一個開源邊緣計算框架,可用于邊緣網(wǎng)關的軟件開發(fā),從而降低延遲和成本。Modbus 是一種廣泛用于工業(yè)系統(tǒng)的開放協(xié)議,隨著邊緣計算需求的出現(xiàn),將 Modbus 外圍設備連接至邊緣計算系統(tǒng)的能力非常重要。
本系列文章分為兩部分,介紹了基于 EdgeX Foundry 的邊緣網(wǎng)關設計和開發(fā)邊緣計算功能的應用程序。第一篇文章介紹了工業(yè)傳感器及其用例,并概述了邊緣網(wǎng)關要求,并討論了 EdgeX 如何滿足邊緣網(wǎng)關要求。
工業(yè)傳感器概述
在工業(yè)自動化中,傳感器和執(zhí)行器在任何智能產(chǎn)品中都發(fā)揮著至關重要的作用。傳感器讓我們能夠檢測、分析和處理各種變換。執(zhí)行器接收來自傳感器的信號并根據(jù)輸入執(zhí)行動作。
工業(yè)中使用的一些傳感器包括溫度和濕度傳感器、壓力傳感器、接近傳感器、氣體和化學傳感器等。這些傳感器的一些用例包括:
· 溫度是決定生物樣本完整性的關鍵因素。如果樣本沒有在嚴格的溫度控制下保存,它們將變得毫無用處,影響實驗結(jié)論,甚至影響患者的健康。醫(yī)院的 IT 系統(tǒng)管理員可以安裝溫度傳感器,全天候監(jiān)控實驗室和診所的溫度。
· 有些產(chǎn)品對濕度和溫度很敏感。將此類產(chǎn)品存放在普通倉庫中會導致其腐蝕,因此需要將其存放在氣候受控的環(huán)境中。倉庫管理員可以放置傳感器以持續(xù)監(jiān)控倉庫環(huán)境。
· 壓力傳感器用于感測氣體和液體的壓力變化。水壓傳感器可安裝在浸沒在容器內(nèi)的開口管的頂部,用于測量水箱中的水位或水位隨時變化的速度。
在實時工業(yè)環(huán)境中,設備到設備的通信,即設備之間的單向或雙向通信系統(tǒng)性地發(fā)生。根據(jù)設備制造商的不同,使用專有或開源協(xié)議。許多制造商采用開放協(xié)議,以適應輕松將其產(chǎn)品整合到市場中。連接工業(yè)電子設備和 SCADA(監(jiān)控和數(shù)據(jù)采集)的最常見自動化通信協(xié)議之一是 Modbus。
Modbus 協(xié)議的優(yōu)勢在于支持多家制造商、軟件供應商、服務組織,并且擁有活躍的社區(qū)團體提供支持。Modbus 協(xié)議有多種版本,可用于串行端口和以太網(wǎng),最常見的是 Modbus RTU、Modbus ASCII、Modbus TCP 和 Modbus Plus。它通過多種類型的物理介質(zhì)(如串行 RS-232、RS-485、RS-422 和以太網(wǎng))進行通信,并且能夠支持點對點和多點網(wǎng)絡。借助以太網(wǎng)上的 Modbus TCP/IP,Modbus 和其他類型的混合協(xié)議可以同時通過同一物理接口共存。這些功能促使行業(yè)和用戶選擇支持 Modbus 協(xié)議的傳感器。
邊緣網(wǎng)關概述
設備連接
邊緣網(wǎng)關的一個關鍵要求是實現(xiàn)與傳感器和執(zhí)行器的連接。有許多行業(yè)協(xié)議支持不同的設備通信方法。邊緣解決方案應支持最常見的工業(yè)協(xié)議,例如 ZigBee、藍牙 LE、BACnet、Modbus 和西門子 S7。
數(shù)據(jù)分析與規(guī)則引擎
網(wǎng)關可以在本地運行應用程序,從而實現(xiàn)本地數(shù)據(jù)計算。人工智能服務可以在本地處理來自下游設備的數(shù)據(jù),在本地對洞察做出反應,并將部分數(shù)據(jù)發(fā)送到云端。制定規(guī)則也是其中重要的一項。
數(shù)據(jù)存儲
除了本地處理之外,網(wǎng)關還應具備本地存儲數(shù)據(jù)的能力。這是網(wǎng)關自主運行的關鍵。本地計算和本地存儲的結(jié)合還應允許網(wǎng)關以離線模式運行。
互操作性
在邊緣網(wǎng)關上運行的連接設備和應用程序應該提供跨其他產(chǎn)品或系統(tǒng)的互操作性。
安全
數(shù)據(jù)可能需要在邊緣網(wǎng)關的不同模塊之間交換,這些模塊和設備需要驗證彼此之間的連接,因此需要將安全性集成到邊緣解決方案中。邊緣解決方案應允許基于權(quán)限的訪問控制、安全加密通信、證書管理以及與現(xiàn)有安全解決方案的集成。
設備管理
邊緣網(wǎng)關需要一種遠程管理和訪問每個網(wǎng)關的方法。遠程管理功能應允許操作員遠程啟動、停止、配置和更新網(wǎng)關及其所連接的設備。
云連接
邊緣網(wǎng)關和云系統(tǒng)之間的連接至關重要。它有助于記錄準確的數(shù)據(jù)以進行深入分析,并根據(jù)需要將收集到的數(shù)據(jù)傳輸?shù)狡渌麘贸绦颉?
可移植性
邊緣解決方案的軟件應該能夠移植到不同的操作系統(tǒng)和硬件平臺上。這將幫助用戶避免被鎖定在特定供應商的硬件和軟件解決方案中。
EdgeX 鑄造廠
為什么是開源而不是開發(fā)?
開發(fā)新的軟件框架將耗費大量的時間、精力和成本。設計、開發(fā)和測試等每個階段都需要花費大量的時間。EdgeX Foundry 是一個開源邊緣計算框架,它已經(jīng)提供了邊緣網(wǎng)關服務性所需的所有微服務。該框架運行松散耦合的微服務,不需要一起運行所有服務,因此只需運行依賴服務。其他服務可以根據(jù)需要使用。由于這些優(yōu)勢,開源邊緣計算框架被首選為邊緣網(wǎng)關的軟件基礎。
EdgeX Foundry項目已在 Linux 基金會下啟動。它是一個開放的、可互操作的 IoT 邊緣平臺。該框架分為不同的層,每層由多個微服務組成。模塊化架構(gòu)允許用戶輕松擴展、更新和將邏輯分發(fā)到不同的系統(tǒng)中,從而提高可維護性。
EdgeX 與 Windows、macOS 和 Linux 系統(tǒng)兼容。該平臺架構(gòu)的設計方式使得任何技術(shù)人員都可以在短時間內(nèi)學習、自行實施和貢獻。
EdgeX 通過為設備數(shù)據(jù)提取、規(guī)范化、邊緣智能(AI/ML)提供可替換的參考服務以及對新的物聯(lián)網(wǎng)數(shù)據(jù)服務和先進的邊緣計算應用的共享支持,加快了完整的邊緣解決方案和/或邊緣 SW/HW 產(chǎn)品的上市時間。
EdgeX 已在 EdgeXpert、EdgeXRT、HP Engage Edge、EdgeBox 和戴爾網(wǎng)關等產(chǎn)品中實現(xiàn)。EdgeX 框架在這些產(chǎn)品中的使用進一步為在其他邊緣網(wǎng)關中的使用建立了信任。
EdgeX 如何滿足邊緣網(wǎng)關要求?
EdgeX Foundry 是一個開源的、供應商中立的軟件平臺,作為物理感應和驅(qū)動“事物”與信息技術(shù) (IT) 系統(tǒng)之間的邊緣中間件。
數(shù)據(jù)存儲 – Redis DB
EdgeX 默認提供開源 Redis 作為數(shù)據(jù)庫。Redis 提供一系列不同的持久性選項,例如 RDB、AOF。它是一種用于存儲和轉(zhuǎn)發(fā)的內(nèi)存數(shù)據(jù)結(jié)構(gòu)。這有助于邊緣設備在連接和斷開連接模式之間切換的情況。
數(shù)據(jù)分析 – Kuiper 規(guī)則引擎
EdgeX 提供 EMQ X Kuiper,一款用于物聯(lián)網(wǎng)邊緣分析和流處理的輕量級開源軟件包。Kuiper 可以在各種資源受限的邊緣設備上運行。Kuiper 規(guī)則基于 Source、SQL 和 Sink。
· 來源:流數(shù)據(jù)的數(shù)據(jù)源,比如來自 MQTT 服務器的數(shù)據(jù)。
· SQL:SQL 是指定流數(shù)據(jù)處理的業(yè)務邏輯的地方。Kuiper 提供類似 SQL 的語句允許用戶提取、過濾和轉(zhuǎn)換數(shù)據(jù)。
· Sink:Sink 用于將分析結(jié)果發(fā)送到指定目標,例如 MQTT Broker,或者 HTTP REST 地址。
使用 Kuiper 需要以下四個步驟:
1. 創(chuàng)建需要指定數(shù)據(jù)源的流
2. 編寫 SQL/規(guī)則進行數(shù)據(jù)分析
3. 指定用于保存分析結(jié)果的接收目標
4. 部署并運行規(guī)則
設備連接 – 設備服務
EdgeX 提供了四個松耦合的微服務層。其中,設備服務層與設備服務交互。EdgeX 設備服務將來自設備的信息通過數(shù)百種協(xié)議和數(shù)千種格式進行轉(zhuǎn)換,并將其帶入 EdgeX。
設備服務是與智能家用電器、傳感器、執(zhí)行器和行業(yè)中的任何機器等設備交互的邊緣連接器。除了獲取傳感器數(shù)據(jù)和驅(qū)動設備外,設備服務還包括:
1. 從設備/傳感器中獲取狀態(tài)更新
2. 在將傳感器數(shù)據(jù)發(fā)送到EdgeX之前,請先轉(zhuǎn)換數(shù)據(jù)
3. 更改配置
4. 發(fā)現(xiàn)設備
設備服務可以同時服務于一個或多個設備。該設備可以是邊緣/物聯(lián)網(wǎng)網(wǎng)關(以及所有該網(wǎng)關的設備)、設備管理器、傳感器集線器、通過HTTP提供的web服務,或作為EdgeX Foundry的設備的軟件傳感器或設備集合。
互操作性——MQTT代理和REST API
EdgeX支持一個輕量級的MQTT消息傳遞協(xié)議。它使用戶能夠發(fā)布或訂閱消息傳遞傳輸,這是連接具有小代碼占用和最小網(wǎng)絡帶寬的遠程設備的理想選擇。EdgeX支持休息設備服務,這為第三方應用程序通過rest協(xié)議將數(shù)據(jù)推送EdgeX提供了一種簡單的方法。
安全-安全存儲區(qū)和API網(wǎng)關
EdgeX提供了兩個關鍵的安全組件。第一個是一個安全商店,它被用來提供一個安全的地方來保存EdgeX的秘密,如密碼、認證和訪問密鑰。第二個是API網(wǎng)關,它被用作反向代理,以限制對EdgeX REST資源的訪問,并執(zhí)行與訪問控制相關的工作。
設備管理-設備管理API
EdgeX 提供了定期檢查健康狀況的選項。設備管理 API 用于獲取有關任何設備的元數(shù)據(jù)。
云連接
EdgeX提供與AWS、Microsoft Azure、IBM Watson云等云平臺的連接支持。
EdgeX 中的云連接以兩種方式提供:
1. 應用服務:這些服務需要編譯部署,用于將數(shù)據(jù)發(fā)送到 AWS 和 Microsoft Azure 等云服務。它直接從消息總線接收數(shù)據(jù),edgex-core-data 通過該消息總線發(fā)布數(shù)據(jù)事件。
2. 應用服務可配置:提供一種快捷方式來使用配置,而不是編譯服務來使用內(nèi)置 SDK 功能。