慧控通信协议.md 41 KB

智控通信协议


新云慧联科技有限公司


编写:孙成


2020/11/11

更新历史

版本号 修改说明 修改日期 修改人
01 首次修改适配mqtt 协议 2020/11.11 孙成
02 修改协议,增加设备端发往服务器端数据的格式,数据长度 2020/12.11 孙成
03 修改开关时间下发指令为多时间段组合 2020/12.28 孙成
04 修改终端设备订阅topic 在之前的前加上PP/ 2020/12.29 孙成
05 增加继电器开关编组控制指令 2020/12.30 孙成

1. 概述

1.1背景

为了满足物联网智控设备和互联网服务器的数据交换,需要设计一套安全、灵活、易用、易扩展的通信协议,为此我们在TCP/IP 通信协议的基础上,将原来的自定义协议适配mqtt协议,负责设备通过互联网进行数据交换和通信,能够支持rj45,gprs、nb-iot、lte 、wifi网络下的数据通信。

1.2适用范围

本协议规定了智控系统中控制器网关设备和后台服务程序的接口和数据通信协议,适用于遵守本协议通信的本公司所有智控网关设备。

2. 指令描述

2.1 设备发往服务器的指令:

从设备端发往服务器端的一对一指令。不需要等待返回的应答。

设备端的mqtt clientID 定义为设备的mac。publish的topic 定义为两级: 一级topic/二级topic,

例如:CN/FTC。

服务器端subscribe topic也定义为定义为两级 :一级topic/二级topic,服务器端根据payload 的最前面的12个字节的设备网关的mac 来判断是哪个终端设备的数据,并做相应处理。具体如下。

2.1.1 连接指令

终端设备连接上服务器时发给服务器的连接指令。终端的 publish topic 为CN/FTC,CN/RCN。服务器端收到连接指令后根据payload 的最前面的12个字节的设备网关的mac给该终端网关设备发送一个网关PP/mac/CFG/NTP 的点对点的时间同步指令。

topic 名缩写表见文后附录。

指令类型 一级topic 二级topic 功能描述 备注
连接 CN FTC 设备上电启动后首次连接到服务器的握手指令
连接 CN RCN 设备掉线后重新连服务器成功发送该指令
2.1.1.1 Payload 数据格式说明

payload 为设备网关mac+网关版本号。共19Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12
byte13-19 设备网关软件版本号 5-7 有些是5个字节的,有的是7个字节的

2.1.2 设备数据上传指令:

终端设备将采集到的相关数据上报给服务器端。topic 名缩写表见文后附录。

指令类型 一级topic 二级topic 功能描述 备注
设备数据上传 DT SDT 传感器数据上传到服务器 包含多个不同的传感器
设备数据上传 DT EPD 电气数据上传到服务器 包含电力计,电表,调光节点数据
设备数据上传 DT SIM 上传SIM卡ICCID号到服务器 设备上电连接到服务器后就将iccid号上传到服务器,没有卡的设备不上传
2.1.2.1 传感器数据上传到服务器指令:

设备向服务器上报设备传感器运行状态数据的指令。服务器订阅topic name为DT/SDT,终端设备发布topic name为DT/SDT

Payload 数据格式

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13 传感器数量 1
byte14...M 第一个传感器数据包 X
...... ......
byteM...N 第N个传感器数据包 X

传感器数据包格式:

根据不同的传感器类型数据格式不一样。

数据顺序 名称 数据长度 格式 样例 备注
Byte1 类型 1 Hex
Byte2...N 数据 数据格式不一样 Hex

类型:

名称 编号 备注
温湿度传感器 01 数量唯一
陀螺仪传感器 02 数量唯一
环境亮度传感器 03 数量唯一
线温传感器 04 可以有多个

数据:

  • 1.温湿度传感器
数据顺序 名称 数据长度 格式 样例 备注
byte1 温度 1 Hex
byte2 湿度 1 Hex
  • 2.陀螺仪传感器
数据顺序 名称 数据长度 格式 样例 备注
byte1-2 roll 2 Hex 翻滚角度
byte3-4 pitch 2 Hex 俯仰角度
byte5-6 yaw 2 Hex 偏航角度
  • 3.环境亮度传感器
数据顺序 名称 数据长度 格式 样例 备注
byte1 亮度值高8位 1 Hex
byte2 亮度值低8位 1 Hex
  • 4.线温传感器
数据顺序 名称 数据长度 格式 样例 备注
byte1 线温 1 Hex
2.1.2.2 电器数据上传到服务器:

将包含电力计,电表,调光节点的电器数据上报给服务器。服务器订阅topic name为DT/EPD,终端设备发布topic name为DT/EPD

Payload 数据格式说明: 设备网关mac+节点数量(1Byte)+节点1数据 +.........节点N数据

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13 节点数量 1
byte14--20 第一个节点数据包 7
..... .....
byteN... 第N个节点数据包 X

节点数据格式:

根据不同的节点类型数据格式不一样。

数据顺序 名称 数据长度 格式 样例 备注
Byte1-6 节点MAC地址 6 Hex
Byte7 节点类型 1 Hex
Byte8.. 节点数据 节点类型数据格式不一样 Hex 单位 0.01w,除100转为W

节点类型:

名称 编号 备注
电表节点 01 总表,支取电能
智能空开节点 02 网关自带电力计是特殊型,mac为 0F0000000001
调光节点 03
烟感节点 04

节点数据格式:

  • 1 电表节点: 4个字节的电能数据,单位0.1KWH,除10转为KWH。(要确认大小端)
Byte1 Byte2 Byte3 Byte4
energy[0] energy[1] energy[2] energy[3]
  • 2 智能空开节点数据: 18
数据顺序 名称 数据长度 格式 样例 备注
Byte1-4 电压 4 Hex 单位:10mV 除100转为V
Byte5-8 电流 4 Hex 单位:0.1mA 除10000转为A
Byte9-12 功率 4 Hex 单位 0.01w,除100转为W
Byte13-16 电能 4 Hex 单位0.1KWH,除10转为KWH
Byte17-20 继电器状态 4 Hex

继电器状态:2 byte

00 00 00 01 00 00 00 02 00 00 00 04 00 00 00 08 00 00 00 10 00 00 00 20 00 00 00 40 00 00 00 80 00 00 01 00 00 00 02 00 00 00 04 00 00 01 00 00 00 08 00 00 00 10 00 00 00 20 00 00
过压拉闸 欠压拉闸 过载拉闸 用电超额拉闸 定时拉闸 远程拉闸 超自动合闸次数拉闸 快速电流拉闸 手动合闸 手动拉闸 远程合闸 定时合闸 过压恢复合闸 欠压恢复合闸 上电合闸
  • 3 调光节点数据:
数据顺序 名称 数据长度 格式 样例 备注
byte1-6 节点MAC地址 6 Hex 1-64 有效组号65未分组
byte7 节点所属组号 1 Hex 2
byte8 节点当前亮度 1 Hex 68
byte9 调光模式 1 Hex 1 默认:0 自动,1:手动 2:环境亮度调光
byte10 调光类型 1 Hex 1 默认值0:突变 1:渐变
byte11 节点电压 1 Hex 单位:0.1V ,除10转为V 保留一位小数
byte12-13 节点电流 2 Hex
  • 4 烟感节点数据:
数据顺序 名称 数据长度 格式 样例 备注
byte1 报警状态 1 Hex 1:报警 0:正常
2.1.2.3 上传SIM卡ICCID号到服务器:

对于有装有sim卡的设备,设备上电启动后将自身的sim 卡的 iccid 号上传给服务器。

服务器订阅topic name为DT/SIM,终端设备发布topic name为DT/SIMPayload 数据格式:,共32Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-32 iccid号 20 string 89860446101981740827

2.1.3 设备请求服务器配置指令:

设备上电启动后,先读取本地的相关配置,如果本地配置没有,就主动向服务器请求相关配置,服务器收到请求后,下发相关的配置指令。

指令类型 一级topic 二级topic 功能描述 备注
请求配置 SCR BKS 请求备份服务器配置
请求配置 SCR NAT 节点信息表
请求配置 SCR STS 请求开关时间段配置
请求配置 SCR SRV 请求额定电压配置
请求配置 SCR SRC 请求额定电流配置
请求配置 SCR SAT 请求传感器阀值配置
2.1.3.1 请求备份服务器配置指令:

设备上电如果没有读取本地备份服务器配置,就会主动向服务器发送请求备份服务器配置指令。

服务器订阅topic name为SCR/BKS,终端设备发布topic name为SCR/BKS

Payload 数据格式 :设备网关的mac(12byte)。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
2.1.3.2 请求节点信息表:

设备上电如果没有读取本地子节点表配置,则设备向服务器主动请求下发子节点表配置指令。

服务器订阅topic name为SCR/NAT,终端设备发布topic name为SCR/NAT

Payload 数据格式 :设备网关的mac(12byte)。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
2.1.3.3 请求额定电压配置指令:

设备上电如果没有读取本地电表节点的额定电压配置,则设备向服务器主动请求下发节点额定电压配置指令。

服务器订阅topic name为SCR/SRV,终端设备发布topic name为SCR/SRV

Payload 数据格式 :设备网关的mac(12byte)+子节点mac(6byte),共18Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12
byte13-18 子节点mac 6 hex
2.1.3.4 请求额定电流配置指令:

设备上电如果没有读取本地电表节点的额定电流配置,则设备向服务器主动请求下发节点额定电流配置指令。

服务器订阅topic name为SCR/SRC,终端设备发布topic name为SCR/SRC

Payload 数据格式 :设备网关的mac(12byte)+子节点mac(6byte),共18Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12
byte13-18 子节点mac 6 hex
2.1.3.5 请求开关时间段配置指令:

设备上电如果没有读取本地的开关时间段配置,则设备向服务器主动请求下发开关时间段配置指令。

服务器订阅topic name为SCR/STS,终端设备发布topic name为SCR/STS

Payload 数据格式 :设备网关的mac(12byte)+子节点mac(6byte),共18Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-18 子节点mac 6 hex
2.1.3.6 请求传感器阀值配置指令:

设备上电如果没有读取本地的传感器配置,则设备向服务器主动请求下发传感器阀值配置指令。

服务器订阅topic name为SCR/SAT,终端设备发布topic name为SCR/SAT

Payload 数据格式 :设备网关的mac(12byte)

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12

2.2 服务器发往设备的指令:

服务器(包含web 后台模块和设备管理后台模块)下发给终端设备网关的配置,控制指令。用来对终端设备进行参数配置,行为控制。

服务器端mqtt 的publish**的topic 定义为四级:PP/设备mac/三级topic/四级topic。时间同步指令除外。

终端设备mqtt 的subscribe的topic 定义为:PP/设备mac/三级topic/#,通过topic name 判断具体是哪个指令,再进行处理

(时间同步指令除外)。

2.2.1 时间同步指令:

服务器每隔1小时向所有的设备下发时间同步指令,同步所有设备的实时时间。不需要回复。所有设备终端都订阅 topic为 NTP,服务器端发布 topic 为NTP

指令类型 一级topic 功能描述 备注
时间同步 NTP 时间同步 24小时制

Payload 数据格式 6个字节。

数据顺序 名称 长度 格式 样例 备注
byte1 1 Hex 11 2017年
byte2 1 Hex 0A 10月
byte3 1 Hex 08 8日
byte4 1 Hex 17 23时
byte5 1 Hex 32 50分
byte6 1 Hex 01 01秒

回复数据格式:无


2.2.2 配置指令:

服务器端下发给终端设备网关的配置指令。对于需要回复的指令,终端设备收到设备管理后台下发的该指令后,需要立刻回复服务器一个ack 信息,将设置的原始数据返回给设备管理后台模块,设备管理后台模块收到后将数据更新到数据库。

终端设备回复publish topic为:ACK/二级topic/三级topic 数据为接收到的原始数据。

设备管理后台模块 subscribe topic 为:ACK/#, 设备管理后台模块接收到数据后根据clientID和topic name 来区分是那台设备的什么指令数据。topic 名缩写表见文后附录。

指令类型 一级topic 二级topic 三级topic 四级topic 功能描述 备注
配置参数 PP 设备mac CFG NTP 连接时间指令 不需要回复
配置参数 PP 设备mac CFG BKS 备份服务器配置 需要回复
配置参数 PP 设备mac CFG ULI 设备数据上传间隔配置 需要回复
配置参数 PP 设备mac CFG STS 开关时间段设置 需要回复
配置参数 PP 设备mac CFG SRV 额定电压设置 需要回复
配置参数 PP 设备mac CFG SRC 额定电流设置 需要回复
配置参数 PP 设备mac CFG NAT 下发节点信息表配置
配置参数 PP 设备mac CFG GNV 获取子节点版本号
配置参数 PP 设备mac CFG SCM 开关控制模式(拉合闸)设置 需要回复
配置参数 PP 设备mac CFG DGS 调光节点分组设置
配置参数 PP 设备mac CFG DGM 调光节点分组数据修改
配置参数 PP 设备mac CFG MGM 电表节点分组设置 需要回复
配置参数 PP 设备mac CFG SAT 传感器报警阀值设置 需要回复
2.2.2.1 连接时间指令:

服务器收到连接指令后下发的时间同步指令,格式跟NTP 指令一样。

2.2.2.2 备份服务器配置指令:

这个指令给终端设备配置备份服务器的连接IP地址,端口的,当服务器接收到终端设备的备份服务器配置请求指令或者web端,移动端更改了备份服务器设置时,服务器给设备端下发备份服务器配置指令。如果设备不在线,等设备上线后再下发。该指令需要回复。

服务器发布topic name为PP/终端设备mac**/CFG/BKS**,终端设备订阅topic name为PP/终端设备mac**/CFG/#**。

Payload 数据格式 6个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-4 IP 4 string
byte5-6 PORT 2 Hex

回复数据格式: 终端设备回复publish topic为:ACK/CFG/BKS 数据为设备网关的mac+接收到的原始数据。共18Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-16 IP 4 string
byte17-18 PORT 2 Hex
2.2.2.3 设备数据上传间隔配置指令:

该指令用来配置终端设备向服务器上报相关数据的间隔时间的。当web端,移动端更改了设备数据上传频率设置时,服务器给设备端下发设备数据上传频率配置指令。如果设备不在线,等设备上线后再下发。 默认为50s。

服务器发布topic name为PP/终端设备mac**/CFG/ULI**,终端设备订阅topic name为PP/终端设备mac**/CFG/#**。

Payload 数据格式 2个字节。

数据顺序 名称 长度 格式 样例 备注
byte1 单位 1 Hex 1:秒 2:分钟 3:小时 4:天
byte2 上传数值 1 Hex

回复数据格式: 终端设备回复 publish topic为:ACK/CFG/ULI 数据为设备网关mac+接收到的原始数据。共14Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13 单位 1 Hex 1:秒 2:分钟 3:小时 4:天
byte14 上传数值 1 Hex
2.2.2.4 开关时间段设置指令:

该指令用来配置设备(包含网关继电器和智能空开节点继电器)的定时自动控制的时间段配置。如果设备不在线,等设备上线后再下发。默认为 08:00 开 23:59 关。

服务器发布topic name为PP/终端设备mac**/CFG/STS**,终端设备订阅topic name为PP/终端设备mac**/CFG/#**。

Payload 数据格式: 子节点mac(6byte)+子节点类型(1byte)+时间点个数(1byte)+时间点个数*3(时,分,开关状态)个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-6 子节点mac 6 Hex 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001
byte7 子节点类型 1 Hex 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte8 时间点个数 1 Hex
byte9-10 时间1 2 Hex 时,分
byte11 时间1开关状态 1 Hex 0:OFF,1:ON
... ... ... ... ...
byte(8+(n-1)*3+1)-byte(8+(n-1)*3+2) 时间2 2 Hex 时,分
byte(8+n*3) 时间n开关状态 1 Hex 0:OFF,1:ON

回复数据格式: 终端设备回复 publish topic为:ACK/CFG/STS 数据为设备网关mac+接收到的原始数据。共23Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-18 子节点mac 6 Hex 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001
byte19 子节点类型 1 Hex 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte20 时间点个数 1 Hex
byte21-22 时间1 2 Hex 时,分
byte23 时间1开关状态 1 Hex 0:OFF,1:ON
... ... ... ... ...
byte(20+(n-1)*3+1)-byte(20+(n-1)*3+2) 时间2 2 Hex 时,分
byte(20+n*3) 时间n开关状态 1 Hex 0:OFF,1:ON
2.2.2.5 额定电压设置指令:

这个指令用来给终端设备配置智能空开型节点设置额定电压阀值,当服务器接收到终端设备的额定电压设置请求指令或者web端,移动端更改了额定电压值设置时,服务器就给设备端下发额定电压设置指令。如果设备不在线,等设备上线后再下发。

服务器发布topic name为PP/终端设备mac**/CFG/SRV**,终端设备订阅topic name为PP/终端设备mac**/CFG/#**。

Payload 数据格式: 9个字节。服务器下发的格式为大端格式,高位在前,低位在后。设备端要颠倒。

数据顺序 名称 长度 格式 样例 备注
byte1-6 子节点mac 6 Hex 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001
byte7 节点类型 1 Hex 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte8-9 额定电压阀值 2 Hex 0A5A 单位:0.1V 265V

回复数据格式

终端设备回复 publish topic为:ACK/CFG/SRV 数据为设备网关的mac+接收到的原始数据。共21Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-18 子节点mac 6 Hex 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001
byte19 节点类型 1 Hex 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte20-21 额定电压阀值 2 Hex 0A5A 单位:0.1V 265V
2.2.2.6 额定电流设置指令:

这个指令用来给终端设备配置智能空开型节点设置额定电流阀值,当服务器接收到终端设备的额定电流设置请求指令或者web端,移动端更改了额定电流值设置时,服务器就给设备端下发额定电流设置指令。如果设备不在线,等设备上线后再下发。

服务器发布topic name为PP/终端设备mac**/CFG/SRC**,终端设备订阅topic name为PP/终端设备mac**/CFG/#**。

Payload 数据格式: 11个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-6 子节点mac 6 Hex 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001
byte7 子节点类型 1 Hex 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte8-11 额定电流阀值 4 Hex

回复数据格式

终端设备回复 publish topic为:ACK/CFG/SRC 数据为设备网关mac+接收到的原始数据。共23Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-18 子节点mac 6 Hex 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001
byte19 子节点类型 1 Hex 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte20-23 额定电流阀值 4 Hex
2.2.2.7 节点信息表配置指令:

终端设备上电后,如果没有读到本地节点信息表,则终端设备会请求服务器下发节点信息表配置指令。如果终端设备跳转到另外一台服务器,终端设备也会请求服务器下发节点信息表配置指令。服务器端如果修改了节点表信息,则服务器端要主动下更新后的发节点信息表配置给终端设备。

服务器发布topic name:PP/终端设备mac**/CFG/NAT**,终端设备订阅topic name:PP/终端设备mac**/CFG/#**。

Payload 数据格式: 节点数量(1byte) + 第一个节点信息数据 + ..............+ 第N个节点信息数据。

数据顺序 名称 长度 格式 样例 备注
byte1 节点数量 1
byte2--8 第一个节点数据包 7
.....
byte 7N-5--7N+1 第N个节点数据包 7

节点信息数据格式:

数据顺序 名称 数据长度 格式 样例 备注
Byte1-6 节点MAC地址 6 Hex
Byte7 节点类型 1 Hex

回复数据格式:无。

2.2.2.8 获取子节点版本号指令:

服务器端可通过这个指令来获取指定节点的软件版本号。

服务器发布topic name:PP/终端设备mac**/CFG/GNV**,终端设备订阅topic name:PP/终端设备mac**/CFG/#**。

Payload 数据格式: 6个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-6 节点MAC 6 string 201908200029 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001

回复数据格式: 终端设备回复 publish topic为:ACK/CFG/GNV 。共23Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 网关MAC 12 hex
byte13-18 节点MAC 6 hex 201908200029 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001
byte19-23 节点软件版本号 5 string 1.1.0
2.2.2.9 开关控制模式(拉合闸)设置指令:

这个指令用来给终端设备配置开关的控制模式,分为 手动和自动(自动时间段)方式。

服务器发布topic name:PP/终端设备mac**/CFG/SCM**,终端设备订阅topic name:PP/终端设备mac**/CFG/#**。

Payload 数据格式: 8个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-6 节点MAC 6 string 201908200029 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001
byte7 设备类型 1 string 03 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte8 控制模式(拉合闸) 1 Hex 默认:0:自动 1:手动

回复数据格式

终端设备回复 publish topic为:ACK/CFG/SCM 数据为设备网关mac+接收到的原始数据。共20Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-18 节点MAC 6 string 201908200029 网关自带电力计是特殊型,智能空开节点,mac为 0F0000000001
byte19 设备类型 1 string 03 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte20 控制模式(拉合闸) 1 Hex 默认:0:自动 1:手动
2.2.2.10 调光节点分组设置指令:

服务器向网关设备发送调光子节点分组设置指令,对调光节点进行分组。调光节点默认组号为65,表示未分组,节点亮度为0。

服务器发布topic name:PP/终端设备mac**/CFG/DGS**,终端设备订阅topic name:PP/终端设备mac**/CFG/#**。

Payload 数据格式: 22个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-6 子节点MAC 6 Hex
byte7 设备类型 1 string 03 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte8 组号 1 Hex 1-64 有效组号65未分组
byte9-10 时间1 2 Hex 时,分
byte11 亮度1 1 Hex 0--100
byte12-13 时间2 2 Hex 时,分
byte14 亮度2 1 Hex 0--100
byte15-16 时间3 2 Hex 时,分
byte17 亮度3 1 Hex 0--100
byte18-19 时间4 2 Hex 时,分
byte20 亮度4 1 Hex 0--100
byte21 调光模式 1 Hex 默认:0 自动,1:手动 2:环境亮度调光
byte22 调光类型 1 Hex 默认值0:突变 1:渐变

回复数据格式

终端设备回复 publish topic为:ACK/CFG/DGS 数据为设备网关mac+接收到的原始数据。共34Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-18 节点MAC 6 string 201908200029 网关自带电力计是特殊型,智能
byte19 设备类型 1 string 03 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04
byte20 组号 1 Hex 1-64 有效组号65未分组
byte21-22 时间1 2 Hex 时,分
byte23 亮度1 1 Hex 0--100
byte24-25 时间2 2 Hex 时,分
byte26 亮度2 1 Hex 0--100
byte27-28 时间3 2 Hex 时,分
byte29 亮度3 1 Hex 0--100
byte30-31 时间4 2 Hex 时,分
byte32 亮度4 1 Hex 0--100
byte33 调光模式 1 Hex 默认:0 自动,1:手动 2:环境亮度调光
byte34 调光类型 1 Hex 默认值0:突变 1:渐变
2.2.2.11 调光节点分组数据修改指令:

这个指令用来修改已分组的调光组的时间,亮度,调光模式,类型参数。

服务器发布topic name:PP/终端设备mac**/CFG/DGM**,终端设备订阅topic name:PP/终端设备mac**/CFG/#**。

Payload 数据格式: 15个字节。

数据顺序 名称 长度 格式 样例 备注
byte1 组号 1 Hex 1-64 有效组号65未分组
byte2-3 时间1 2 Hex 时,分
byte4 亮度1 1 Hex 0--100
byte5-6 时间2 2 Hex 时,分
byte7 亮度2 1 Hex 0--100
byte8-9 时间3 2 Hex 时,分
byte10 亮度3 1 Hex 0--100
byte11-12 时间4 2 Hex 时,分
byte13 亮度4 1 Hex 0--100
byte14 调光模式 1 Hex 默认:0 自动,1:手动 2:环境亮度调光
byte15 调光类型 1 Hex 默认:0突变 1:渐变

回复数据格式:

终端设备回复 publish topic为:ACK/CFG/DGM 数据为设备网关mac+接收到的原始数据。共27Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13 组号 1 Hex 1-64 有效组号65未分组
byte14-15 时间1 2 Hex 时,分
byte16 亮度1 1 Hex 0--100
byte17-18 时间2 2 Hex 时,分
byte19 亮度2 1 Hex 0--100
byte20-21 时间3 2 Hex 时,分
byte22 亮度3 1 Hex 0--100
byte23-24 时间4 2 Hex 时,分
byte25 亮度4 1 Hex 0--100
byte26 调光模式 1 Hex 默认:0 自动,1:手动 2:环境亮度调光
byte27 调光类型 1 Hex 默认:0突变 1:渐变
2.2.2.12 电表节点分组设置指令:

TBC

2.2.2.13 传感器报警阀值设置指令:

这个指令用来设置设备的传感器报警阀值。

服务器发布topic name:PP/终端设备mac**/CFG/SAT**,终端设备订阅topic name:PP/终端设备mac**/CFG/#**。

Payload 数据格式: 每个传感器的配置长度不同

数据顺序 名称 长度 格式 样例 备注
byte1...m 第一个传感器配置 X
......
bytem...n 第N个传感器配置 X

传感器配置信息:

  • 1.温湿度传感器
数据顺序 名称 数据长度 格式 样例 备注
byte1 传感器类型 1 Hex 01
byte2 温度最小值 1 Hex
byte3 温度最大值 1 Hex
byte4 湿度最小值 1 Hex
byte5 湿度最大值 1 Hex
  • 2.陀螺仪传感器
数据顺序 名称 数据长度 格式 样例 备注
byte1 类型 1 Hex 02
byte2-3 roll偏移阈值 2 Hex 翻滚角度
byte4-5 pitch偏移阈值 2 Hex 俯仰角度
byte6-7 yaw偏移阈值 2 Hex 偏航角度
  • 3.线温传感器
数据顺序 名称 数据长度 格式 样例 备注
byte1 类型 1 Hex 04
byte2 线温阈值 1 Hex 多个线温传感器共用同一个阈值

回复数据格式

终端设备回复 publish topic为:ACK/CFG/SAT 数据为设备网关mac+接收到的原始数据。12Byte+接收到的原始数据长度。


2.2.3 控制指令:

服务器端对设备终端进行动作行为控制的。由设备管理后台下发指令,终端设备收到后,回复给设备管理后台模块进行数据更新。topic 名缩写表见文后附录。

指令类型 一级topic 二级topic 三级topic 四级topic 功能描述 备注
控制设备 PP mac CTR RRS 远程重启设备
控制设备 PP mac CTR SFR 设备恢复出厂设置
控制设备 PP mac CTR RS 服务器跳转
控制设备 PP mac CTR OTA ota 升级
控制设备 PP mac CTR RDC 远程手动调光
控制设备 PP mac CTR RSC 远程开关控制 单个开关,需要回复
控制设备 PP mac CTR RGC 远程开关编组控制 多个开关编组控制,需要回复
控制设备 PP mac CTR RCN 删除子节点指令 需要回复
2.2.3.1 设备远程重启指令

服务器向网关设备发送此指令使网关设备重新启动。

服务器发布topic name:PP/终端设备mac**/CTR/RRS**,终端设备订阅topic name:PP/终端设备mac**/CTR/#**。

Payload 数据格式: 无。

回复数据格式:无。

2.2.3.2 设备恢复出厂设置指令

当终端设备收到这个指令后,会清除本地的jsconfig.ini 配置文件。

服务器发布topic name:PP/终端设备mac**/CTR/SFR**,终端设备订阅topic name:PP/终端设备mac**/CTR/#**。

Payload 数据格式: 无。

回复数据格式:无。

2.2.3.3 服务器跳转指令

服务器向网关设备发送此指令使网关设备跳转到指定服务器。

服务器发布topic name:PP/终端设备mac**/CTR/RS**,终端设备订阅topic name:PP/终端设备mac**/CTR/#**。

Payload 数据格式: 6个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-4 IP 4 Hex
byte5-6 PORT 2 Hex

回复数据格式:无。

2.2.3.4 ota 远程升级指令

服务器向网关发送此指令对网关设备进行远程升级。

服务器发布topic name:PP/终端设备mac**/CTR/OTA**,终端设备订阅topic name:PP/终端设备mac**/CTR/#**。

Payload 数据格式: 6个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-4 IP 4 Hex
byte5-6 PORT 2 Hex

回复数据格式:无。

2.2.3.5 远程手动调光指令

服务器远程调节调光节点的亮度。

服务器发布topic name:PP/终端设备mac**/CTR/RDC**,终端设备订阅topic name:PP/终端设备mac**/CTR/#**。

Payload 数据格式: 3个字节。

数据顺序 名称 长度 格式 样例 备注
byte1 组号 1 Hex 1-64 有效组号65未分组
byte2 亮度 1 Hex 范围1-100
byte3 调光类型 1 Hex 默认值0:突变 1:渐变

回复数据格式: 终端设备回复 publish topic为:ACK/CTR/RDC 数据为设备网关mac+接收到的原始数据。共15Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13 组号 1 Hex 1-64 有效组号65未分组
byte14 亮度 1 Hex 范围1-100
byte15 调光类型 1 Hex 默认值0:突变 1:渐变
2.2.3.6 远程开关控制指令

服务器向网关设备发送远程开关控制指令,用来进行拉合闸控制。

服务器发布topic name:PP/终端设备mac**/CTR/RSC**,终端设备订阅topic name:PP/终端设备mac**/CTR/#**。

Payload 数据格式: 8个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-6 子节点mac 6 Hex 网关自带电力计是特殊型空开节点,mac为 0F0000000001
byte7 子节点类型 1 Hex 01:电表节点,02:智能空开节点,03:调光节点,04:烟感节点
byte8 拉合闸动作 1 Hex 拉闸 0 ,合闸 1

回复数据格式: 终端设备回复 publish topic为:ACK/CTR/RSC数据为设备网关mac+接收到的原始数据。共20Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-18 子节点mac 6 Hex 网关自带电力计是特殊型空开节点,mac为 0F0000000001
byte19 子节点类型 1 Hex 01:电表节点,02:智能空开节点,03:调光节点,04:烟感节点
byte20 拉合闸动作 1 Hex 拉闸 0 ,合闸 1
2.2.3.7远程开关编组控制指令

服务器向网关设备发送远程开关编组控制指令,用来对多个智能空开进行拉合闸控制。

服务器发布topic name:PP/终端设备mac**/CTR/RGC**,终端设备订阅topic name:PP/终端设备mac**/CTR/#**。

Payload 数据格式: 3个字节。

数据顺序 名称 长度 格式 样例 备注
byte1 组号 1 Hex
byte7 子节点类型 1 Hex 01:电表节点,02:智能空开节点,03:调光节点,04:烟感节点
byte8 拉合闸动作 1 Hex 拉闸 0 ,合闸 1

回复数据格式: 终端设备回复 publish topic为:ACK/CTR/RGC数据为设备网关mac+接收到的原始数据。共15Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13 组号 1 Hex
byte14 子节点类型 1 Hex 01:电表节点,02:智能空开节点,03:调光节点,04:烟感节点
byte15 拉合闸动作 1 Hex 拉闸 0 ,合闸 1
2.2.3.8 删除子节点指令

服务器向网关设备发送此指令删除子节点,不管节点是否在线,都从网关的节点表里删除该节点。 服务器发布topic name:PP/终端设备mac**/CTR/RCN**,终端设备订阅topic name:PP/终端设备mac**/CTR/#**。

Payload 数据格式: 7个字节。

数据顺序 名称 长度 格式 样例 备注
byte1-6 子节点mac 6 Hex
byte7 子节点类型 1 Hex 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04

回复数据格式: 终端设备回复 publish topic为:ACK/CTR/RCN数据为设备网关mac+接收到的原始数据。共19Byte。

数据顺序 名称 长度 格式 样例 备注
byte1-12 设备网关mac 12 hex
byte13-18 子节点mac 6 Hex
byte19 子节点类型 1 Hex 电表节点:01,智能空开节点:02,调光节点:03,烟感节点:04

附录:

Topic 名缩写表 :

Topic 名缩写 完整拼写 中文
DT Data Transfer 数据传输
CN connect network 连接网络
FTC first time connect 首次连接服务器
RCN reconnect 重连接服务器
SDT Sensor Data Transfer 上传传感器数据
EPD Electrical power data 电力数据
BKS backup server 备份服务器
NTP Network Time Protocol 网络时间同步
CFG Configure 配置
CTR control 控制
SCR Send Configure Request 发送配置请求
NAT Node Allocation Table 节点分配表
SRV set rated voltage 设置额定电压
SRC set rated current 设置额定电流
SAT sensor alarm threshold 传感器报警阀值
ULI upload interval 数据上传间隔时间
STS Switch time setting 开关时间设置
SCM Switch control mode 开关控制模式
DGS dimmer Group settings 调光分组设置
DGM dimmer Group modify 调光组设置修改
RRS Remote reboot system 远程重启终端设备系统
SFR Set Factory Reset 设置工厂复位
RS Redirection Server 重定向服务器
RDC remote diming control 远程调光控制
RSC remote switch control 远程开关控制
RGC remote group control 远程开关编组控制
RCN Remove Child Nodes 删除节点
GNV Get node version 获取子节点版本号