针对厂商设备主板与乐摇摇串口联网模组对接,平台提供标准串口数据通讯协议、自动生成参数界面、串口调试工具,简化开发过程,使设备快速联网获得增值功能。本文档基于乐摇摇串口联网模组与设备主板的标准对接流程编写。
协议文档
集成芯片对接参考设计资料
若选择串口集成芯片对接方案,请下载相应参考资料
SDK
下载串口与函数SDK
串口调测功工具
准备工作
对接前,需要先获取乐摇摇联网芯片或模组,以便后续开发测试。
如果您是首次接入乐摇摇联网方案,请按以下流程进行对接。下文将针对各个步骤进行详细描述。
对接流程 | 参考文档 |
---|---|
1注册开发账号 | 查看流程文档 |
2创建产品 | 查看流程文档 |
3主板参数配置 | 查看流程文档 |
4硬件嵌入式开发 | 查看流程文档 |
5硬件联调 | 查看流程文档 |
6发布,体验功能 | 查看流程文档 |
通信接口: 串口(RS232)
波特率:38400
停止位:1位
数据位:8位
校验位:0位
数据类型 | 描述 |
---|---|
BYTE | 无符号单字节整型(字节,8位) |
WORD | 无符号双字节整型(双字节,16位) |
DWORD | 无符号四字节整型(四字节,32位) |
BYTE[n] | N字节 |
协议采用小端模式(little-endian)的网络字节序来传递字和双字。
约定如下:
——字节(BYTE)的传输约定:按照字节流的方式传输;
——字(WORD)的传输约定:先传递低八位,再传递高八位;
——双字(DWORD)的传输约定:先传递低八位,然后传递高八位,再传递高16位,
最后传递高24位。
主机查询方式
主机按照一定的时间间隔向终端发送数据帧,终端接收到数据帧后返回应答帧,终端不主动上传数据,若主机在规定时间内未接受到规定的数据帧的应答数据帧,则重发数据帧直到终端返回应答数据帧。
正常通信时序:
异常通信时序:
终端上传数据帧方式
正常通信时序:
异常通信时序:
帧格式图
格式说明
起始字节 | 名称 | 定义 | 数据类型 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | 固定为0xAA | BYTE | |
1 | Length(长度) | Index + CMD +Data + Check 数据总长 | BYTE | |
2 | Index (索引) | 主机:0x01 终端:0x02 | BYTE | 标识消息发出方 按摩椅主板为02 |
3 | CMD(命令) | 表明数据帧的类型 | BYTE | |
4 | Data(数据) | 数据区 | BYTE[n] (n<200) | 数据区长度可以为0 |
4+n | Check(校验) | 校验范围:Length+ Index+ CMD+ Data | BYTE | 异或校验 |
5+n | End(帧尾) | 固定为0xDD | BYTE |
登录流程
支付盒子
指令说明——查询链接状态
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x0B | |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0x01 | 查询链接状态 |
4 | Data(数据) | BYTE[8] | 8位设备唯一码 | |
12 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
13 | End(帧尾) | BYTE | 0xDD |
按摩椅主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x05 | |
2 | Index (索引) | BYTE | 0x02 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0x01 | 查询链接状态 |
4 | Data(数据) | WORD | 登录标识 | 小端模式传输 获取方式见登录标识 |
6 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
7 | End(帧尾) | BYTE | 0xDD |
登录标识
登录标识是乐摇摇支付盒子用以识别所对接设备主板身份的标识码,每个产品都有且只有一个(请把登录标识烧录到设备中。当设备激活时,会上报到云端鉴权认证设备参数)。
标识码获取流程:
(1)打开乐摇摇后台网站https://open.leyaoyao.com(推荐Chrome浏览器),输入账号密码并登录。若无账号,请先注册开发账号。
(2)登录成功后,即可进入开发者中心。
(3)点击创建产品出现弹窗,请按要求完善产品信息。
主板信息填写与要求:
1主板名称格式为厂家名称+设备类型,例如:乐摇摇娃娃机
2上传的主板原图与接线方式图片参照上方示例,特别注意拍摄清晰保证主板与支付盒子间的接口电路,以便工作人员审核
(4)主板信息提交成功后,乐摇摇硬件工作人员将在3个工作日内对其进行审核,审核结果会同步以短信形势发送到主板厂商预留的手机号码,请注意查收。
(5)待审核通过后,即可在该页面看到该主板对应登录标识。如未通过,请留意申请反馈并与乐摇摇硬件工作人员进一步沟通。
(6)注意:获取到的登录标识为十进制,通信数据中需转换为16进制,并令低位在前,高位在后,以小端模式传输。如:登录标识为150,则通信中实际需传输的登录标识数据为 0x96 0x00
支付启动流程
指令说明——启动申请
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x0B | |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data(数据) | 见表1 | 见表1 | |
12 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
13 | End(帧尾) | BYTE | 0xDD |
表 1 启动申请指令数据区说明
数据字段 | 名称 | 数据类型 | 备注 |
---|---|---|---|
Data[0] | 按摩椅通道 | BYTE | 获取状态时固定为0x00 |
Data[1] | 子命令 ——启动申请 | BYTE | 0x14 |
Data[2-7] | 支付唯一码 | BYTE[6] |
按摩椅主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x0C | |
2 | Index (索引) | BYTE | 0x02 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data(数据) | 见表2 | 详见表2 | |
13 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
14 | End(帧尾) | BYTE | 0xDD |
表 2 启动申请应答指令数据区说明
数据字段 | 名称 | 数据类型 | 备注 |
---|---|---|---|
Data[0] | 按摩椅通道 | BYTE | 获取通道状态应答时建议固定为0x00 |
Data[1] | 子命令 ——启动申请 | BYTE | 0x14 |
Data[2-7] | 启动申请码 | BYTE[6] | |
Data[8] | 状态码 | BYTE | 0x00:空闲 0x01:已启动按摩 0x02:其他故障 |
指令说明——扫码支付启动按摩椅
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x0F | |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data(数据) | 见表3 | 见表3 | |
16 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
17 | End(帧尾) | BYTE | 0xDD |
表3 扫码支付启动按摩椅指令数据区说明
数据字段 | 名称 | 数据类型 | 备注 |
---|---|---|---|
Data[0] | 按摩椅通道 | BYTE | 起始通道0x01 |
Data[1] | 子命令 ——扫码支付启动 | BYTE | 0x01 |
Data[2-7] | 支付唯一码 | BYTE[6] | |
Data[8-9] | 上分数量 | WORD | 套餐对应时间,单位:分钟 小端模式传输 |
Data[10-11] | 套餐模式 | WORD | 0x0001:男士 0x0002:女士 0x0003:老人 |
按摩椅主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x0C | |
2 | Index (索引) | BYTE | 0x02 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data(数据) | 见表4 | 详见表4 | |
13 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
14 | End(帧尾) | BYTE | 0xDD |
表 4 扫码支付启动按摩椅应答指令数据区说明
数据字段 | 名称 | 数据类型 | 备注 |
---|---|---|---|
Data[0] | 按摩椅通道 | BYTE | 起始通道0x01 |
Data[1] | 子命令 ——扫码支付启动 | BYTE | 0x01 |
Data[2-7] | 支付唯一码 | BYTE[6] | |
Data[8] | 启动结果 | BYTE | 0x00:失败 0x01:成功 |
指令说明——暂停按摩流程
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x05 | |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data[0](数据) | BYTE | 0x02 | 子命令 ——暂停按摩流程 |
5 | Data[1](数据) | BYTE | 自增码 | 避免数据重复处理,重发的数据帧自增码不变,新发送的上分数据自增码增加 自增码到达0xFF后置0 |
6 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
7 | End(帧尾) | BYTE | 0xDD |
按摩椅主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x06 | |
2 | Index (索引) | BYTE | 0x02 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data[0](数据) | BYTE | 0x02 | 子命令 ——暂停按摩流程 |
5 | Data[1](数据) | BYTE | 自增码 | 避免数据重复处理,重发的数据帧自增码不变,新发送的上分数据自增码增加 自增码到达0xFF后置0 |
6 | Data[2](数据) | BYTE | 操作结果 | 0x00:设置失败 0x01:设置成功 |
7 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
8 | End(帧尾) | BYTE | 0xDD |
指令说明——继续按摩流程
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x05 | |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data[0](数据) | BYTE | 0x03 | 子命令 ——继续按摩流程 |
5 | Data[1](数据) | BYTE | 自增码 | 避免数据重复处理,重发的数据帧自增码不变,新发送的上分数据自增码增加 自增码到达0xFF后置0 |
6 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
7 | End(帧尾) | BYTE | 0xDD |
按摩椅主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x06 | |
2 | Index (索引) | BYTE | 0x02 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data[0](数据) | BYTE | 0x03 | 子命令 ——继续按摩流程 |
5 | Data[1](数据) | BYTE | 自增码 | 避免数据重复处理,重发的数据帧自增码不变,新发送的上分数据自增码增加 自增码到达0xFF后置0 |
6 | Data[2](数据) | BYTE | 操作结果 | 0x00:设置失败 0x01:设置成功 |
7 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
8 | End(帧尾) | BYTE | 0xDD |
指令说明——终止按摩流程
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x05 | |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data[0](数据) | BYTE | 0x04 | 子命令 ——终止按摩流程 |
5 | Data[1](数据) | BYTE | 自增码 | 避免数据重复处理,重发的数据帧自增码不变,新发送的上分数据自增码增加 自增码到达0xFF后置0 |
6 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
7 | End(帧尾) | BYTE | 0xDD |
按摩椅主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x06 | |
2 | Index (索引) | BYTE | 0x02 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data[0](数据) | BYTE | 0x04 | 子命令 ——终止按摩流程 |
5 | Data[1](数据) | BYTE | 自增码 | 避免数据重复处理,重发的数据帧自增码不变,新发送的上分数据自增码增加 自增码到达0xFF后置0 |
6 | Data[2](数据) | BYTE | 操作结果 | 0x00:设置失败 0x01:设置成功 |
7 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
8 | End(帧尾) | BYTE | 0xDD |
指令说明——提交按摩结束状态
按摩椅主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x11 | |
2 | Index (索引) | BYTE | 0x02 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data(数据) | 见表5 | 详见表5 | |
18 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
19 | End(帧尾) | BYTE | 0xDD |
表 5 主动提交按摩结束状态指令数据区说明
数据字段 | 名称 | 数据类型 | 备注 |
---|---|---|---|
Data[0] | 子命令 ——提交结束状态 | BYTE | 0x05 |
Data[1-6] | 支付唯一码 | BYTE[6] | |
Data[7-8] | 剩余时间 | WORD | 单位:分钟;小端模式传输 |
Data[9] | 停止原因 | BYTE | 0x00:倒计时结束 0x01:指令终止 0x02:设备故障 |
Data[10] | 启动模式 | BYTE | 0x01:扫码支付 0x02:投币支付 |
Data[11] | 故障码 | BYTE | 暂不解析 |
Data[12-13] | 预留 | WORD |
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x0B | |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data (数据) | 见表6 | 详见表6 | |
12 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
13 | End(帧尾) | BYTE | 0xDD |
表 6 主动提交按摩结束状态应答指令数据区说明
数据字段 | 名称 | 数据类型 | 备注 |
---|---|---|---|
Data[0] | 子命令 ——提交结束状态 | BYTE | 0x05 |
Data[1-6] | 支付唯一码 | BYTE[6] | |
Data[7] | 上报结果 | BYTE | 0x00:提交失败 0x01:提交成功 |
功能说明
本指令用作设备心跳,每五分钟由主板主动向盒子上报一次。
指令说明——定时上传设备状态
按摩椅主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x07 | |
2 | Index (索引) | BYTE | 0x02 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data(数据) | 见表7 | 详见表7 | |
8 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
9 | End(帧尾) | BYTE | 0xDD |
表 7 关闭全体充电通道应答指令数据区说明
数据字段 | 名称 | 数据类型 | 备注 |
---|---|---|---|
Data[0] | 子命令 ——上传设备状态 | BYTE | 0x06 |
Data[1] | BYTE | 自增码 | 避免数据重复处理,重发的数据帧自增码不变,新发送的上分数据自增码增加 自增码到达0xFF后置0 |
Data[2] | 设备状态 | BYTE | 0x00:空闲 0x01:正在使用 0x02:故障 |
Data[3] | 故障码 | BYTE | 暂不解析 |
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x05 | |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0x37 | 按摩椅数据通信 |
4 | Data[0](数据) | BYTE | 0x06 | 子命令 ——上传设备状态 |
5 | Data[1](数据) | BYTE | 自增码 | 避免数据重复处理,重发的数据帧自增码不变,新发送的上分数据自增码增加 自增码到达0xFF后置0 |
6 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
7 | End(帧尾) | BYTE | 0xDD |
功能说明
(1)打开乐摇摇后台网站https://open.leyaoyao.com(推荐Chrome浏览器),输入账号密码并登录开发者中心。若无账号,请先注册开发账号。
(2)在智能化产品列表中,找到需要进行自定义参数项的主板,点击“编辑”。若找不到该主板,请参照登录标识中的说明,添加需要对接的主板。
(3)进入主板参数配置页面,参数配置由3部分组成,包括基础参数、终端参数、故障参数。参数配置是对产品功能的抽象表示,可以通过不同功能类型定义。目前平台提供:布尔型、数值型、枚举型、故障型这四种参数类型。详情设置说明见参数配置
(5)参数配置以及开发完成后,需要发布主板参数才完成入库对接。发布后,终端参数功能会显示在乐摇摇设备管理系统-设备管理模块中。
(6)当主板参数状态变为已发布后,即可进行对应的调试工作。若在此后修改参数项,需在修改完成后再次点击同步更新。
(7)发布后请厂商务必做好主板调试,主板调试完成,发布前请联系乐摇摇对接人员。
指令说明——查询终端参数
支付盒子 -------------> 售货机主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x03 | |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0xXX | 以自定义情况为准 |
- | Data(数据) | - | - | 不含数据区 |
4 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
5 | End(帧尾) | BYTE | 0xDD |
售货机主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0xXX | 以自定义情况为准 |
2 | Index (索引) | BYTE | 0x02 | 标识售货机主板 |
3 | CMD(命令) | BYTE | 0xXX | 以自定义情况为准 |
4 | Data(数据) | BYTE[n] | 自定义参数项 | 自定义方法说明见3.5.1 |
4+N | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
5+N | End(帧尾) | BYTE | 0xDD |
指令说明——设置终端参数
支付盒子 -------------> 售货机主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0xXX | 以自定义情况为准 |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0x15 | 设置终端参数 |
4 | Data(数据) | BYTE[n] | 自定义参数项 | 自定义方法说明见3.5.1 |
4+N | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
5+N | End(帧尾) | BYTE | 0xDD |
售货机主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0xXX | 以自定义情况为准 |
2 | Index (索引) | BYTE | 0x02 | 标识售货机主板 |
3 | CMD(命令) | BYTE | 0x15 | 设置终端参数 |
4 | Data(数据) | BYTE | 参数设置结果 | 0x00:设置失败 0x01:设置成功 |
5 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
6 | End(帧尾) | BYTE | 0xDD |
功能说明
此功能可使主板厂家实现对其按摩椅主板的远程升级,通过该指令,服务器将会把固件程序分包下发到主板。
首先进入开放平台开发者中心https://open.leyaoyao.com/factory/motherboard,点击固件远程升级,进入固件升级页面。
点击新增固件,填写各项信息,上传固件程序,点击确定。
在批量升级前,需要先进行验证固件操作,点击验证固件。根据盒子设备编号添加设备,验证固件最多选择两台,点击确定,即开始升级。
升级完成则后台显示升级成功。
此时可以进行批量升级操作,一次最多添加50台设备。
指令说明 —— 数据包下载
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0xFF | 为0xFF表示超过255个字节 |
2 | Index (索引) | BYTE | 0x01 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0xCD | 大文件下载指令集 |
4 | frame_length | WORD | 数据帧中数据长度 | |
6 | sub_cmd | BYTE | 0x01 | 子命令 |
7 | Name_length | BYTE | 1-20 | 文件名的字符串长度 |
8 | File_name | String[M] | 不包含后缀,只支持字符,不支持中文 | |
9+M | File_size | WORD | 文件大小,单位字节,小端模式 | |
11+M | Packet_Sum | WORD | 分包数量,每包上传数据512字节,小端模式 | |
13+M | Packet_Num | WORD | 当前包的编号 起始包编号为1 | |
15+M | Data_length | WORD | 数据区长度 | |
16+M | File_data | BYTE[N] | 文件数据 | |
16+N+M | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
17+N+M | End(帧尾) | BYTE | 0xDD |
按摩椅主板 -------------> 支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0xXX | 以自定义情况为准 |
2 | Index (索引) | BYTE | 0x02 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0xCD | 自定义指令 |
4 | sub_cmd | BYTE | 0x01 | 子命令 |
5 | Name_length | BYTE | 1-20 | 文件名的字符串长度,单位是字节 |
6 | File_name | String[M] | 不包含后缀,只支持字符,不支持中文 | |
6+M | File_size | WORD | 文件大小,单位字节,小端模式 | |
8+M | Packet_Sum | WORD | 分包数量,每包上传数据512字节,小端模式 | |
10+M | Packet_Num | WORD | 当前包的编号 | |
12+M | File_result | BYTE | 0:接受成功 | |
1:续传数据,按照应答中的编号接着往下传。 | ||||
2:文件命名不一样,直接更新文件。 | ||||
13+M | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
14+M | End(帧尾) | BYTE | 0xDD |
指令说明 —— 上传本地固件信息
按摩椅主板------------->支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0xXX | 为0xff表示超过255个字节 |
2 | Index (索引) | BYTE | 0x02 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0xCD | 大文件下载相关指令 |
4 | sub_cmd | BYTE | 0x02 | 子命令 |
5 | Name_length | BYTE | 1-20 | 文件名的字符串长度 |
6 | File_name | String[M] | 不包含后缀,只支持字符,不支持中文 | |
6+M | File_size | WORD | 已保存的文件大小,单位字节 | |
8+M | version_length | BYTE | 软件版本号长度 | |
10+M+N | version | String[N] | 软件版本号 | |
10+N+M | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
10+N+M | End(帧尾) | BYTE | 0xDD |
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x05 | 以自定义情况为准 |
2 | Index (索引) | BYTE | 0x01 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0xCD | 自定义指令 |
4 | sub_cmd | BYTE | 0x02 | 子命令 |
5 | File_result | BYTE | 预留 | |
6 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
7 | End(帧尾) | BYTE | 0xDD |
指令说明 —— 获取本地固件信息
支付盒子 -------------> 按摩椅主板
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0x05 | 以自定义情况为准 |
2 | Index (索引) | BYTE | 0x01 | 标识按摩椅主板 |
3 | CMD(命令) | BYTE | 0xCD | 自定义指令 |
4 | sub_cmd | BYTE | 0x03 | 子命令 |
5 | File_result | BYTE | 预留 | |
6 | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
7 | End(帧尾) | BYTE | 0xDD |
按摩椅主板------------->支付盒子
起始字节 | 名称 | 数据类型 | 描述 | 备注 |
---|---|---|---|---|
0 | Head(帧头) | BYTE | 0xAA | |
1 | Length(长度) | BYTE | 0xXX | 为0xff表示超过255个字节 |
2 | Index (索引) | BYTE | 0x02 | 标识盒子主机 |
3 | CMD(命令) | BYTE | 0xCD | 大文件下载相关指令 |
4 | sub_cmd | BYTE | 0x03 | 子命令 |
5 | Name_length | BYTE | 1-20 | 文件名的字符串长度 |
6 | File_name | String[M] | 不包含后缀,只支持字符,不支持中文 | |
6+M | File_size | WORD | 已保存的文件大小,单位字节 | |
8+M | version_length | BYTE | 软件版本号长度 | |
10+M+N | version | String[N] | 软件版本号 | |
10+N+M | Check(校验) | BYTE | 异或校验码 | 校验范围:Length+ Index+ CMD+ Data |
10+N+M | End(帧尾) | BYTE | 0xDD |