跳到主要内容

设备健康

健康原语把具体设备的健康数据统一为按需快照和服务端流。按需调用方使用 state,持续监测方使用 stream。当前版本尚未把这些原语健康流聚合到 Soma 与 Vitals 的标准运行链;需要健康监控的部署必须分别验证设备健康提供方和 Vitals 实际接收到的数据。

能力约定 TOML 在 capabilities/primitive/health/,接口定义语言(Interface Definition Language,IDL)文件在 capabilities/lib/health/

新软件包省略 Driver 条目,由框架自动注册共享的 robonix/lifecycle/driver;显式选择共享 Driver 的行为相同。未实现生命周期回调时,框架记录警告并执行空操作。

后向兼容:设备健康命名空间 Driver

robonix/primitive/health/driverlifecycle/Driverprimitive/health/driver.v1.toml 只用于仍由软件包自行维护 Driver TOML 的旧实现。目前仍可使用,但计划迁移到共享 Driver;两种 Driver 不能同时注册。详见生命周期兼容流程

接口

能力约定 ID模式载荷(IDL)能力约定 TOML
robonix/primitive/health/staterpchealth/GetHealthStateprimitive/health/state.v1.toml
robonix/primitive/health/streamrpc_server_streamhealth/StreamHealthStateprimitive/health/stream.v1.toml

HealthState.voltageHealthState.remaining_s 以及各 SensorReading 的不可用数值都用 -1 表示未知。提供方必须填写稳定的传感器 name,不要把未知值填成 0stream 每个采集周期发送一个 HealthState

Robonix 源码树当前不包含可直接部署的真实设备健康原语。硬件部署需要按供应商接入指南创建提供方,在 package_manifest.yaml 中只列出运行时真实声明的接口,并运行 rbnx codegen -p <package>。现有 Piper 路径中的 health_piper 也是部署侧软件包,不是仓库内置实现。