GPIO 输出动作
大约 4 分钟
GPIO 输出动作
概述
GPIO 输出动作用于控制数字输出外设(继电器、LED、蜂鸣器等)的电平状态和灯效。
动作类型
| 动作 | actionType | 说明 |
|---|---|---|
| ACTION_HIGH | 0 | 设置高电平 |
| ACTION_LOW | 1 | 设置低电平 |
| ACTION_HIGH_INVERTED | 13 | 逻辑高(物理低电平) |
| ACTION_LOW_INVERTED | 14 | 逻辑低(物理高电平) |
| ACTION_GPIO_TOGGLE | 30 | 电平翻转(HIGH↔LOW,无需 actionValue) |
| ACTION_BLINK | 2 | 闪烁(actionValue=间隔ms) |
| ACTION_BREATHE | 3 | 呼吸灯(actionValue=周期ms) |
参数说明
| 字段 | 说明 |
|---|---|
| targetPeriphId | 目标 GPIO 输出外设 ID |
| actionType | 动作类型编号 |
| actionValue | 动作参数(闪烁间隔/呼吸周期,单位ms) |
| useReceivedValue | true 时用触发接收值替代 actionValue |
| syncDelayMs | 执行前延时(ms,最大 10000) |
配置示例
方式1:Web界面配置(推荐)
外设执行页面如下。GPIO 动作配置时重点核对目标外设、有效电平和是否需要反转模式。
示例1:输出高电平(开灯/开继电器)
场景:打开继电器或LED灯
配置步骤:
在外设执行管理页面编辑规则
点击 添加动作 按钮
填写动作配置:
字段 填写内容 说明 动作类型 选择 高电平 输出高 目标外设 选择 relay1GPIO输出外设 执行延时 0立即执行 点击 保存 按钮
示例2:输出低电平(反转模式,适合低电平触发继电器)
场景:控制低电平触发的继电器模块
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 逻辑高(反转)
- 目标外设:选择
relay1 - 说明:逻辑“开”,物理输出LOW
点击 保存
💡 提示:低电平触发继电器模块需要反转模式,逻辑“开”对应物理LOW
示例3:电平翻转(按键开关灯)
场景:物理按键或平台按钮控制 LED/继电器开关,每触发一次翻转一次当前状态
配置步骤:
编辑规则,添加动作(触发器可选按键事件、平台 MQTT 下发等)
填写:
- 动作类型:选择 电平翻转
- 目标外设:选择
led1 - 动作参数:无需填写
点击 保存
💡 提示:电平翻转直接操作物理引脚电平(读当前电平取反写入),与外设接法无关; 勾选“上报数据”后,翻转结果会回读实际引脚状态上报平台。等价于旧版“发送指令(10)+toggle”写法, 但无需填写指令文本,推荐优先使用。
示例4:LED 闪烁(500ms 间隔)
场景:报警时LED闪烁提示
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 闪烁
- 目标外设:选择
led1 - 闪烁间隔:填写
500(500毫秒)
点击 保存
示例5:呼吸灯(2秒周期)
场景:LED柔和渐变效果
配置步骤:
编辑规则,添加动作
填写:
- 动作类型:选择 呼吸灯
- 目标外设:选择
led_pwm(需PWM输出外设) - 呼吸周期:填写
2000(2000毫秒=2秒)
点击 保存
💡 提示:呼吸灯需要PWM输出外设(type: 17),普通数字输出不支持
方式2:JSON配置文件导入
反转模式说明
对于低电平触发的继电器模块:
- 开启继电器 = 物理低电平 → 使用
ACTION_HIGH_INVERTED(13)(逻辑"开",物理LOW) - 关闭继电器 = 物理高电平 → 使用
ACTION_LOW_INVERTED(14)(逻辑"关",物理HIGH)
注意事项
- 外设类型匹配:targetPeriphId 必须指向 GPIO_DIGITAL_OUTPUT(12) 类型的外设
- 闪烁/呼吸前提:需要外设支持 PWM 功能(闪烁可用于纯数字输出,呼吸需 PWM)
- 电平翻转语义:ACTION_GPIO_TOGGLE(30) 对物理电平取反,若目标引脚正在闪烁/呼吸(ticker), 翻转前会先停止周期动作;上报按非反转语义翻译(物理 HIGH=逻辑“1”),低电平有效外设建议配合反转动作使用
- 延时编排:通过 syncDelayMs 实现多动作顺序执行的时序控制
