使用Java和Eclipse Kura进行物联网设备管理

描述

开放服务网关倡议 (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 为中心的设备管理方法的开源和商业变体现已上市。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分