開放服務網關倡議 (OSGi) 模型中基于 Java 的設備應用程序框架可以加快物聯網 (IoT) 網關和應用程序的開發,并提供傳統嵌入式代理無法提供的高級遠程管理功能。
物聯網 (IoT) 的邊緣是解決方案使用傳感器、執行器、網關、代理和控制器連接、通信和交互的地方。隨著技術的進步,供應商正在為這些邊緣設備宣傳“高級管理功能”。這些功能各不相同,從打開和關閉設備的簡單功能到更新軟件、管理 Wi-Fi 連接、配置安全策略或更改數據參數等更復雜的操作。
一些平臺聲稱具有邊緣管理功能,但使用代理的基于微控制器的解決方案無法提供復雜的管理功能。下面介紹了代理的局限性以及如何開發具有高級設備管理功能的邊緣系統,特別是通過使用 Eclipse Kura 開源項目。通過將先進的應用程序開發框架與適合智能設備控制器的足跡相集成,邊緣系統可以輕松地與基于云的管理平臺進行通信,這些平臺提供遠程監控,以節省物聯網部署的時間和金錢。
網關上用于基本設備管理的代理
代理有多種形式和形式,在某種程度上可以在不同的操作系統 (OS) 上實現,但它們的集成不夠深入。
許多公司以網關上的嵌入式代理的形式提供設備管理。這種類型的代理是專門為設備編寫的,通常預編譯在網關的開發工具包中。在某些情況下,開發人員可以訪問允許少量定制的 API,例如能夠設置一些關于發送多少數據或何時報告數據的參數。其他時候,代理是硬編碼的,通常是用 C/C++ 編寫的,具有一組無法更改的功能。
從管理的角度來看,駐留在微控制器或其他受限硬件上的代理通常不可靠,并且很難修改或升級。因此,如果應用程序發生變化或系統需要更新,開發人員往往不得不從頭開始。雖然許多供應商宣傳這些解決方案對于數據分析很靈活,但他們的意思是客戶可以在數據到達云端后對數據做任何他們想做的事情。然而,這樣的代理并沒有提供太多的邊緣控制方式。
在網關級別,需要更健壯和開放的設備應用程序框架來啟用高級設備管理功能。
用于高級設備管理的設備應用程序框架
網關上的代理和邊緣系統本身之間存在大量設備管理解決方案,因為更高級的物聯網解決方案需要比傳統代理解決方案提供的更多遠程管理功能。
考慮一家自動售貨機公司,其機器分布在全球各地。參數經常變化以反映庫存、價格和偏好,操作員可以從遠程管理中受益,以修復損壞的機器、更新軟件、添加新的產品線或服務等。這種類型的高級遠程設備管理可以通過設備應用程序框架來實現。
設備應用程序框架在網關上的操作系統和業務應用程序之間放置了一層。這種具有凝聚力的軟件組件集合允許客戶隨著時間的推移修改、重新配置和維護他們的應用程序,因此它會隨著市場需求的變化而發展。此外,架構的適應性和靈活性提供了優于靜態、固定功能代理的競爭優勢。但是,在為具有高級管理能力的邊緣系統實施設備應用程序框架之前,有幾個關鍵考慮因素,特別是特定開發平臺的模塊化、靈活性和接口。
基于標準和模塊化
選擇一個開放、可訪問和模塊化的設備應用程序框架允許開發人員加載和編寫他們自己的應用程序以用于管理和計算目的,并選擇一個靈活的標準確保在邊緣運行健壯、易于理解和高效。
例如,基于 Java 的 IoT 設備應用程序框架可以實現更短、更具確定性的設備軟件開發。使用 Java 以 IT 為中心的方法在智能邊緣設備中實現邏輯可以改善設備和應用程序管理,因為其圍繞服務交付的強大軟件基礎架構非常適合連接設備中的應用程序代碼開發。這可以在移植到嵌入式設備之前通過軟件仿真輕松進行代碼開發,并通過硬件、網絡、安全和操作系統功能的抽象來提供投資保護并縮短上市時間。
Open Services Gateway 倡議 (OSGi) 是一個用于 Java 的模塊化平臺,它實現了一個完整的組件模型。OSGi 提供了一種獨立于供應商、基于標準的方法來模塊化 Java 軟件應用程序和基礎架構,其經過驗證的服務模型允許組件在本地和跨分布式網絡進行通信(圖 1)。結果是基于規范的連貫物聯網服務架構,該架構具有高度可擴展性,可用于長期遠程管理和維護。
基于 Java 的應用程序或組件作為 OSGi 部署包提供,可以遠程安裝、啟動、發現、停止、更新和卸載。配置很簡單,因為開發人員可以將其他應用程序包直接寫入應用程序管理層,對獲取的數據做一些完全不同的事情,或者只是擴展該層或使用另一個包。
靈活的
輕松更改和修改功能的能力是當今設備應用程序框架的必備條件,但傳統的代理解決方案并非面向未來,因為如果應用程序發生重大變化,它們必須重新構建。建立在開放標準上的設備應用程序框架可以與多個管理系統進行通信,任何基于 Java/OSGi 部署模型的平臺都可以從應用程序的角度管理設備的各個部分。
類似界面
開發人員不希望在不同系統上執行不同的設備管理;無論邊緣設備是 Raspberry Pi、英特爾 Edison 還是專用硬件,都應該以相同的方式進行管理。在 Java 虛擬機 (JVM) 之上使用基于 OSGi 的容器可簡化應用程序開發并優化跨系統和硬件架構的可移植性。
簡而言之,從需要多年開發的經過驗證的體系結構和軟件構建塊開始,使用設備應用程序框架可以導致更短、更具確定性的設備軟件開發。一旦這個標準軟件平臺到位,對有價值的數據采取行動就變得比以往任何時候都容易。
Eclipse Kura,一個開源應用程序開發和管理平臺
Eclipse Kura 是一個開源項目,它通過使用支持遠程管理并提供廣泛的開發人員 API 的智能應用程序容器來提供構建物聯網網關的平臺(圖 2)。Eclipse Kura 項目的目標可以概括為:
? 為在服務網關中運行的物聯網應用程序提供基于 OSGi 的容器——Kura通過 API 和服務補充了 Java 和 OSGi 平臺,涵蓋了物聯網應用程序的最常見需求。這些擴展包括但不限于 I/O 訪問、數據服務、看門狗、網絡配置和遠程管理。
? Kura 在可用時采用現有的 javax.* API——如果可能,Kura 將選擇與 Eclipse 許可證兼容的 API 的開源實現,并將其打包到 OSGi 包中,以包含在 Kura 默認構建中(例如, javax.comm、javax.usb 和 javax.bluetooth)。
? 設計構建環境——Kura 構建環境隔離了本機代碼組件,并使得在 Kura 構建和分發中為新平臺添加這些組件的端口變得簡單。
? 在 Eclipse IDE 中為物聯網應用程序提供一個仿真環境——從 Eclipse IDE 中,應用程序可以部署在目標網關上,并遠程配置到現場支持 Kura 的設備。
Eclipse Kura 為現場總線協議和傳感器集成的其他貢獻提供了一個基礎,允許 Java 開發人員在邊緣控制行為內置功能包括打開或關閉串行端口、Wi-Fi 管理、遠程數據處理等等。這些遠程管理服務還允許安裝在 Kura 中的物聯網應用程序持續配置、升級和部署。
Kura 設備應用程序框架的商業版本也可以在市場上買到,例如 Eurotech Everyware 軟件框架 (ESF),它在安全性、現場協議支持以及與 Everyware Cloud IoT 服務和應用程序支持的本機集成方面提供了擴展平臺。通過 ESF,Eurotech 為構建 IoT 應用程序的 Java 開發人員提供了一套通用的設備、網絡和服務抽象工具,包括 I/O 訪問、數據服務、網絡配置和遠程管理。
結論
遠程管理無需物理接觸設備即可啟用更新、配置和故障排除,從而節省時間和金錢。例如,在醫療領域,遠程管理意味著可以同時遠程更新由數千臺設備組成的網絡,因此患者可以獲得最新的可用護理。在工業市場中,通過消除技術人員在現場維修設備的需要,遠程管理設備可以節省資金。
先進的基于 Java 的設備應用程序框架抽象了硬件和網絡子系統的復雜性,簡化了跨平臺物聯網應用程序的開發、重用和遠程管理。這種以 IT 為中心的設備管理方法的開源和商業變體現已上市。
審核編輯:郭婷
-
物聯網
+關注
關注
2909文章
44557瀏覽量
372790 -
JAVA
+關注
關注
19文章
2966瀏覽量
104702 -
WIFI
+關注
關注
81文章
5296瀏覽量
203578
發布評論請先 登錄
相關推薦
評論