新興的技術(shù)和體系架構(gòu),可以幫助制造企業(yè)在集成生態(tài)系統(tǒng)中開發(fā)靈活的工業(yè)物聯(lián)網(wǎng)(IIoT)基礎(chǔ)架構(gòu)。
隨著工業(yè)物聯(lián)網(wǎng) (IIoT)的發(fā)展,它在集成方面也遇到了與以前不同代系的工業(yè)自動(dòng)化相似的挑戰(zhàn)。除了不斷變化的需求,還需要適用很多不同的硬件、軟件技術(shù)以及應(yīng)用場(chǎng)景。但是現(xiàn)在,利用開放標(biāo)準(zhǔn),這些不同元器件可以很好的融合在一起,為用戶提供解決方案。
在IIoT產(chǎn)品和應(yīng)用開發(fā)中,開發(fā)人員的目標(biāo)可能包括:
通過互聯(lián)網(wǎng)支持不同類型的傳感器和驅(qū)動(dòng)器。
集成不同的有線和無線連接協(xié)議,包括 Modbus、LoRa、Sigfox、Wi-Fi、藍(lán)牙以及其它協(xié)議。
通過端口將原始軟件連接到不同的硬件,包括 MCU、x86/ARM CPU、GPU、及其它硬件,還有操作系統(tǒng),包括微軟視窗、Linux、嵌入式操作系統(tǒng)、Android、和其它操作系統(tǒng)。
連接云服務(wù),可能包括WISE-PaaS、微軟的Azure、IBM的Bluemix、和其它云服務(wù)。
維護(hù)數(shù)據(jù)的所有權(quán)和完整性,了解其對(duì)安全和隱私的影響。
快速開發(fā)健壯的應(yīng)用程序。
部署、更新、升級(jí)和維護(hù)大量的設(shè)備和服務(wù)。
將大數(shù)據(jù)轉(zhuǎn)換為有價(jià)值的業(yè)務(wù)信息。
因此, IIoT產(chǎn)品或解決方案必須滿足與傳感器、連接性、安全、云服務(wù)、存儲(chǔ)、設(shè)備硬件與維護(hù)、邊緣/云分析、系統(tǒng)集成、和應(yīng)用程序開發(fā)等相關(guān)的挑戰(zhàn)。許多公司面臨的最大挑戰(zhàn),就是如何在平衡設(shè)計(jì)時(shí)間、投放市場(chǎng)時(shí)間和風(fēng)險(xiǎn)的情況下,將應(yīng)用遷移到物聯(lián)網(wǎng)上去。
邊緣計(jì)算
物聯(lián)網(wǎng)(IoT)數(shù)據(jù)往往具有很大的體量。應(yīng)用程序通常具有實(shí)時(shí)性需求。傳輸大量的原始數(shù)據(jù),通常會(huì)給網(wǎng)絡(luò)資源帶來較大的負(fù)載。通常,在數(shù)據(jù)源附近處理數(shù)據(jù)更為行之有效,這樣就可以只向云中心發(fā)送有價(jià)值的數(shù)據(jù)。
邊緣計(jì)算是一種分布式信息技術(shù)(IT)架構(gòu)。在該體系結(jié)構(gòu)中,客戶端數(shù)據(jù)在網(wǎng)絡(luò)外圍處理,盡可能接近數(shù)據(jù)源。邊緣計(jì)算中的時(shí)間敏感數(shù)據(jù),可由智能設(shè)備在數(shù)據(jù)源點(diǎn)處理,或發(fā)送到地理上比較接近的中間服務(wù)器來處理。對(duì)時(shí)間不太敏感的數(shù)據(jù),可以發(fā)送到云端進(jìn)行歷史分析、大數(shù)據(jù)分析和長期存儲(chǔ)。
不論該解決方案被稱為基礎(chǔ)結(jié)構(gòu)、體系結(jié)構(gòu)、平臺(tái)還是服務(wù)器,公司都必須有管理邊緣計(jì)算模式的手段。在研華新推出的邊緣智能服務(wù)器(EIS)解決方案中,能夠使本地IIoT網(wǎng)絡(luò)實(shí)現(xiàn)邊緣智能,從而可以最大限度地提高能源利用效率,減少對(duì)網(wǎng)絡(luò)安全的威脅,更易于實(shí)施和模塊化,還可以減少時(shí)間延遲。
IIoT軟件平臺(tái)
IIoT軟件平臺(tái)服務(wù)主要基于3個(gè)關(guān)鍵組件: IIoT節(jié)點(diǎn)、邊緣智能服務(wù)器和云服務(wù)。下面將詳細(xì)介紹在平臺(tái)開發(fā)中,供應(yīng)商或企業(yè)用戶必須做出的一些技術(shù)選擇。
對(duì)于邊緣設(shè)備開發(fā),“南向”傳感設(shè)備連接必須處理不同的傳感協(xié)議,例如Modbus、OPC、BACnet、無線IP和非IP。所有這些協(xié)議,可以通過即插即用的模塊來處理傳感器數(shù)據(jù)、數(shù)據(jù)規(guī)范化和通信。
然后,通過微服務(wù)容器模型來處理 “北向”云連接和智能設(shè)施,以模塊化不同的云連接并啟用設(shè)備管理。同樣的,智能設(shè)施也采用微服務(wù)容器體系結(jié)構(gòu)來支持?jǐn)?shù)據(jù)攝取工作負(fù)載,比如數(shù)據(jù)預(yù)處理和清理。
其中最有價(jià)值的可能是按需的實(shí)時(shí)分析服務(wù),在數(shù)據(jù)生成時(shí),可實(shí)時(shí)提取預(yù)先設(shè)置的數(shù)據(jù)特性。預(yù)測(cè)維護(hù)和質(zhì)量功能可用作邊緣預(yù)測(cè)概念的驗(yàn)證。
基于無處不在的MQTT通信協(xié)議和模塊化的Docker容器(container)技術(shù),通過架構(gòu)的開放標(biāo)準(zhǔn)來開發(fā)分析或預(yù)測(cè)維護(hù)模塊。
其它技術(shù),如 RESTful、API、MQTT和Node-RED,也有助于實(shí)現(xiàn)拖放式的應(yīng)用程序開發(fā)。Node-RED和配置實(shí)用程序,使實(shí)現(xiàn)自定義應(yīng)用程序變得容易。此外,具有良好文檔的 SDK MQTT 示例代碼和RESTful API 接口,使高級(jí)開發(fā)人員可以實(shí)現(xiàn)更高級(jí)別的需求。
最后一個(gè)部件是云服務(wù),無論是邊緣設(shè)備還是云端,都配置了SSL/TLS通信和英特爾內(nèi)置的安全特性。數(shù)據(jù)服務(wù)可以提供標(biāo)準(zhǔn)化的PostgreSQL數(shù)據(jù)庫和 NoSQL數(shù)據(jù)庫,并支持標(biāo)準(zhǔn)集成接口,可以連接各種數(shù)據(jù)處理和存儲(chǔ)產(chǎn)品。儀表板網(wǎng)充當(dāng)“物聯(lián)網(wǎng)”應(yīng)用的用戶界面,利用諸如Azure的Power BI 或表格等可視化設(shè)施,通過瀏覽器或移動(dòng)設(shè)備來顯示信息。
此外,IIoT平臺(tái)還提供了一個(gè)用于采購不同的物聯(lián)網(wǎng)實(shí)用程序的“市集”可提供云解決方案,如數(shù)據(jù)庫、儀表板和機(jī)器學(xué)習(xí)工具。
工業(yè)物聯(lián)網(wǎng)(IIoT)軟件平臺(tái)包括工業(yè)物聯(lián)網(wǎng)(IIoT)節(jié)點(diǎn)、邊緣智能服務(wù)器和云服務(wù)。
與IoT相關(guān)的技術(shù)
現(xiàn)在讓我們更仔細(xì)地考察前面提到的一些技術(shù)。MQTT是一種簡單、輕量級(jí)的發(fā)布/訂閱消息傳遞協(xié)議,用于受約束的設(shè)備和低帶寬、時(shí)間滯后較長或不可靠的網(wǎng)絡(luò)。該服務(wù)將其功能和數(shù)據(jù)發(fā)布到 MQTT 代理,并為輸入接口訂閱特定主題內(nèi)容。
RESTful API定義了一組功能,開發(fā)人員使用這些功能來執(zhí)行請(qǐng)求并通過 HTTP 協(xié)議,比如"GET " 和 "POST" 接收響應(yīng)。由于 RESTful API 使用 HTTP 作為傳輸協(xié)議,因此幾乎任何編程語言都可以使用該應(yīng)用程序,并且易于測(cè)試。RESTful API 的要求是客戶端和服務(wù)器之間松散耦合,彼此保持獨(dú)立,允許客戶端或服務(wù)器以任何語言編碼,并可任意改進(jìn),從而延長系統(tǒng)的使用壽命并簡化進(jìn)化過程。
RESTful API 指定了它可以提供什么,如何使用它,以及需要查詢的詳細(xì)信息,例如查詢參數(shù)、響應(yīng)格式、請(qǐng)求限制、公共使用/API 密鑰、方法 (GET/POST/ PUT/DELETE)、語言支持、回調(diào)用法、HTTPS支持、以及資源表示應(yīng)該都是自我描述的。
受RESTful結(jié)構(gòu)樣式約束影響的屬性包括:
組件交互可能是用戶感知性能和網(wǎng)絡(luò)效率的主導(dǎo)因素。
可擴(kuò)展性以支持大量組件和組件之間的交互。
統(tǒng)一接口簡單明了。
組件的可修改性,能夠滿足不斷變化的需求,甚至在應(yīng)用程序運(yùn)行時(shí)都可以進(jìn)行修改。
服務(wù)代理對(duì)組件間通信的可見性。
通過將程序代碼與數(shù)據(jù)一起移動(dòng),使組件具有可移植性。
在組件、連接器或數(shù)據(jù)出現(xiàn)故障時(shí),在系統(tǒng)級(jí)別仍能防御故障。
微服務(wù)體系結(jié)構(gòu)模式,允許設(shè)計(jì)人員將應(yīng)用程序拆分為較小的、相互關(guān)聯(lián)的服務(wù)集,而不是單一的應(yīng)用程序。服務(wù)通常實(shí)現(xiàn)不同的特性或功能,如連接管理、垂直應(yīng)用程序或其它功能。每個(gè)微服務(wù)都是一個(gè)具有獨(dú)特體系結(jié)構(gòu)的小型應(yīng)用程序,包括業(yè)務(wù)邏輯以及各種適配器。
容器化(Containerization)是一種用于部署和運(yùn)行分布式應(yīng)用程序的操作系統(tǒng)級(jí)虛擬化方法,無需為每個(gè)應(yīng)用程序啟動(dòng)整個(gè)虛擬機(jī) (VM)。采用多個(gè)獨(dú)立的子系統(tǒng) (稱為容器),運(yùn)行在同一個(gè)控制主機(jī)上,并訪問單個(gè)內(nèi)核。容器與主機(jī)之間共享相同的操作系統(tǒng)內(nèi)核,通常比虛擬機(jī)效率更高,其中任何一個(gè)都需要單獨(dú)的操作系統(tǒng)實(shí)例。
Docker容器在一個(gè)獨(dú)立的子系統(tǒng)中封裝了一個(gè)軟件,包含文件系統(tǒng)和運(yùn)行所需的一切:代碼、實(shí)時(shí)運(yùn)行、系統(tǒng)工具、系統(tǒng)庫以及任何可能安裝在服務(wù)器上的內(nèi)容。這保證它始終以相同的模式運(yùn)行,而無需考慮環(huán)境的不同。
此外,主機(jī)操作系統(tǒng)還限制了容器對(duì)物理資源 (CPU 和內(nèi)存) 的訪問,因此一個(gè)容器不會(huì)消耗掉主機(jī)的所有物理資源。
Node-RED是開源的,由IBM新興技術(shù)組織實(shí)施。它包括一個(gè)基于瀏覽器的流編輯器,它可以輕松地將“調(diào)色板”中的各種節(jié)點(diǎn)連接在一起。單擊就可以將數(shù)據(jù)流部署到試運(yùn)行中。在Node-RED中創(chuàng)建的流使用 JSON 存儲(chǔ),并且可以導(dǎo)入和導(dǎo)出以供與他人共享。它可以在網(wǎng)絡(luò)邊緣或云端中運(yùn)行。節(jié)點(diǎn)包管理器生態(tài)系統(tǒng)用于擴(kuò)展可用節(jié)點(diǎn)的調(diào)色板,從而實(shí)現(xiàn)與新設(shè)備和服務(wù)的連接。
Freeboard提供了簡單、實(shí)時(shí)的關(guān)鍵性能指標(biāo)的可視化。這個(gè)工具為IoT項(xiàng)目提供了許多可能性,因?yàn)樗唵?、?shí)惠、開源,并可以進(jìn)行擴(kuò)展??蛻艨梢悦赓M(fèi)開始使用,一旦時(shí)機(jī)成熟,就可以選擇一個(gè)適合于他們的計(jì)劃。
邊緣計(jì)算是一種分布式的 IT 架構(gòu)。在該架構(gòu)下,可以在網(wǎng)絡(luò)外圍盡可能接近數(shù)據(jù)源的地方,處理客戶端數(shù)據(jù)
靈活的體系結(jié)構(gòu)
本文所討論的體系結(jié)構(gòu)可以分為5個(gè)類別層。每個(gè)層級(jí)都作為自己的微服務(wù)來實(shí)現(xiàn)的,使用 MQTT 代理作為通信總線,與其它微服務(wù)或客戶端的所有服務(wù)接口。在運(yùn)行時(shí),每個(gè)實(shí)例都是一個(gè)Docker容器。這樣就可以很容易地為特定用戶、設(shè)備或特殊用例部署不同的使用經(jīng)驗(yàn)。容器化,是一種用于部署和運(yùn)行分布式應(yīng)用程序的操作系統(tǒng)級(jí)的虛擬方法。
1. 體系結(jié)構(gòu)的底層是傳感器網(wǎng)絡(luò)連接層。有線傳感器支持各種類型,包括監(jiān)控和數(shù)據(jù)采集 (SCADA)、Modbus和OPC UA。網(wǎng)絡(luò)連接層收集數(shù)據(jù),管理傳感器集線器,將傳感器協(xié)議轉(zhuǎn)換為 MQTT 協(xié)議,然后將數(shù)據(jù)傳遞給 MQTT 通信總線。
2. SDK 層提供了諸如 EIS RESTful API、HDD故障預(yù)測(cè)算法等軟件服務(wù)。開發(fā)人員通過 RESTful API或MQTT 調(diào)用這些服務(wù)。用戶可以添加自己的服務(wù),如機(jī)器學(xué)習(xí)平臺(tái)、數(shù)據(jù)庫引擎等
3. 基于流的層將Node-RED作為數(shù)據(jù)流設(shè)計(jì)引擎,以及SUSI API、WSN和HDD預(yù)測(cè)節(jié)點(diǎn)等附加組件。用戶通過圖形環(huán)境中簡單的拖放操作,就可以完成邏輯路徑的設(shè)計(jì)。
4.管理和用戶的接口層,用于系統(tǒng)管理和IoT連接配置的 Webmin,使用Node-RED用戶界面來呈現(xiàn)IoT/傳感器數(shù)據(jù)。
5.云層可以被預(yù)安裝,例如利用WISE-Agent 連接到WISEPaaS/ RMM云服務(wù)器。
靈活、可擴(kuò)展的硬件/軟件體系結(jié)構(gòu),可幫助制造企業(yè)在集成的生態(tài)系統(tǒng)中開發(fā)復(fù)雜的IoT基礎(chǔ)架構(gòu),服務(wù)于不同的垂直市場(chǎng)。這樣的架構(gòu)可以定制,結(jié)合多個(gè)軟件服務(wù),然后根據(jù)要求將其安裝在不同的硬件上。
評(píng)論
查看更多