Skip to content

示例3:LED流水灯 ​

实验概述 ​

使用多个 GPIO 输出引脚,通过命令脚本动作按顺序点亮和熄灭 LED,形成流水灯效果。

先启用功能配置中的commandScript,并在高级配置用当前密码开启开发模式。外设及规则接线核验后分别启用。GPIO0若被当前板级配置保留,应改用另一个已校验引脚并同步接线,不能绕过预检。

硬件接线 ​

开发板标识GPIO引脚连接设备
D1GPIO15LED1(低电平点亮)
D2GPIO2LED2(低电平点亮)
D3GPIO0LED3(低电平点亮)
D4GPIO4LED4(低电平点亮)

JSON 配置示例 ​

json
{
  "peripherals": [
    {
      "id": "flow_led1",
      "name": "流水灯-LED1",
      "type": 12,
      "enabled": false,
      "pins": [15],
      "params": { "initialState": 1 }
    },
    {
      "id": "flow_led2",
      "name": "流水灯-LED2",
      "type": 12,
      "enabled": false,
      "pins": [2],
      "params": { "initialState": 1 }
    },
    {
      "id": "flow_led3",
      "name": "流水灯-LED3",
      "type": 12,
      "enabled": false,
      "pins": [0],
      "params": { "initialState": 1 }
    },
    {
      "id": "flow_led4",
      "name": "流水灯-LED4",
      "type": 12,
      "enabled": false,
      "pins": [4],
      "params": { "initialState": 1 }
    }
  ]
}

外设执行联动 ​

场景:定时流水灯(定时触发+命令脚本) ​

功能:规则每 5 秒运行一次,脚本内部每 300ms 切换一个 LED,形成流水效果

Web界面配置步骤 ​

步骤1:创建规则

  1. 点击左侧菜单 外设执行
  2. 点击 新增规则 按钮
  3. 填写基础配置:
    • 规则名称:LED流水灯
    • 上报数据:❌ 禁用
    • 启用:✅ 启用

步骤2:配置触发器

  1. 点击 添加触发 按钮

  2. 填写触发器配置:

    字段填写内容说明
    触发类型选择 定时触发按时间间隔执行
    定时模式选择 间隔定时每隔X秒执行
    间隔秒数5每 5 秒执行一轮,避免上一轮尚未结束又重复触发

步骤3:配置动作

  1. 点击 添加动作 按钮

  2. 填写动作配置:

    字段填写内容说明
    动作类型选择 命令脚本执行PERIPH/DELAY序列
    脚本内容见下方代码块流水灯逻辑

脚本内容:

PERIPH flow_led1 LOW
DELAY 300
PERIPH flow_led1 HIGH
PERIPH flow_led2 LOW
DELAY 300
PERIPH flow_led2 HIGH
PERIPH flow_led3 LOW
DELAY 300
PERIPH flow_led3 HIGH
PERIPH flow_led4 LOW
DELAY 300
PERIPH flow_led4 HIGH
  1. 点击 保存 按钮

执行流程:

每 5 秒触发一轮
  ↓
点亮LED1(LOW)
  ↓
延迟300ms
  ↓
熄灭LED1(HIGH)
  ↓
点亮LED2 → 延迟 → 熄灭
  ↓
点亮LED3 → 延迟 → 熄灭
  ↓
点亮LED4 → 延迟 → 熄灭
  ↓
等待下一轮

脚本说明 ​

命令说明示例
PERIPH控制外设电平PERIPH flow_led1 LOW
DELAY延迟(毫秒)DELAY 300

提示:需要来回流水时可直接调整 PERIPH 命令顺序;需要条件联动时请增加规则触发器和动作。

注意事项 ​

  1. 脚本限制:一段脚本最多 1024 字符、50 条命令
  2. 灯光间隔:示例使用 300ms,可按视觉效果调整,但单条 DELAY 不得超过 10 秒
  3. GPIO0 限制:启动时不要将 GPIO0 拉低,否则会进入下载模式
  4. 扩展:可修改命令顺序实现来回流水;随机值仅支持在 LOG 和 MQTT 命令中展开

蜂信物联 | fastbee.cn