Zigbee下行协议文档格式.docx

上传人:b****2 文档编号:633160 上传时间:2023-04-29 格式:DOCX 页数:58 大小:85.45KB
下载 相关 举报
Zigbee下行协议文档格式.docx_第1页
第1页 / 共58页
Zigbee下行协议文档格式.docx_第2页
第2页 / 共58页
Zigbee下行协议文档格式.docx_第3页
第3页 / 共58页
Zigbee下行协议文档格式.docx_第4页
第4页 / 共58页
Zigbee下行协议文档格式.docx_第5页
第5页 / 共58页
Zigbee下行协议文档格式.docx_第6页
第6页 / 共58页
Zigbee下行协议文档格式.docx_第7页
第7页 / 共58页
Zigbee下行协议文档格式.docx_第8页
第8页 / 共58页
Zigbee下行协议文档格式.docx_第9页
第9页 / 共58页
Zigbee下行协议文档格式.docx_第10页
第10页 / 共58页
Zigbee下行协议文档格式.docx_第11页
第11页 / 共58页
Zigbee下行协议文档格式.docx_第12页
第12页 / 共58页
Zigbee下行协议文档格式.docx_第13页
第13页 / 共58页
Zigbee下行协议文档格式.docx_第14页
第14页 / 共58页
Zigbee下行协议文档格式.docx_第15页
第15页 / 共58页
Zigbee下行协议文档格式.docx_第16页
第16页 / 共58页
Zigbee下行协议文档格式.docx_第17页
第17页 / 共58页
Zigbee下行协议文档格式.docx_第18页
第18页 / 共58页
Zigbee下行协议文档格式.docx_第19页
第19页 / 共58页
Zigbee下行协议文档格式.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Zigbee下行协议文档格式.docx

《Zigbee下行协议文档格式.docx》由会员分享,可在线阅读,更多相关《Zigbee下行协议文档格式.docx(58页珍藏版)》请在冰点文库上搜索。

Zigbee下行协议文档格式.docx

1.7、中控下行协议DATA域的格式参见下图,通道号、操作功能码中实际使用的bit由各设备协议自行制订,可各不相同:

图4:

中控下行协议DATA域格式

1.8、适配器往Server发送报文的格式同图2

1.9、适配器往Server发送报文的DATA域格式同图4

1.10、适配器从Server收到报文后,如Length小于等于设备链路的MTU,则直接将报文透传至网关,如Length大于MTU,则须将报文进行分片,分片的区域包含:

Length、DATA、CRC16,每个分片报文的格式遵守如下设备下行协议的格式:

图5:

中控下行协议分片包格式

1.11、目前节点往网关发送报文时,严禁分片!

由于节点只会从网关中收到报文,其重组比较简单,而适配器理论上会从各节点收到分片包,重组工作就比较复杂,因此一期工作适配器不支持重组。

2.帧格式定义

大于一个字节的定义都使用大端,高字节在低地址,以下描述中统一为Byte0为低字节,ByteX为高字节。

2.1SOF

帧起始位,固定为0x4455,如下图:

SOF

0x44

0x55

图6:

设备下行协议SOF域格式

2.2MAC

MAC地址,最长8字节,根据实际设备网络而定,zigbee无线8字节,CAN网8字节,右对齐,不足8字节高位补0,如下图:

MAC

MAC7

MAC6

MAC5

MAC4

MAC3

MAC2

MAC1

MAC0

图7:

设备下行协议MAC域格式

2.3ControlField

控制域包括2个字节共16bit,每位的定义如下图:

ControlField

B15~B8

Reserve

ACK3

ACK2

ACK1

ACK0

B7~B0

RES

DIR

SOFflag

MFflag

Packettype1

Packettype0

Transparentindicator

图8:

设备下行协议ControlField域格式

ACK:

0-7为网关链路层ACK,8-15为网关和子节点应用层ACK。

网关链路层肯定回答;

网关接收长度不一致;

02:

网关CRC16错误;

03:

网关发送超时;

04-07:

保留;

08:

子节点应用层肯定回答;

09:

子节点报文重组错误;

10:

节点OPCODE不匹配;

11:

子节点执行失败;

12-15:

保留。

DIR:

启动报文位,0:

报文启动方,一般为为中控机至设备;

1:

报文响应方,一般为设备至中控机。

当设备有重要变更通知时可以设置DIR=0主动向中控机发送报文。

SOF_MF:

当前帧后续有分片。

Packettype:

单播;

广播;

组播;

11保留。

Transparentindicator:

0:

接收处理报文;

透传报文。

2.4Length

数据长度Length,包括DATA域和CRC16域的长度。

Length

Lengthhighbyte

Lengthlowbyte

图9:

设备下行协议Length域格式

2.5DATA

DATA域为应用层的数据域,一般包括CHANNELID,DeviceOpcode,OpcodeARG,若是分片数据包,则将Length、DATA、CRC16打包后分成MTU长度的分片包放在DATA域中传送。

透传数据报文则在DATA区前再附加最终接收节点的MAC.如下图

GeneralDATAField

ChannelID

Deviceopcode1

Deviceopcode0

OpcodeARG(Length-7bytes)

图10.1:

设备下行协议DATA域格式

SubpackageDATAField(SOF_MF≠10)

Frame1

DATAlength.1

DATAlength.0

DATA(MTU-2)

CRC16

Frame2

DATA(MTU)

Frame……

Frameend

DATA

(Lenngth-4)

DATACRC16.1

DATACRC16.0

图10.2:

设备下行协议DATA域格式(分片包)

TransparentDATAField(Transparentindicator=1)

TransparentDATAField

RemoteMAC

图10.3:

设备下行协议DATA域格式(透传包)

TransparentDATAField(Transparentindicator=1)(SOF_MF≠10)

DATAlength

DATACRC16

图10.4:

设备下行协议DATA域格式(透传包需分片)

10.1所述格式是一个标准的数据包DATA域格式,没有任何附加内容

对于10.2、10.3、10.4所述格式,每一帧的格式都遵循标准的下行报文格式,即SOF、MAC、ControlField、Length、CRC16,

分片包的DATA域的内容则是由GeneralDATAField(图10.1所示)前后附加DATAlength和DATACRC组成,其中

DATAlength:

GeneralDATAField+DATACRC的长度,长2字节。

DATACRC:

DATAlength和DATA的CRC16值,长2字节。

透传包的DATA域需要在DATA前附加最终接收端的MAC地址,格式同MAC,如图10.3所示。

若需要分片则将TransparentDATAField遵循分片包的格式发送出去。

格式如图10.4所示。

2.6CRC16

CRC16为SOF、MAC、ControlField、Length、DATA的校验值,如下图

CRC16highbyte

CRC16lowbyte

图11:

设备下行协议CRC16域格式

CRC16算法统一使用以下算法:

uint16_tEH_CRC:

:

CreateCrc16(constuint8_t*msg,uint32_tlen){

uint16_tcrc=0xFFFF;

uint32_ti,j=0;

for(i=0;

i<

len;

i++){

for(j=0;

j<

8;

j++){

BOOLc15=((crc>

>

15&

1)==1);

BOOLbit=((msg[i]>

(7-j)&

crc<

<

=1;

if(c15^bit){

crc^=0x1021;

}

returncrc;

}

算出的CRC16值需进行大小端转换后按大端放入CRC16中,即高8位放在CRC16highbyte,低8位放在CRC16lowbyte中。

2.7MTU

对于不同设备指定不同的MTU值,暂定CAN设备MTU=128,Zigbee设备MTU=128。

 

3.通用DATA域定义

3.1ChannelID

一般节点的ChannelID为0,子模块的通道从1开始。

255保留。

channel_id是个8位的一个字节

0000 

0000

高5位是逻辑通道号,低三位是硬件通道号

0001 

代表硬件通道1的 

第0个逻辑号

1001 

硬件通道1的第一个逻辑号

1010 

硬件通道2的第一个逻辑号

00010010硬件通道2的第二个逻辑号

音频矩阵是从1开始的,所以是0000 

0001

1001

3.2OPCODE域定义

OPCODE域即DeviceOpcode,占2个字节。

DeviceOpcode定义了不同类别中各种操作的操作码。

公共功能部分对各类别通用,具体上送的信息在各自类别中详细定义。

对于多通道的相关功能应结合ChannelID来解析。

DEVICENAME

DEVICEOPCODE

Des.

公共功能

0x0000

查询状态

当通道号为0时,上送节点当前的运行状态。

其他情况下上送该通道的数据状态。

0x0001

读取节点链路状态

一般使用广播

0x0002

预留

0x0003

设置节点通信参数

可由通道号区分

0x0004

强制重启

0x0005

IAP下传设备IMAGE信息

写入设备版本号、CRC等信息

0x0006

IAP数据报文

程序文件

0x0007

初始化完成报文

一般为上电初始化

0x0008

IAP初始化完成

0x0009

分配节点ID

网关向节点发送包含ID和MAC的报文

0x000A

状态变更通知

仅D-C节点主动上送

0x000B

获取设备通道信息

获取该设备的通道数和通道类型

0x000C

识别设备

用于定位设备位置

网关

0x0101

下传节点地址表

整表(仅CAN)

0x0102

新增节点地址

可以一个或多个

0x0103

删除节点地址表

删除整张表

0x0104

查询MAC地址

查询网关中是否有该地址

0x0105

查询上送通信状态

可一个或多个节点

0x010B

上报新加入节点

当有新的节点加入网络时,网关推送消息到中控主机。

0x010C

获取设备列表

获取加入网络的所有设备地址信息

0x010D

删除设备

删除节点设备

0x010E

取消该节点加入上报

当网关收到该消息后,节点取消该节点的周期上报

0x010F

查询网关信息

网关信息

0x0110

新bin消息通知

中控机到网关的通知

0x0111

请求获取bin文件

网关到中控机的请求

0x0112

Bin文件推送

中控机到网关的文件发送

0x0113

启动升级

网关开始升级

0x0114

组网通道操作

Zigbee,433,315,868

0x0115

创建一个设备

比如:

警报器

0x1116

对码成功推送

通过对码的节点的推送

0x1117

启动加入报警器

给报警器发送报文

0x1118

配置网关功能

配置网关安防启动与否

0x1119

获取安防配置

网关安防配置

0x111A

升级结果通知

网关通知中控机升级结果

灯具控制类

0x0100

开关

包括单路、双路LED、白炽灯等

调光

调色

下传绑定MAC

申请和下传调光LED灯节点所绑定面板的MAC

申请绑定MAC

下传MAC绑定表

仅灯端LED调光面板有效,MAC为所控灯节点的MAC地址。

0x0106

删除MAC绑定表

0x0107

申请MAC绑定表

0x0108

查询通信状态

插座控制类

读取电量值

读取电压电流值

用于装置调校

设置采样系数

0x0105

设置电流变比

电机控制类

正转(open)

反转(close)

停止

红外发射类

0x8100-0x8400

红外发射

注:

1

红外接收

红外发送

红外上报

红外保存

红外清除

RS232串口控制类

串口数据收发

查询串口参数

继电器控制类

情景面板

执行情景模式

情景模式开始执行

情景模式执行结束

Hailin空调面板

设置空调面板

布尔量传感器

查询状态或主动上报

开关类传感器

门锁模块

搜索门锁

添加门锁

删除门锁

增加开锁人

删除开锁人

禁用开锁人

启用开锁人

同步门锁时间

0x0109

开门成功推送

0x010A

报警推送

报警器

启动报警

0x0200

取消报警

安防遥控器

布防

撤防

0x0300

在家布防

0x0400

SOS

注1:

对于红外发送和RS232控制的设备,OPCODE含义扩展为家电OPCODE,范围0x8100-0x8400,应用层反馈时需返回家电的DeviceID、Opcode以及OpcodeARG,详见OPCODEARG定义。

3.2OPCODEARG域定义

OPCODEARG是和OPCODE相对应的参数,可变长度且可以为空。

定义中控机(C)向设备(D)方向的报文为C->

D,设备向中控机方向为D->

C。

1.公共类

公共功能除特殊说明外对每种类别的设备都有效。

查询设备状态(OPCODE=0x0000)

序号

C->

D

说明

01

NULL

D->

C

State

02

Alarm

读取节点链路状态(OPCODE=0x0001)

无参数,一般广播时使用,也可对单个节点召唤

Status

0=正常,1=节点ID未确认

设置节点通信参数(OPCODE=0x0003)(仅串口)

Baudrate

波特率:

0=9600;

1=19200;

2=38400;

3=57600;

4=115200

Parity

校验:

0=NONE;

1=EVEN;

2=ODD

03

Stopbit

停止位:

0=1BIT;

1=2BIT

设置节点通信参数(OPCODE=0x0003)

设置状态,1=成功,0=失败。

强制重启(OPCODE=0x0004)

Mode

1=重启后进入程序升级模式

2=重启后进入运行模式

18=重启后进入带CRC校验的运行模式

Mode:

低4bit为启动模式。

高4bit为附加选项。

其中low4bit=1进入程序升级模式

low4bit=2进入运行模式

high4bit=1用户程序启动时需要校验CRC

强制重启(OPCODE=0x0004)(预留)

原值返回

IAP下传设备IMAGE信息(OPCODE=0x0005)

Version_h

应用程序版本号VX.XX

Version_l

APPCRC_h

应用程序的CRC16

04

APPCRC_l

05

APPLen_h

应用程序大小,最大64K

06

APPLen_l

写入状态,1=成功,0=失败。

IAP数据报文(OPCODE=0x0006)

AppDATA

程序文件和传输过程中的交换信息

……

传输过程中的交换信息

IAP启动过程为,中控机向节点发送IAP启动命令,节点收到后将IAP启动允许标志写入Flash中指定位置,成功后返回应用层确认给中控机,中控机收到确认命令后下发强制重启命令强制节点重启,节点每次重启后首先是运行BOOT程序,BOOT程序先读取IAP启动标志,有效则启动IAP程序进入升级过程,否则再检测应用程序是否有效,有效就运行应用程序,无效则转入IAP程序等待更新程序。

IAP进程运行2分钟后仍无任何升级程序连接则清除IAP允许标志,转入应用程序检测阶段,本次升级取消。

初始化完成报文(OPCODE=0x0007)(节点主动上送,DIR=0)

程序版本号VX.XX

应用程序的CRC16值。

该初始化完成报文应在对码结束后发送。

IAP初始化完成(OPCODE=0x0008)(DIR=0)

无参数

分配节点ID(OPCODE=0x0009)

ID_h

节点ID

ID_l

03~10

MAC7-0

MAC地址

说明:

对于CAN,此时发送报文CAN_ID中的节点ID使用网关的ID(=1),使用广播发送方式。

获取设备通道信息(OPCODE=0x000B)

通道数

该设备中通道数目(不含0通道)

Channel

通道号

Operate_type_h

Operate_type

Operate_type_l

07

Operate_

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2