更新时间:2025-01-10 06:08:41下载pdf
扫地机地图流数据传输功能是针对扫地机地图数据传输的服务,作为扫地机和涂鸦 App 地图数据在线上的一个特殊快捷通道。
扫地机流服务的命令不是所有模组都支持,需要使用特定的模组并且开通相关服务,才可以正常使用该服务。
使用说明:
扫地机地图服务涉及以下协议指令:
命令字 | 命令说明 |
---|---|
0x28 | 地图流数据传输 |
0x3C | 地图流数据传输(X/Y 坐标 2 字节) |
0x34 + 0x06 | 获取地图会话 ID |
偏移量表示一次地图数据里,MCU 已经发送的数据总长。
这里数据内容目前模块最大可以缓存的数据部分可以达到 6144 字节,一包地图数据包数据部分不能超过 256 字节。
地图 ID 作为一次完整地图数据的标志,数据传输方需要在一张地图数据结束后、新地图开始时,改变地图 ID,一般以递增的方式进行。当地图 ID 改变,App 界面显示当前地图数据,清除之前数据,重新开始显示。
开始数据传输后,模组会停止心跳包发送,保证地图数据的优先传输。之后,在模组不断电的前提下不会主动恢复心跳包的发送。
地图 ID 变化时,首包偏移量必须为 0。
地图数据传输时,包偏移量必须递增。
单包实体数据长度小于 256 字节,一个物理坐标的实体数据不可切割成两包传输。
实体数据 中的内容需要按照规范填充,如不按规范填写模组会返回错误并丢弃数据。如有其它格式数据需求,请联系涂鸦讨论定制。
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x28 |
数据长度 | 2 | 0x0006+N |
数据 | 2 | data[0]–data[1] 地图 ID 号:地图 ID 号作为一张地图数据的归属标识。 |
4 | data[2]–data[5] 偏移量,首包为 0 | |
N | data[6]–data[N] 实体数据,大端模式 | |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
实体数据 | 字节数 | 说明 |
---|---|---|
地图数据上报(实时增量) | 1 | X 坐标 |
1 | Y 坐标 | |
1 |
|
示例:地图 ID:123,包偏移量:0
55 aa 03 28 xx xx 00 7b 00 00 00 00 xx xx xx xx xx
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x28 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 数据
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 28 00 01 00 28
MCU 发送
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x3C |
数据长度 | 2 | 0x0006+N |
数据 | 2 | data[0]–data[1] 地图 ID 号:地图 ID 号作为一张地图数据的归属标识 |
4 | data[2]–data[5] 偏移量,首包为 0 | |
N | data[6]–data[N] 实体数据,大端模式 | |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
实体数据 | 字节数 | 说明 |
---|---|---|
地图数据上报(实时增量) | 2 | X 坐标 |
2 | Y坐标 | |
1 |
|
示例:地图 ID:123,包偏移量:0
55 aa 03 3C xx xx 00 7b 00 00 00 00 xx xx xx xx xx
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x3C |
数据长度 | 2 | 0x0001 |
数据 | 1 | 数据
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
此命令是地图流服务单张地图和多张地图传输协议的补充。
地图会话 ID 由模组管理。MCU 在传一张新的地图数据时,可以先向模组申请地图会话 ID(子地图 ID 不用申请,根据子地图个数,依次为 0x01
、0x02
、0x03
……即可),模组会在回复时将此次地图会话 ID 返回给 MCU,随后 MCU 传输这张地图的地图会话 ID 都需要使用此 ID。
如果您想自行管理地图会话 ID,可以不使用此命令。
MCU 发送
字段 | 长度 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x03 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 0x0001 |
数据 | 1 | 0x06(子命令) |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 30 00 01 00 33
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x34 |
数据长度 | 2 | 0x0004 |
数据 | 1 | 0x06(子命令) |
1 | 传输结果
|
|
2 | 地图会话 ID(如果传输结果失败,此数据为无效数据) | |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 00 34 00 04 06 00 00 00 3d
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈