Button Multi-Mode Control Scenario
Button Multi-Mode Control Scenario
Synchronized Device Documentation
This page corresponds to the synchronized Chinese source. Commands, JSON examples, API paths, field names, and screenshots are kept aligned with the Chinese device-side source documentation.
What This Page Covers
- Button Multi-Mode Control Scenario context and expected reader workflow.
- Configuration, verification, and release-readiness details.
- Source-aligned implementation notes, screenshots, and troubleshooting references.
Source Reference
The detailed operational source is preserved below so implementation details stay exact while the English navigation, titles, and reading path remain available.
按键多模式控制场景
场景描述
通过一个物理按键实现多种控制模式:单击开灯、双击关灯、长按2秒切换模式、长按5秒重启设备。
所需外设
| 外设 | 类型 | 说明 |
|---|---|---|
| btn1 | GPIO_DIGITAL_INPUT_PULLUP(13) | 功能按键 |
| relay1 | GPIO_DIGITAL_OUTPUT(12) | 灯继电器 |
| led1 | GPIO_DIGITAL_OUTPUT(12) | 状态指示灯 |
完整配置流程
方式1:Web界面配置(推荐)
本场景需要先添加按键、继电器和状态灯,再用外设执行规则把单击、双击、长按等事件映射到不同动作。
第一步:配置外设
步骤1:进入外设管理页面
- 打开浏览器访问 ESP32 IP 地址
- 登录后点击左侧菜单 外设配置
步骤2:添加功能按键
点击 新增外设 按钮
填写配置:
字段 填写内容 说明 外设ID btn1功能按键 名称 功能按键显示名称 外设类型 GPIO数字输入上拉 (type: 13) 按键输入 引脚配置 0按键接GPIO0 初始状态 0默认 点击 保存
💡 提示:按键一端接GPIO,另一端接GND,使用内部上拉
步骤3:添加灯继电器
再次点击 新增外设 按钮
填写配置:
字段 填写内容 说明 外设ID relay1灯继电器 名称 灯继电器显示名称 外设类型 GPIO数字输出 (type: 12) 继电器控制 引脚配置 15IN对应GPIO15 初始状态 0默认关闭 点击 保存
步骤4:添加状态指示灯
第三次点击 新增外设 按钮
填写配置:
字段 填写内容 说明 外设ID led1状态指示灯 名称 状态指示灯显示名称 外设类型 GPIO数字输出 (type: 12) LED控制 引脚配置 2板载LED或外接 初始状态 0默认关闭 点击 保存
第二步:配置外设执行规则
规则1:单击开灯
切换到 外设执行管理 标签
点击 新增规则 按钮
填写基础配置:
- 规则名称:
单击开灯 - 上报数据:✅ 启用
- 启用:✅ 启用
- 规则名称:
配置触发器:
- 触发类型:选择 事件触发
- 事件ID:选择
button_click(按键单击) - 目标外设ID:填写
btn1(指定按键)
配置动作:
- 动作类型:选择 高电平
- 目标外设:选择
relay1
点击 保存
规则2:双击关灯
创建规则,名称:
双击关灯触发器配置:
- 触发类型:选择 事件触发
- 事件ID:选择
button_double_click(按键双击) - 目标外设ID:填写
btn1
动作配置:
- 动作类型:选择 低电平
- 目标外设:选择
relay1
点击 保存
规则3:长按2秒闪烁指示灯
创建规则,名称:
长按模式切换触发器配置:
- 触发类型:选择 事件触发
- 事件ID:选择
button_long_press_2s(长按2秒) - 目标外设ID:填写
btn1
动作配置:
- 动作类型:选择 闪烁
- 目标外设:选择
led1 - 闪烁间隔:
200(200ms)
点击 保存
规则4:长按5秒重启设备
创建规则,名称:
长按重启触发器配置:
- 触发类型:选择 事件触发
- 事件ID:选择
button_long_press_5s(长按5秒) - 目标外设ID:填写
btn1
动作配置:
- 动作类型:选择 系统重启
- 执行延时:
500(延时500ms让前置动作完成)
点击 保存
💡 提示:
- 按键事件优先级:按下 → 2s长按 → 5s长按 → 10s长按
- 系统自带50ms软件消抖
- 每个阶段互不干扰
方式2:JSON配置文件导入
按键事件优先级
长按事件按时间递进触发:按下 → 2s长按 → 5s长按 → 10s长按。每个阶段互不干扰。
注意事项
- 指定按键:
triggerPeriphId: "btn1"确保只响应指定按键 - 消抖内置:系统自带 50ms 软件消抖
- 上拉模式:按键一端接 GPIO,另一端接 GND,使用内部上拉
