场景
概述
在通用物联网 (IoT) 以及 ESP RainMaker 的语境中,一个**“场景 (scene)”**指的是一组被设置为特定值的参数集合,其中一个或多个设备可能分布在多个节点上。
注意,场景是一个静态实体,需要通过手机应用、语音助手或预定义的时间表进行激活。
与 ESP RainMaker 的其他功能一致,场景完全在节点端以“服务”的形式实现。云后端仅充当节点与客户端(如手机应用)之间的网关。
场景功能已通过 C 语言 API 进行了封装。另外,手机应用也对其进行了抽象处理。
使用场景
ESP RainMaker 的场景功能允许用户使用单个命令同时控制多个设备,为智能家居及工业场景提供高效便捷的解决方案。用户可自定义“观影模式”、“工作模式”等个性化场景,并通过 Alexa 或谷歌语音助手语音触发,实现设备状态自动切换,无需手动操作。
例如,在“傍晚”场景下打开温暖色调的灯光,在“夜间”场景下调暗床头灯并启动风扇或空调。场景的设置优化了电力能耗,是一种实用且具有成本效益的 IoT 解决方案。
您需了解
参数详情
场景服务通过一个对象数组参数实现,在节点配置中显示如下:
JSON 负载(点击展开/折叠)
"services": [{
"name": "Scenes",
"params": [{
"bounds": {
"max": 10
},
"data_type": "array",
"name": "Scenes",
"properties": [
"read",
"write"
],
"type": "esp.param.scenes"
}],
"type": "esp.service.scenes",
"attributes": [{
"name": "deactivation_support",
"value": "no"
}]
}]
- 场景参数默认是一个空数组。
max
表示一个节点可以设置的场景数量上限。- 场景的“停用”功能默认关闭,但可以通过以下配置项启用:
CONFIG_ESP_RMAKER_SCENES_DEACTIVATE_SUPPORT
添加新场景
通过在 setparam
中传递如下值来添加新场景:该数据通常由客户端发送到云端,或直接通过本地控制发送到节点。
JSON 负载(点击展开/折叠)
{
"Scenes": {
"Scenes": [{
"name": "Evening",
"id": "8D36",
"info": "My Test Scene",
"operation": "add",
"action": {
"Light": {
"Power": true
}
}
}]
}
}