Eclipse Kapua™ 是一个面向物联网(IoT)设备和智能传感器的模块化集成平台,旨在弥合操作技术与信息技术之间的鸿沟。
该平台的设备连接性通过多协议消息代理进行管理。在初始贡献中,用于设备连接的协议将是 IoT 协议 MQTT,同时该代理还支持包括 AMQP 和 WebSockets 在内的其他协议,以实现应用程序集成。设备连接模块负责对连接进行身份验证,实施适当的授权(例如在主题命名空间中),并维护设备注册表。设备注册表存储设备配置文件、设备连接状态和设备连接日志,还可以通过自定义属性和标签实现设备组织。
消息路由组件允许对消息流进行灵活处理,通过可配置的消息路由避免硬编码行为。设备发布的数据可能有不同的消费者,某些消息(如命令和控制消息)旨在由设备管理组件使用,而其他消息(如遥测数据)则旨在存档在 IoT 平台中或重定向到其他系统。
通过设备管理组件,IoT 平台可以对连接的设备执行远程操作。该平台向被管理的设备公开一个开放合同,对设备软件栈不作任何假设。在初始贡献中,设备管理合同基于 MQTT 上的开放应用协议,该协议已由 Eclipse Kura 项目实现。借助此协议,IoT 平台可以进行设备配置的内省和管理、设备服务的管理(包括服务的启动和停止操作)、设备应用程序的管理(包括应用程序的安装、更新和删除)、在设备上执行远程操作系统命令以及获取和设置设备属性和资源,并为设备提供初始配置。在其发展和未来的社区贡献中,Eclipse Kapua 可能会采用其他设备管理协议,如新兴的 LWM2M 标准。
Eclipse Kapua 可以将设备发送的遥测数据存档到持久性存储中,以供应用程序检索。定义了一个参考消息有效负载,允许包含时间戳、地理位置、强类型消息头和不透明消息体。所选编码基于开放的 Google Protocol Buffers 语法。在初始贡献中,使用 NoSQL 数据存储来实现对遥测消息的灵活索引。传入的消息按时间戳、主题和原始资产进行存储和索引,NoSQL 存储允许对消息头进行索引。数据管理还维护一个数据注册表,该注册表维护接收传入流量的主题和指标。
安全基础层维护 IoT 平台的安全方面,如租户、账户和用户的管理。账户模型支持分层访问控制结构。遵循基于角色的访问控制(RBAC),可以定义用户身份并将其与一个或多个权限相关联,确保“最小特权”原则。设备使用这些用户身份之一的凭据或通过 SSL 身份验证连接到平台。
对于与现有应用程序的集成,Eclipse Kapua 提供了基于代表性状态传输(REST)的现代 Web 服务 API。REST API 公开了包括设备管理和数据管理在内的所有平台功能,还提供了到 MQTT 代理的“桥梁”,使命令能够从应用程序路由到设备,而无需与消息代理的特定连接。包括 REST/Comet/WebSockets 等技术,允许在网页和移动仪表板中实时显示设备发布的数据。
Eclipse Kapua 具有基于 Web 的管理控制台,用于执行所有设备和数据管理操作。
该平台的最新版本发布时间从 2017 年 6 月 7 日到 2024 年 9 月 30 日,遵循 Eclipse Public License 2.0 许可证。