Evan
发布于 2026-05-31 / 0 阅读
0
0

继电器控制

title: 继电器控制  
date: 2026-05-04T14:22:43+08:00  
lastmod: 2026-05-31T17:03:00+08:00

继电器控制(RelayLight)

基于 CC2530 的 Zigbee Router 设备,集成 DS18B20 温度传感器和继电器控制。

硬件特性

  • 主控:CC2530
  • 供电:220V AC(Router 节点,常供电)
  • 温度传感器:P1_7 连接 DS18B20 单总线数字温度传感器(GPIO 主动驱动,无需外部上拉电阻)
  • 继电器控制:P0_3 输出高电平驱动 NPN 三极管闭合继电器,控制 220V 负载

功能

  • 上电自动组网:Router 节点启动后自动进行 Network Formation + Steering

  • 温度上报:每 report_period 秒(默认 10s)读取 DS18B20 温度并上报到 Coordinator

    • ZCL Temperature Measurement Cluster(0x0402)
    • 单位:0.01°C(int16,例如 2515 = 25.15°C)。驱动内部把 DS18B20 原始 1/16°C 值换算为 0.01°C 再交给 ZCL 属性
  • 可配置上报周期:z2m UI 上直接编辑 report_period​,或写制造商自定义属性 ATTRID_RELAY_REPORT_PERIOD (0xF001, uint16)

    • 范围:5~3600 秒
    • 写入立即更新 RAM + NV
  • 快速切换物理开关检测

    • 设备运行时每秒记录运行时长到 NV,持续 boot_record_sec
    • 下次开机时如果上次运行时长 < toggle_threshold 阈值,自动反转继电器状态
    • 可通过 zigbee2mqtt 配置 toggle_threshold​(0xF002,毫秒,默认 5000ms)和 boot_record_sec(0xF003,秒,默认 10s)
  • 继电器控制:接收 On/Off 命令(ON/OFF/TOGGLE),控制 P0_3 输出

  • 状态同步:OnOff 标记 ACCESS_REPORTABLE;入网 15 秒后自动 JOIN_REPORT

  • 状态持久化:OnOff 状态和上报周期保存到 NV

  • 软件版本自动暴露:ApplicationVersion / SWBuildID / DateCode

ZCL Clusters

Cluster 属性
Basic 制造商名、型号、版本、构建信息、上报周期配置(0xF001)、快速切换阈值(0xF002)、启动记录秒数(0xF003)
Identify IdentifyTime
On/Off OnOff(R/Reportable)
Temperature Measurement MeasuredValue(R/Reportable)、MinMeasuredValue、MaxMeasuredValue

zigbee2mqtt 暴露

  • state -- 继电器状态(ON/OFF)
  • temperature -- DS18B20 温度值(°C)
  • report_period -- 温度上报周期(秒),5~3600,默认 10
  • toggle_threshold -- 快速切换阈值(毫秒),默认 5000ms
  • boot_record_sec -- 启动时记录运行时长的秒数,默认 10s
  • linkquality -- 信号质量

DS18B20 驱动说明

驱动针对 ZStack 协作式多任务做了非阻塞化重构:

  1. API 拆分为两阶段DS18B20_StartConversion()​ 发送命令后立即返回(<2ms);DS18B20_ReadResult() 读取结果(<15ms)。两次调用之间通过 OSAL 定时器插入 ≥800ms 延迟,绝不忙等
  2. 温度单位换算:DS18B20 12-bit 原始值单位 1/16°C,驱动内部换算为 ZCL 标准的 0.01°C(raw * 100 / 16
  3. 时序校准:基于 CC2530 @ 32MHz 逻辑分析仪实测,所有 1-Wire 时序参数均在 DS18B20 规范范围内
  4. GPIO 主动驱动:空闲时 P1_7 = OUTPUT HIGH,无需外部上拉电阻

硬件图纸

PCB_PCB_iot_board_LightRouterV3_2026-05-04.pdf

SCH_iot_board_LightRouterV3_2026-05-04.pdf

固件下载

RelayLight.hex(Router 节点,Flash 236.3 KB / RAM 7.2 KB)


评论