示例教程
FastBee-Arduino 配置示例大全,涵盖基础 GPIO 操作、传感器接入、显示控制、通信协议及 Modbus 子设备接入。
推荐阅读:模块和传感器清单 - 先确认外设类型和运行时开关;传感器与模块完整指南 - 查看详细配置参考
硬件案例
以下示例分别对应不同硬件和配置,不能互相复制 JSON:
| 环境 | 示例 | 主要内容 |
|---|---|---|
esp32c3-F4R0 | C3 温湿度 | OLED、温湿度与低内存使用 |
esp32c3-F4R0(先核实 Flash) | C3 智能开关面板 | 零火版 1/2/3 开、按键单击、继电器与 Web 同步;资料核对完成,实物待验证 |
esp32c6-F4R0 | C6 RGB 快速开始 | GPIO8 WS2812 和定时/平台联动 |
esp32-F4R0 | 普中 ESP32 测试 | 经典 ESP32 外设和规则 |
esp32s3-F16R8 | ECM50-A 联网与工业采集 | AI/DI、SHT30、Modbus RTU、以太网和 4G |
esp32s3-F8R0 | Waveshare 6 路继电器 | 6 路继电器、WS2812 和 RS485 |
esp32s3-F16R8 | Waveshare 4 英寸触控屏 | RGB 显示、GT911 触摸、Web 拖拽编辑与通用设备控制 |
已有案例的对应 JSON 保存在 FastBee-Arduino 源码仓库的 docs/ 下;智能开关面板案例提供字段说明与原始 Arduino 代码,专用配置须在实物身份确认后建立,不能套用 COM4 温湿度配置。导入前先核对芯片、引脚和本机网络参数;公开示例不包含生产 WiFi 或 MQTT 凭据。
示例列表
基础实验(01-24)
| 编号 | 名称 | 核心外设类型 |
|---|---|---|
| 01 | LED 点亮 | GPIO_DIGITAL_OUTPUT |
| 02 | LED 闪烁 | GPIO_DIGITAL_OUTPUT + periph-exec |
| 03 | LED 流水灯 | 多 GPIO + PERIPH/DELAY 命令脚本 |
| 03b | LED 流水灯(命令脚本) | 多 GPIO + PERIPH/DELAY 命令序列 |
| 04 | 蜂鸣器 | GPIO_DIGITAL_OUTPUT / PWM |
| 05 | 继电器 | GPIO_DIGITAL_OUTPUT |
| 06 | 按键控制 | GPIO_DIGITAL_INPUT_PULLUP |
| 07 | 直流电机 | GPIO_DIGITAL_OUTPUT |
| 08 | 步进电机 | STEPPER_MOTOR |
| 09 | 外部中断 | GPIO_INTERRUPT |
| 10 | 定时触发 | TIMER_TRIGGER |
| 11 | PWM 呼吸灯 | GPIO_PWM_OUTPUT |
| 12 | 串口通信 | UART |
| 13 | ADC 电压采集 | GPIO_ANALOG_INPUT |
| 14 | RGB 灯带 | NEO_PIXEL |
| 15 | 数码管显示 | SEVEN_SEGMENT_TM1637 |
| 16 | NTP 时钟 | 系统 NTP + 定时 |
| 17 | DS1302 RTC | 外部 RTC |
| 18 | DS18B20 温度 | SENSOR(ONE_WIRE) |
| 19 | DHT11 温湿度 | SENSOR(DHT) |
| 20 | 超声波测距 | SENSOR(HC-SR04) |
| 21 | 红外遥控 | IR_REMOTE(按环境编译;S3 F8R8 已裁剪) |
| 22 | 舵机控制 | PWM_SERVO |
| 23 | OLED 显示 | LCD(SSD1306) |
| 24 | SD 卡读写 | SPI SD存储、只读状态38、专用数值记录40 |
扩展实验(25-44)
| 编号 | 名称 | 核心外设类型 |
|---|---|---|
| 25 | 激光传感器 | GPIO_DIGITAL_OUTPUT |
| 26 | 倾斜传感器 | GPIO_DIGITAL_INPUT_PULLUP |
| 27 | 震动传感器 | GPIO_DIGITAL_INPUT |
| 28 | 干簧管 | GPIO_DIGITAL_INPUT |
| 29 | 对射光电 | GPIO_DIGITAL_INPUT |
| 30 | 雨滴传感器 | ADC + GPIO |
| 31 | PS2 摇杆 | 双 ADC + 按键 |
| 32 | 声音传感器 | GPIO_ANALOG_INPUT |
| 33 | 光敏传感器 | GPIO_ANALOG_INPUT |
| 34 | 火焰传感器 | GPIO_ANALOG_INPUT |
| 35 | 烟雾传感器 MQ-2 | GPIO_ANALOG_INPUT |
| 36 | 触摸传感器 | 外接TTP223数字输出(GPIO输入) |
| 37 | 旋转编码器 | ENCODER |
| 38 | 红外避障 | GPIO_DIGITAL_INPUT |
| 39 | LCD1602 显示 | LCD1602(type:52,默认关闭) |
| 40 | BMP280 气压 | I2C SENSOR(需启用 i2cSensors) |
| 41 | MPU6050 陀螺仪 | I2C SENSOR(需启用 i2cSensors) |
| 42 | 红外寻迹 | GPIO_DIGITAL_INPUT |
| 43 | RFID 射频卡 | SPI SENSOR(需启用 rfid) |
| 44 | 人体红外 PIR | GPIO_DIGITAL_INPUT |
Modbus 子设备(45-48)
| 编号 | 名称 | 核心外设类型 |
|---|---|---|
| 45 | Modbus 温湿度传感器 | UART(Modbus RTU) |
| 46 | Modbus 步进电机控制 | UART(Modbus RTU) |
| 47 | Modbus 继电器模块 | UART(Modbus RTU) |
| 48 | Modbus 土壤传感器 | UART(Modbus RTU) |
射频与雷达(49-50)
| 编号 | 名称 | 核心外设类型 |
|---|---|---|
| 49 | 433MHz 射频模块 | RF_MODULE |
| 50 | 雷达感应模块 | RADAR_SENSOR |
显示联动(51-52)
| 编号 | 名称 | 核心外设类型 |
|---|---|---|
| 51 | OLED 温湿度显示 | LCD + SENSOR + 模板变量 |
| 52 | TM1637 温湿度显示 | TM1637 + SENSOR |
Modbus 控制与采集(53-54)
| 编号 | 名称 | 核心外设类型 |
|---|---|---|
| 53 | Modbus 控制设备 | MODBUS_DEVICE + 轮询触发 |
| 54 | Modbus 传感器设备 | MODBUS_DEVICE + 定时采集 |
最佳实践
引脚分配原则
完整的引脚分配原则、硬件约束和冲突检测机制详见 外设配置指南。经典ESP32需注意GPIO34-39输入限制、Flash保留引脚和ADC2/WiFi冲突;其他芯片按其板级能力核验,不套用该引脚表。
传感器配置建议
- DHT11/DHT22: 采样间隔 >= 2 秒,避免读取过快导致数据异常
- DS18B20: 单总线可并联多个传感器,通过地址区分
- I2C 设备: 可共用 SDA/SCL,但 I2C 地址不能冲突
- 超声波 HC-SR04: 触发引脚和回声引脚需不同,规则间隔定时至少1秒,按实际回波与负载选择
- BMP280/MPU6050: 发布环境编译支持,需启用
FASTBEE_ENABLE_I2C_SENSORS和运行时i2cSensors
外设执行规则设计
- 定时采集: intervalSec >= 5 秒,避免频繁读取传感器
- 事件触发: 先确认采集规则已生成
ds:<id>_<field>数据源 - 联动控制: 注意继电器有效电平 (高有效/低有效)
- 脚本执行: 需启用
commandScript/ruleScript,并通过运行时内存预算检查 - 同步延时: 按动作顺序需要设置执行前syncDelayMs(最多10000ms);延时不替代资源仲裁
联动配置入口
温湿度采集及阈值见示例19,OLED先读取两个字段再显示见示例51,Modbus任务/映射见示例45。ADC原始值不等于lux、ppm或mV;电流阈值规则不能代替硬件过流保护。按键用单击事件,数字输入变化用ds:外设ID,传感器采样用ds:外设ID_字段;不可混用。
固件兼容性
发布环境共享统一功能基线,但仍会按环境裁剪硬件相关能力。具体功能是否可用,以 PlatformIO 环境覆盖、Web“功能配置”页和 /api/system/status 返回的运行时状态为准;4MB 单应用环境不支持 OTA,C3/C6 发布环境不提供以太网或 4G。基础菜单始终显示,可选菜单仅在对应功能为 active 时显示。
相关文档
- 外设管理 — 添加和配置外设
- 外设执行管理 — 规则联动配置
- 外设文档 — 各外设类型详细说明
- Modbus RTU 协议 — Modbus 通信配置

