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