没有合适的资源?快使用搜索试试~ 我知道了~
首页JoyLink协议文档V1.79
JoyLink协议文档V1.79
需积分: 12 385 浏览量
更新于2023-05-24
评论
收藏 1.96MB PDF 举报
京东微联物联网JoyLink协议手册V1.79,有智能插座与云端,和app端协议格式。
资源详情
资源评论
资源推荐

JoyLink
协议文档 V1.79
京东智能协议组
本文档可能包含公司技术机密以及其他需要保密的信息,本文档所包含的所有信息均为北京京东智能集团
公司版权所有。未经本公司书面许可,不得向授权许可方以外的任何第三方泄露本文档内容,不得以任何
形式擅自复制或传播本文档。若使用者违反本版权保护的约定,本公司有权追究使用者由此产生的法律责
任。

目录
1 关键词定义及约定 ............................................................................................................................................. 5
1.1. 关键词定义 ......................................................................................................................................... 5
1.2. 约定 ..................................................................................................................................................... 5
2 协议说明 ............................................................................................................................................................. 5
3 数据包格式 ......................................................................................................................................................... 6
3.1. 数据包协议格式 ................................................................................................................................. 6
3.2. 数据包头(packet_t) ....................................................................................................................... 6
3.3. 可选区(opt)字段 ............................................................................................................................ 7
3.4. 负载区(payload) ............................................................................................................................. 7
3.5. 数据包类型 (packet_t type 说明) ................................................................................................ 7
3.6. 数据包加密方式 ................................................................................................................................. 8
3.7. 控制指令的 biz_code 码说明 ............................................................................................................. 8
4 数据包加密方案 ................................................................................................................................................. 9
4.1. 方式 0:无加密方式 .......................................................................................................................... 9
4.2. 方式 1:静态 AES 密钥方式 .............................................................................................................. 9
4.3. 方式 2:ECDH 协商密钥方式 ............................................................................................................ 9
4.4. 方式 3:动态 AES 密钥方式 ............................................................................................................ 10
5 设备入网 ........................................................................................................................................................... 10
5.1. 一键配置 ........................................................................................................................................... 10
5.2. 路由器方案 ....................................................................................................................................... 11
6 局域网方案 ....................................................................................................................................................... 11
6.1. 局域网设备发现 ............................................................................................................................... 11
6.2. 局域网数据通讯过程 ....................................................................................................................... 12
6.3. 局域网交互 ....................................................................................................................................... 12
6.3.1. 设备发现 type=1 ....................................................................................................................... 12
6.3.2. 设备授权 type=2 ....................................................................................................................... 13
6.4.2. 局域网交互(JSON 方式)type=3................................................................................................. 14
6.3.4. 局域网交互(脚本方式) type=4 ................................................................................................. 15
6.3.5. 增加子设备 type=105 ............................................................................................................... 16
6.3.6. 子设备授权 type=102 ............................................................................................................... 16
6.3.7. 子设备局域网交互(JSON 方式)type=103................................................................................. 17
6.3.8. 子设备局域网交互(脚本方式) type=104 ................................................................................. 18
7 广域网方案 ....................................................................................................................................................... 19
7.1. 设备和云端交互流程 ....................................................................................................................... 19
7.2. 数据包可选部(OPT) ..................................................................................................................... 20
7.2.1. 设备认证请求 type=9 ............................................................................................................... 20
7.2.2. 云端认证响应 type=9 ............................................................................................................... 20
7.3. 数据包体(payload) ....................................................................................................................... 20
7.3.1. 设备认证请求 type=9 .............................................................................................................. 20
7.3.2. 云端认证响应 type=9 ............................................................................................................... 20
7.3.3. 设备心跳请求 type=10 ............................................................................................................. 21
7.3.4. 云端心跳响应 type=10 ............................................................................................................. 21

7.3.5. 设备数据上报请求 type=12 ..................................................................................................... 21
7.3.6. 云端数据上报响应 type=12 ..................................................................................................... 21
7.3.7. 云端控制请求 type=11 ............................................................................................................. 21
7.3.8. 设备控制响应 type=11 ............................................................................................................. 22
7.3.9. 云端获取设备快照 type=11 ..................................................................................................... 22
7.3.10. 获取设备快照响应 type=11 ..................................................................................................... 22
7.3.11. 任务(云菜谱)下发 type=11 ................................................................................................. 22
7.3.12. 任务(云菜谱)下发响应 type=11 ......................................................................................... 23
7.3.13. 任务(云菜谱)上报 type=16 ................................................................................................. 23
7.3.14. 任务(云菜谱)上报响应 type=16 ......................................................................................... 24
7.3.15. 携带子设备心跳请求 type=110 ............................................................................................... 24
7.3.16. 携带子设备云端心跳响应 type=110 ....................................................................................... 24
7.3.17. 子设备数据上报请求 type=112 ............................................................................................... 25
7.3.18. 子设备云端数据上报响应 type=112 ....................................................................................... 25
7.3.19. 子设备云端控制请求 type=111 ............................................................................................... 25
7.3.20. 子设备设备控制响应 type=111 ............................................................................................... 25
7.3.21. 子设备云端获取设备快照 type=111 ....................................................................................... 25
7.3.22. 子设备获取设备快照响应 type=111 ....................................................................................... 26
7.3.23. 子设备解绑请求 type=113 ....................................................................................................... 26
7.3.24. 子设备解绑响应 type=113 ....................................................................................................... 26
7.3.25. 云端下发视频播放地址请求 type=200 ................................................................................... 27
7.3.26. 设备对云端下发视频播放地址响应 type=201 ....................................................................... 27
7.3.27. 设备主动拉取信息 type=15 ..................................................................................................... 29
7.3.28. 云端反馈拉取信息 type=15 ..................................................................................................... 29
8 子设备管理 ....................................................................................................................................................... 31
8.1. 增加子设备 ....................................................................................................................................... 31
8.1.1. 采用设备发现报文方式 ........................................................................................................... 32
8.1.2. 采用扫码入网方式 ................................................................................................................... 32
8.2. 子设备授权 ....................................................................................................................................... 33
8.3. 子设备局域网控制 ........................................................................................................................... 34
8.4. 子设备广域网控制 ........................................................................................................................... 34
8.4.1. 子设备的心跳 ................................................................................................................................... 34
8.4.2. 子设备的控制 ................................................................................................................................... 34
8.4.3. 子设备解绑 ....................................................................................................................................... 35
9 产品(模块)固件 OTA 升级 ........................................................................................................................... 35
9.1. 固件的正确性、完整性验证 ........................................................................................................... 36
9.2. 由用户确认的 OTA 升级过程 ........................................................................................................... 37
9.3. 由云端直接控制的 OTA 升级过程 ................................................................................................... 37
9.4. 升级信息查询 ................................................................................................................................... 38
9.5. OTA 升级指令 type=7 ....................................................................................................................... 38
9.6. OTA 升级状态主动上报 type=8 ....................................................................................................... 39
10 定时任务 type = 13 ............................................................................................................................................. 40
10.1 查询是否支持定时功能 biz_code = 1090 ............................................................................................. 45
10.2 增加定时任务 biz_code = 1091 ............................................................................................................. 45

10.3 删除定时任务 biz_code = 1093 ............................................................................................................. 45
10.4 修改定时任务 biz_code = 1092 ............................................................................................................. 46
10.5 查询定时任务 biz_code = 1094 ............................................................................................................. 46
10.6 停止定时任务 biz_code = 1095 ............................................................................................................. 47
10.7 重启定时任务 biz_code = 1096 ............................................................................................................. 47
10.8 上报执行结果 biz_code = 1097 (设备主动上报到云端) ............................................................... 48
10.9 上报增加定时 biz_code = 1098 (设备主动上报到云端) ................................................................. 49
10.10 上报删除定时 biz_code = 1099 (设备主动上报到云端) ............................................................ 49
10.11 上报修改定时 biz_code = 10100 (设备主动上报到云端) .......................................................... 50
10.12 上报定时快照 biz_code = 10101 (设备主动上报到云端) .......................................................... 50
11 从主控板获取 product_uuid 方案 ........................................................................................................... 51
12 被控设备的状态上报 type=14 ................................................................................................................. 52
13 Lua 脚本规范 ............................................................................................................................................. 54
13.1. Lua 引擎内置 cjson ........................................................................................................................... 55
13.2. 将 JD 标准指令转换为设备(模块)私有指令 .............................................................................. 55
13.3. 将设备(模块)的私有命令转换为 JD 标准命令 JSON 字符串 .................................................... 56
13.4. 标准 JSON 字符串示例 ..................................................................................................................... 56
13.4.1. 设备控制请求 ........................................................................................................................... 56
13.4.2. 设备控制响应 ........................................................................................................................... 57
13.4.3. 获取设备快照请求 ................................................................................................................... 57
13.4.4. 获取设备快照响应 ................................................................................................................... 57
13.4.5. 设备数据上报 ........................................................................................................................... 58
13.4.6. 云菜谱下发 ............................................................................................................................... 58
13.4.7. 云菜谱下发响应 ....................................................................................................................... 59
硬件的错误码 ........................................................................................................................................................... 60
响应(Code)码定义 ............................................................................................................................................... 60

1 关键词定义及约定
1.1. 关键词定义
ECDH 算法标准:secp160r1,
AES 算法标准:AES128 CBC/PKCS#5 padding
feedid:合法用户从云端申请并写入设备的唯一 ID 值,不超过 32 字节,是设备的唯一标识。
productuuid:某类产品(同一品牌、同一批次、同一规格)的标识码,6 字节固定长数字和字母组合。是系
统生成的产品标识码。
accesskey: 从云端获取的 key,与 feedid 有一一对应的关系,在设备向云端认证时使用。
localkey: APP 对某一个设备生成的控制密钥,通常与 accesskey 有一定的关系。用于局域网控制。
session_key:设备与云端生成的对话密钥,用于广域网与设备端的通讯。
1.2. 约定
crc16 校验和:本协议采用的数据包校验和算法。其实现如下所示:
uint16_t CRC16(const uint8_t * buffer, uint32_t size)
{
uint16_t crc = 0xFFFF;
if (buffer && size)
while (size--)
{
crc = (crc >> 8) | (crc << 8);
crc ^= *buffer++;
crc ^= ((unsigned char) crc) >> 4;
crc ^= crc << 12;
crc ^= (crc & 0xFF) << 5;
}
return crc;
}
2 协议说明
Joylink 协议组成的网络,按照角色可以把智能硬件分为以下三种:
普通设备:即一般的可连网设备,这样的智能硬件可以通过基站、路由器直接连入因特网,本身具有
IP 地址。
网关设备:这类设备不仅自身有 IP 地址,可以连入因特网;同时代理如 ZigBee、BlueTooth、433 等不
具有独立 IP 地址的设备接入网络。
剩余60页未读,继续阅读




安全验证
文档复制为VIP权益,开通VIP直接复制

评论0