核心概念
本文档介绍惯导扫地机开发中的关键术语和设计理念,帮助你更好地理解平台架构。
地图数据方案
除了一般的设备控制功能之外,惯导扫地机在面板上通常还需要具备地图绘制的能力。由于数据量大、增量传输等特性,地图数据并不通过 dp 点传输,而是通过 MQTT 流服务 传输。
MQTT 地图数据协议
从 MQTT 流服务获取的消息中可能包含一个或多个地图数据包,每个数据包的格式为:
其中:
- Header:26 字节的头部信息
- 字节 0-3:地图 ID (十六进制)
- 字节 4-21:预留/其他信息
- 字节 22-25:数据长度 (十六进制,表示后续数据的字节数/2)
- MapDataChunk:实际的地图数据片段
- 长度为 Header 中指定的字节数 * 2
地图数据点格式
地图数据字符串由一系列点信息组成,每个点可能使用 6 字节或 10 字节格式(取决于地图参数 dp 上报的地图分辨率):
6 字节格式(适用于分辨率 <= 255)
XX:X 坐标 (十六进制,0-255)YY:Y 坐标 (十六进制,0-255)ZZ:点类型 (01=清扫点, 02=障碍物, 03=当前位置, 04=充电桩, 00=未知)
10 字节格式(适用于分辨率 > 255)
XXXX:X 坐标 (十六进制,更大范围)YYYY:Y 坐标 (十六进制,更大范围)ZZ:点类型 (同 6 字节格式)