RSHome 设备工具
九个工具用于配置 RSHome 智能家居设备。处理组件选择、引脚映射、 代码生成和验证——从“我想在 GPIO4 上接温度传感器“到可构建的设备 配置,全部搞定。
| 工具 | 做什么 |
|---|---|
rshome.validate | 通过 10 阶段流水线验证完整设备配置。 |
rshome.components.list | 列出可用组件,按芯片或分类过滤。 |
rshome.components.add | 向配置添加组件,自动解析依赖。 |
rshome.pin_map | 获取芯片的 GPIO 引脚映射和能力信息。 |
rshome.codegen.preview | 预览将生成的文件,不写入磁盘。 |
rshome.modules.list | 列出可用硬件模块。 |
rshome.solutions.list | 列出方案,可选按模块过滤。 |
rshome.solution.parameters | 获取方案的可配置参数。 |
rshome.assembly.preview | 预览硬件模块的自动推导板卡装配。 |
rshome.validate
对设备配置跑完整的验证流水线。十个阶段检查从 schema 正确性到 引脚冲突的所有内容。
输入:
{
"config": { ... }
}
返回: 验证结果,包含每个阶段的通过/失败状态和错误或警告。
每次改完配置都跑一下——能抓到引脚冲突、缺失依赖和无效组件设置。
rshome.components.list
列出所有已注册的 RSHome 组件。可按芯片、分类或搜索词过滤。
输入:
{
"target": "esp32s3",
"category": "sensor"
}
| 字段 | 必需 | 说明 |
|---|---|---|
target | 否 | 只看支持此芯片的组件。 |
category | 否 | 按分类过滤(sensor、switch、light……)。 |
search | 否 | 在组件名和描述中自由文本搜索。 |
返回: 组件描述数组,包含名称、描述、支持的芯片和分类。
rshome.components.add
向已有的设备配置添加组件。自动解析并包含所有依赖。
输入:
{
"config": { ... },
"component": "dht22",
"pin": 4
}
返回: 更新后的配置,新组件和依赖已添加。
rshome.pin_map
返回芯片的 GPIO 引脚映射,显示每个引脚可用且有什么能力 (ADC、DAC、触摸、UART TX/RX、SPI、I2C 等)。
输入:
{ "target": "esp32s3" }
返回: 每个引脚的能力标志。在调用 rshome.components.add 前
用来确定该把组件分配到哪个引脚。
rshome.codegen.preview
显示设备配置会生成什么文件,不写入任何东西。提交前用来审查 生成的代码。
输入:
{
"config": { ... }
}
返回: 文件路径及其内容数组——通常包括 main.c、组件源文件、
CMakeLists.txt 和 sdkconfig.defaults。
rshome.modules.list
列出可用的硬件模块(预定义的板卡配置)。可选按芯片过滤。
输入:
{ "target": "esp32s3" }
返回: 模块描述数组,包含名称、描述、支持的芯片、可用接口,以及 domain 标签(如 "vehicle_aircraft_control"、"network_security_appliance",或 null 表示跨领域模块)。
rshome.solutions.list
列出可用方案(预配置的应用模板)。可选按模块兼容性过滤。
输入:
{ "module": "bootstick-s3" }
返回: 方案描述数组。
rshome.solution.parameters
获取特定方案的用户可配置参数——WiFi SSID、传感器阈值、更新 间隔等。
输入:
{ "solution": "temp-monitor" }
返回: 参数描述数组,包含名称、类型、默认值、描述,以及可选的 enum_values(预定义的可选值列表)和 depends_on(级联可见性依赖)。载具方案使用枚举参数来选择芯片(MPU6050、BMI270、BNO055 等)、控制协议(CRSF、SBUS、ESP-NOW、WiFi+MAVLink)、执行器类型和视频链路。
rshome.assembly.preview
预览硬件模块的自动推导板卡装配——显示组件、引脚和接口在物理 板卡上的映射。
输入:
{ "module": "bootstick-s3" }
返回: 装配描述,包含引脚分配、接口映射和组件布局。