更新时间:2024-04-08 08:18:04下载pdf
扫地机地图流数据传输功能是针对扫地机地图数据传输的服务,作为扫地机和涂鸦 App 地图数据在线上的一个特殊快捷通道。
扫地机流服务的命令不是所有模组都支持,需要使用特定的模组并且开通相关服务,才可以正常使用该服务。
使用说明:
扫地机地图服务涉及以下协议指令:
命令字 | 命令说明 |
---|---|
0x28 | 地图流数据传输 |
0x30 | 地图流数据传输(多张地图数据) |
0x34+0x06 | 获取地图会话 ID |
偏移量表示一次地图数据里,MCU 已经发送的数据总长。
模组串口最大可以缓存的数据可以达到 1024 字节,一个地图数据包的数据不能超过 1024 字节,每包地图数据内容建议 512 字节。
地图 ID 作为一次完整地图数据的标志,数据传输方需要在一张地图数据结束后、新地图开始时,改变地图 ID,一般以递增的方式进行。当地图 ID 改变,App 界面显示当前地图数据,清除之前数据,重新开始显示。
开始数据传输后,模组会停止心跳包发送,保证地图数据的优先传输。之后,在模组不断电的前提下不会主动恢复心跳包的发送。
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 求余 |
示例:地图 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 | 0x30 |
数据长度 | 2 | 0x0009+N |
数据 | 1 | 地图服务协议版本:0x00 |
2 | 地图服务会话 ID 号:作为一次地图显示的标志 | |
6 |
|
|
N | 实体数据(大端模式) | |
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 30 00 xx 00 00 00 01 00 00 00 00 xx xx xx xx xx xx
模组返回
字段 | 字节数 | 说明 |
---|---|---|
帧头 | 2 | 0x55aa |
版本 | 1 | 0x00 |
命令字 | 1 | 0x30 |
数据长度 | 2 | 0x0001 |
数据 | 1 |
|
校验和 | 1 | 从帧头开始,按字节求和,得出的结果对 256 求余 |
示例:55 aa 03 30 00 01 00 33
此命令是地图流服务单张地图和多张地图传输协议的补充。
地图会话 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
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈