Zigbee 单火开关接入标准

更新时间:2023-07-06 05:53:25下载pdf

Zigbee 单火开关是一个受控设备,采用磁保持继电器实现开关动作并能接收开关指令作用于负载灯。

您现在正在阅览的,是一篇不完全公开的文档,这表示该文档内容的适用性有一定的限制,文档或目录所描述的内容适用于旧版本 SDK、API、工具、平台等。
如果您需要更准确的技术文档,请访问 涂鸦 IoT 开发平台,然后自行搜索。

​用 Zigbee3.0 标准里的 On Off Light 设备来实现。

名词解释

名词 解释
Zigbee SDK 基于芯科 Zigbee 协议栈经过裁剪、优化后封装的涂鸦 Zigbee SDK。
Attribute Attribute (属性)是一个反映物理数量或状态的数据值
Cluster Cluster (群集)是包含一个或多个属性(Attribute)的群集
EndPoint EndPoint (端点)是协议栈应用层的入口,即入口地址,也可以理解应用对象存在的地方,它是为实现一个设备描述而定义的一组群集
Device Id Zigbee 中为每一种设备定义的序号
TYZS13 模组    一款适合用于开发单火调光设备的 Zigbee 模组
弱电设备 是指使用电池供电的设备,在 Zigbee 协议中被称为 Sleep End Device 的设备
强电设备 接入市电设备,在 Zigbee 协议中被称为 End Device 的设备
PID Product ID,在涂鸦 IoT 平台创建的每一个产品都会产生一个唯一的产品编号,关联了产品具体的功能点、APP 控制面板、出货信息等所有跟这个产品相关的信息。
SOC System On Chip,硬件本身无 MCU,控制程序写入联网模组中。
SDK Software Development Kit,软件开发工具包,辅助开发某一类软件的相关文档、范例和工具的集合。为了鼓励开发者使用其系统或者语言,许多 SDK 是免费提供的,涂鸦的也是。
固件 Firmware,就是写入 EROM(可擦写只读存储器)或 EEPROM(电可擦可编程只读存储器)中的程序。固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。固件是担任着一个系统最基础最底层工作的软件。
OTA 是固件升级的意思,我们是支持 OTA 的。固件升级分为无线的和有线的,FOTA 是无线固件升级。

Zigbee 设备功能描述

Zigbee 3.0 协议版本

Name ID
Profile Id 0x0104
Device Id 0x0100

Endpoint

Enpoint 描述
1 第一路单火开关
2 第二路单火开关

支持的 clusters

On Off Light(0x0100)
Input Clusters(Server) Output Clusters(Client)
Basic(0x0000) OTA(0x0019)
Identify(0x0003)
Group Cluster(0x0004)
Scene Cluster(0x0005)
On Off Cluster(0x0006)

支持的属性和命令

Basic Cluster

Attribute:

ID Name    Data Type    Range Defualt value
0x0000 ZCLVersion uint8 -0x20 0x00 - 0xff    0x01
0x0001 ApplicationVersion    uint8 -0x20 0x00 - 0xff    ie: 0b 01 00 0001 = 1.0.1即0x41为1.0.1
0x0002 StackVersion uint8 -0x20 0x00 - 0xff 2
0x0003 HardwareVersion uint8 -0x20 0x00 - 0xff 0x01
0x0004 ManufacturerName string -0x42 0 - 32 bytes XXX…XXX(长度为16个字节,由8字节前缀和8字节的PID组成) 0-7 bytes:TZ3000 8-16 bytes:PID(由产品经理在平台创建和提供) 1路调光开关PID:9v86hx9o
0x0005 ModleIdentifier string -0x42 0- 32 bytes TS0012 该字段为了网关快速识别设备类型用,提升体验
0x0007 PowerSource enum8-0x30 0x00 - 0xff 0x01
0xFFFD clusterrevision uint16 -0x21 0x0000 - 0xffff 0x0001

Commands :

ID Name Direction Description
0x00 Reset to factory default C->S

Identify Cluster

Attribute:

ID Name Data Type Range Defualt value
0x0000 IdentifyTime uint16 -0x21 0x0000 - 0xffff 0x0000
0xFFFD clusterrevision int16 -0x29 0x0000 - 0xffff 0x0001

Commands :

ID name Direction Description
0x00 Identify C->S
0x01 Identify Query C->S

On/Off Clusterr

Attribute:

ID name Data Type Range Defualt value
0x0000 OnOff bool-0x10 0x00 - 0x01 0x00
0x4001 OnTime uint16 -0x21 0x0000 - 0xffff 0x0000
0x4002 OffWaitTime uint16 -0x21 0x0000 - 0xffff 0x0000

Commands :

ID name Direction Description
0x00 Off C->S
0x01 On C->S
0x02 Toggle C->S
0x42 On with timed off C->S

Over The Air Upgrade Cluster

Attribute:

ID name Data Type Range Defualt value
0x0000 UpgradeServer ID EUI64-0xF0 0xffffffffffffffff
0x0001 FileOffset uint32-0x23 0x00000000
0x0002 CurrentFileVersion uint32-0x23 0x21050002
0x0006 ImageUpgradeStatus enum8-0x30 0x00
0x0007 ManufacturerID uint16 -0x21 0x1002
0x0008 ImageTypeID uint16 -0x21 0x1602
0x0009 MinBlockRequestPeriod uint16 -0x21 0x0000
0xfffd Clusterrevision uint16 -0x21 0x0001

Zigbee设备流程机制

组网流程的要求

  • Beacon Request 信道扫描间隔大于 150 ms,优先扫描优先信道。

  • 扫描时间不超过 30s 。

  • 如果需要上报数据,组网成功后采用 5s 到 10s 或者以上的随机延上报数据。

设备断电启动流程

由于设备支持断电记忆功能,断电上电时需要读取断电之前的开关状态、磁保持继电器状态(单、双控使用)、负载灯组状态。

链路维护的要求

每隔 150s-180s 直接随机值上报设备版本号。

数据上报的要求

  • 如果开启了 APS 层的重传建议把 Disable Default Response 设置成 1,避免太多 ack 。

  • 重传数据的 Transaction Sequence Number 需要保持一致。

  • 重传间隔大于 250ms,重传持续时间建议低于 3s 。

  • 收到广播、组播时,建议延迟 1 分钟- 2 分钟的随机值上报状态,延迟时间没有到达期间收到单播控制,立即上报状态

特殊功能说明

倒计时功能

  • 通过 Zigbee 的 OnOff Cluster 的 0x42 命令实现

  • 设备收到命令后开始倒计时计数,每秒减 1,写入倒计时的值到 OnTime 和 OffWaitTime 属性

  • 倒计时变成 0 后,取反操作,上报开关状态和 On Time、Off Wait Time给网关

开发方式

  1. 基于涂鸦 Zigbee SDK 开发:

  2. 自行开发-非涂鸦 Zigbee 模组:

    • 需要完整实现上述技术细节

    • 完成设备授权

  3. 使用涂鸦完整授权工具授权

    通过模组和上位机串口通信授权

    串口通信协议文档

    串口通信实例代码

    使用涂鸦授权 SDK 授权

  4. 自行开发-涂鸦 Zigbee 模组:

    • 只需要实现固件功能细节

    • 购买授权过的涂鸦 Zigbee 模组即可