CMD说明
<h1>扫地机主题:<code>BNIOT/ROBOT/#</code></h1>
<table>
<thead>
<tr>
<th>CODE</th>
<th>描述信息</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>设备心跳 &uarr;</td>
</tr>
<tr>
<td>103</td>
<td>配网成功 &uarr;</td>
</tr>
<tr>
<td>104</td>
<td>开启视频流 &darr;</td>
</tr>
<tr>
<td>105</td>
<td>关闭视频流 &darr;</td>
</tr>
<tr>
<td>106</td>
<td>前进 &darr;</td>
</tr>
<tr>
<td>107</td>
<td>后退 &darr;</td>
</tr>
<tr>
<td>108</td>
<td>向左 &darr;</td>
</tr>
<tr>
<td>109</td>
<td>向右 &darr;</td>
</tr>
<tr>
<td>111</td>
<td>回充 暂停 &darr;</td>
</tr>
<tr>
<td>112</td>
<td>开始清扫 &darr;</td>
</tr>
<tr>
<td>113</td>
<td>基站操作 &darr;</td>
</tr>
<tr>
<td>114</td>
<td>快速建图 &darr;</td>
</tr>
<tr>
<td>115</td>
<td>多地图开关 &darr;</td>
</tr>
<tr>
<td>116</td>
<td>使用新地图/切换地图 &darr;</td>
</tr>
<tr>
<td>117</td>
<td>删除地图 &darr;</td>
</tr>
<tr>
<td>118</td>
<td>新增禁区 &darr;</td>
</tr>
<tr>
<td>119</td>
<td>房间划分 &darr;</td>
</tr>
<tr>
<td>120</td>
<td>房间重命名 &darr;</td>
</tr>
<tr>
<td>121</td>
<td>合并房间 &darr;</td>
</tr>
<tr>
<td>122</td>
<td>添加门槛条 &darr;</td>
</tr>
<tr>
<td>123</td>
<td>添加地毯 &darr;</td>
</tr>
<tr>
<td>124</td>
<td>设置房间材质 &darr;</td>
</tr>
<tr>
<td>125</td>
<td>新增/修改方案 &darr;</td>
</tr>
<tr>
<td>126</td>
<td>使用方案 &darr;</td>
</tr>
<tr>
<td>127</td>
<td>预约方案 &darr;</td>
</tr>
<tr>
<td>128</td>
<td>删除方案 &darr;</td>
</tr>
<tr>
<td>129</td>
<td>耗材重置 &darr;</td>
</tr>
<tr>
<td>130</td>
<td> 固件升级 &darr;</td>
</tr>
<tr>
<td>131</td>
<td> AI进化开关 &darr;</td>
</tr>
<tr>
<td>132</td>
<td> 设置语音播报音量 &darr;</td>
</tr>
<tr>
<td>133</td>
<td> 设置时区 &darr;</td>
</tr>
<tr>
<td>134</td>
<td> 定位洗地机 &darr;</td>
</tr>
<tr>
<td>135</td>
<td> 设置扫地机语言 &darr;</td>
</tr>
<tr>
<td>20040</td>
<td>机器上传地图数据 &uarr;</td>
</tr>
<tr>
<td>20041</td>
<td>障碍物识别上传图片,详细说明地址:<a href="https://www.showdoc.com.cn/baanooliot/9534108835312773">https://www.showdoc.com.cn/baanooliot/9534108835312773</a> &uarr;</td>
</tr>
<tr>
<td>20042</td>
<td>机器上传地图数据 &uarr;</td>
</tr>
<tr>
<td>11252</td>
<td>机器上传设备状态(变化慢的有变化才上传,实时清扫轨迹、面积、清扫时长等等可以每几秒传一次) &uarr;</td>
</tr>
<tr>
<td>11256</td>
<td>机器上传设备信息(每次开机连上服务器后上报一次,后面数据有变化再单独传变化的字段,比如WIfi信号强度,wifi信号,版本,ip)&uarr;</td>
</tr>
<tr>
<td>11257</td>
<td>机器上传单次清扫记录 &uarr;</td>
</tr>
<tr>
<td>20030</td>
<td>设备离线</td>
</tr>
</tbody>
</table>
<p>[TOC]</p>
<h4>cmd:1 设备心跳</h4>
<pre><code>{&quot;cmd&quot;:1}</code></pre>
<h5>字段描述</h5>
<table>
<thead>
<tr>
<th>字段名称</th>
<th>字段类型</th>
<th>字段描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>cmd</td>
<td>int</td>
<td>命令字 code码</td>
</tr>
<tr>
<td>sno</td>
<td>String</td>
<td>设备号</td>
</tr>
<tr>
<td>data</td>
<td>object</td>
<td>数据报文对象</td>
</tr>
</tbody>
</table>
<h5>cmd 03 扫地机设备基本状态通知+报警</h5>
<pre><code>{
&quot;cmd&quot;:3,
&quot;data&quot;: {
&quot;operat_status&quot;:1,
&quot;electricity&quot;:88
&quot;message_time&quot;:123456952232,//报警时间
&quot;message_type&quot;:1,
}
}</code></pre>
<h5>字段描述</h5>
<table>
<thead>
<tr>
<th>字段名称</th>
<th>字段类型</th>
<th>字段描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>operat_status</td>
<td>int</td>
<td>运行状态 1:运行清扫中;2:待机中;3:充电中</td>
</tr>
<tr>
<td>electricity</td>
<td>int</td>
<td>电量</td>
</tr>
<tr>
<td>message_time</td>
<td>时间戳</td>
<td>消息通知时间</td>
</tr>
<tr>
<td>message_type</td>
<td>int</td>
<td>消息通知类型1:低电 2:开始充电 3:充电完成 </td>
</tr>
</tbody>
</table>
<h4>cmd 103 配网状态</h4>
<pre><code>{
&quot;cmd&quot;: 103,
&quot;data&quot;: {
&quot;status&quot;: 1,
&quot;user_id&quot;: &quot;1615187149862862850&quot;,
&quot;model&quot;: 1
}
}</code></pre>
<h5>字段描述</h5>
<table>
<thead>
<tr>
<th>字段名称</th>
<th>字段类型</th>
<th>字段描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>status</td>
<td>int</td>
<td>配网状态 1成功,0失败</td>
</tr>
<tr>
<td>model</td>
<td>int</td>
<td>机型 0:s40 2:s40max</td>
</tr>
<tr>
<td>user_id</td>
<td>long</td>
<td>用户id</td>
</tr>
</tbody>
</table>
<h2>APP下发类</h2>
<h4>md:104 开启视频流</h4>
<pre><code>{&quot;cmd&quot;:104}</code></pre>
<h4>cmd:105 关闭视频流</h4>
<pre><code>{&quot;cmd&quot;:105}</code></pre>
<h4>cmd:106 前进</h4>
<pre><code>{&quot;cmd&quot;:106}</code></pre>
<h4>cmd:107 后退</h4>
<pre><code>{&quot;cmd&quot;:107}</code></pre>
<h4>cmd:108 向左</h4>
<pre><code>{&quot;cmd&quot;:108}</code></pre>
<h4>cmd:109 向右</h4>
<pre><code>{&quot;cmd&quot;:109}</code></pre>
<h4>cmd:111 回充; 暂停</h4>
<pre><code>{
&quot;cmd&quot;:111,
&quot;action&quot;:1 //0:停止回充;1 开始回充 2:继续回充; 3 暂停
}</code></pre>
<p>应答</p>
<pre><code>{
“cmd”:111,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:112 开始清扫</h4>
<pre><code>{
&quot;cmd&quot;:112,
“mapId”:1,//地图id,type为1或者2时需要
&quot;action&quot;:1,//0:结束并返回; 1 开始清扫;2:继续 3 暂停
“type”:1,//0:全局清扫; 1 指定房间清扫;2 指定区域清扫
“room”: //指定房间,type为1才有此项
{
&quot;id&quot;:1, //房间ID
“material”:0, //0:瓷砖 1:大理石 2:木地板 3:地毯
“cleanMode”:0, //0:单扫 1:单洗 2:边扫边洗
“water”:0, //0:小 1:中 2:大
“cleanCnt”:0, //1:1次 2:2次
“order”:0, //0: 按序清扫, 1:自主清扫
}
&quot;area&quot;: //指定区域,type为2才有此项
{
&quot;id&quot;:1,
&quot;type&quot;:0, //0:矩形 1:圆形 2:5边形
&quot;points&quot;:&quot;顶点世界坐标&quot;, //矩形4个点; 圆形1个点;5边型5个点;//每个点x和y分别存入float数组
&quot;radius:12, //圆形半径
“material”:0, //0:瓷砖 1:大理石 2:木地板 3:地毯
“cleanMode”:0, //0:单扫 1:单洗 2:边扫边洗
“water”:0, //0:小 1:中 2:大
“cleanCnt”:0, //1:1次 2:2次
“order”:0, //0: 按序清扫, 1:自主清扫
}
}
</code></pre>
<p>应答</p>
<pre><code>{
“cmd”:112,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:113 基站操作</h4>
<pre><code>{
&quot;cmd&quot;:113,
&quot;action&quot;:1 //0:集污;1 开始深度清洁 2:停止深度清洁; 3 开始烘干 4:停止烘干
}</code></pre>
<p>应答</p>
<pre><code>{
“cmd”:113,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:114 快速建图</h4>
<pre><code>{
&quot;cmd&quot;:114
}</code></pre>
<p>应答</p>
<pre><code>{
&quot;cmd&quot;:114,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:115 多地图开关</h4>
<pre><code>{
&quot;cmd&quot;:115,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<p>应答</p>
<pre><code>{
“cmd”:115,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:116 使用新地图/切换地图</h4>
<pre><code>{
&quot;cmd&quot;:116,
&quot;mapId&quot;:0,
}</code></pre>
<p>应答</p>
<pre><code>{
“cmd”:116,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:117 删除地图</h4>
<pre><code>{
&quot;cmd&quot;:117,
&quot;mapId&quot;:0,
}</code></pre>
<p>应答</p>
<pre><code>{
“cmd”:117,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:117 新增禁区</h4>
<pre><code>{
&quot;cmd&quot;:118,
&quot;mapId&quot;:0,
“shape”:0, //0:线型 1:矩形
“points”:“顶点世界坐标” //线型2个点,矩形4个点;//每个点x和y分别存入float数组
}</code></pre>
<p>应答</p>
<pre><code>{
&quot;cmd&quot;:118,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:119 房间划分</h4>
<pre><code> {
&quot;cmd&quot;:119,
&quot;mapId&quot;:0,
&quot;roomId&quot;:0, //房间Id
“divideLine”:[x1,y1,x2,y2] //float点集
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:119,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:120 房间重命名</h4>
<pre><code>### 下发
{
&quot;cmd&quot;:120,
&quot;mapId&quot;:0,
“roomId”:1,
&quot;roomName&quot;:&quot;新名字&quot;
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:120,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:121 合并房间</h4>
<pre><code> {
&quot;cmd&quot;:121,
&quot;mapId&quot;:0,
“roomIds”:[1,2], //int[] 合并房间ID为1和2的两个房间
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:121,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:122 添加门槛条</h4>
<pre><code> {
&quot;cmd&quot;:122,
&quot;mapId&quot;:0,
“points”:[x1,y1,x2,y2,x3,y3,x4,y4...], //float[]矩形门槛条4个顶点世界坐标一组,支持多组
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:122,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:123 添加地毯</h4>
<pre><code> {
&quot;cmd&quot;:123,
&quot;mapId&quot;:0,
“points”:[x1,y1,x2,y2,x3,y3,x4,y4...], //float[]矩形地毯4个顶点世界坐标一组,支持多组
&quot;types&quot;:[1,2] //int[]地毯属性数组 1:禁止进入 2:仅拖地
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:123,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:124 设置房间材质</h4>
<pre><code> {
&quot;cmd&quot;:124,
&quot;mapId&quot;:0,
&quot;roomIds&quot;:[1,2], //int[]房间ID数组
“materials”:[1,2], //int[]材质数组,对应每个房间的材质 0:瓷砖 1:大理石 2:木地板 3:地毯
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:124,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:125 新增/修改方案</h4>
<pre><code> {
&quot;cmd&quot;:125,
&quot;mapId&quot;:0,
&quot;planId&quot;:0, //新增方案app产生ID,修改方案传原方案ID
“room”:[
{
&quot;id&quot;:1, //房间ID
&quot;onOff&quot;:0, //开关 1:开代表扫这个房间
“material”:0, //0:瓷砖 1:大理石 2:木地板 3:地毯
“cleanMode”:0, //0:单扫 1:单洗 2:边扫边洗
“water”:0, //0:小 1:中 2:大
“cleanCnt”:0, //1:1次 2:2次
}
]
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:125,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:126 使用方案</h4>
<pre><code> {
&quot;cmd&quot;:126,
&quot;planId&quot;:0,
&quot;onOff&quot;:0, //1:开启
&quot;mapId&quot;:0,
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:126,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:127 预约方案</h4>
<pre><code> {
&quot;cmd&quot;:127,
“onOff”:1, //1:打开,0关闭
&quot;mapId&quot;:0,
&quot;planId&quot;:0,
“time”:&quot;15:34&quot;, //hh:mm格式时间
“repeat”:&quot;1111111&quot; //周日-周一...周六,每天代表一个字符,1代表重复
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:127,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:128 删除方案</h4>
<pre><code> {
&quot;cmd&quot;:128,
&quot;mapId&quot;:0,
“planId”:0, //方案ID
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:128,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:129 耗材重置</h4>
<pre><code> {
&quot;cmd&quot;:129,
“type”:0, //0:边刷 1:滚刷 2:主机滤网 3:基站滤网 4:滚筒
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:129,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:130 固件升级</h4>
<pre><code> {
&quot;cmd&quot;:130,
“action”:1, //1:立即升级
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:130,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:131 AI进化开关</h4>
<pre><code> {
&quot;cmd&quot;:131,
“action”:0, //0:关 1:开
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:131,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:132 设置语音播报音量</h4>
<pre><code> {
&quot;cmd&quot;:132,
“volum”:80, //百分比 80%
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:132,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:133 设置时区</h4>
<pre><code> {
&quot;cmd&quot;:133,
“timezone”:8.0,
“tzString”:&quot;Asia/Shanghai&quot;
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:133,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:134 定位洗地机</h4>
<pre><code> {
&quot;cmd&quot;:134,
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:134,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd:135 设置扫地机语言</h4>
<pre><code>{
&quot;cmd&quot;:135,
&quot;language&quot;:0, //0;英语 1:简体中文 2:繁体中文 3:日本语 4:西班牙 5:法语 6:德语 7:俄语 8:葡萄牙语
}</code></pre>
<p>应答</p>
<pre><code> {
“cmd”:135,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h2>上报类</h2>
<h4>cmd 20040 机器上传地图数据</h4>
<pre><code>{
&quot;cmd&quot;: 20040,
&quot;data&quot;: {
&quot;mapData&quot;: &quot;protobuf数据&quot;,
&quot;mapId&quot;:1, //地图id
}
}</code></pre>
<p>应答</p>
<pre><code>{
“cmd”:20040,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd 20042 房间轮廓</h4>
<pre><code>{
&quot;cmd&quot;:20042,
&quot;mapId&quot;:0,
“room”:[
{
&quot;id&quot;:1,//房间ID
&quot;name&quot;:&quot;客厅&quot;
“contour”:&quot;轮廓点世界坐标&quot; //每个点x和分别存入float数组
},
{
&quot;id&quot;:2,//房间ID
&quot;name&quot;:&quot;客厅&quot;
“contour”:&quot;轮廓点世界坐标&quot; //每个点x和分别存入float数组
}
}</code></pre>
<p>应答</p>
<pre><code>{
“cmd”:20042,
&quot;code&quot;:0, //0:成功 1:失败
}</code></pre>
<h4>cmd :11256 机器上传设备信息(每次开机连上服务器后上报一次,后面数据有变化再单独传变化的字段,比如WIfi信号强度)</h4>
<pre><code> {
&quot;cmd&quot;:11256,
&quot;data&quot;: {
&quot;serialNumber&quot;: “系列号”,
&quot;version&quot;: “固件版本”,
&quot;ip&quot;: &quot;IP地址&quot;,
&quot;macAddr&quot;: &quot;wifi mac地址&quot;,
&quot;wifiStrength&quot;:0,
&quot;deviceModel&quot;: 0, //0:S40 1:S40 Max等等
&quot;bindTime&quot;: &quot;首次配网成功时间年月日时分秒&quot;
}
}</code></pre>
<h4>cmd :11257 机器上传单次清扫记录</h4>
<pre><code> {
&quot;cmd&quot;:11257,
&quot;data&quot;: {
“id”:0, //记录ID
&quot;cleanArea&quot;: 0,//清扫面积 单位:㎡
&quot;cleanTime&quot;: 0,//清扫时间 默认区间为0min—9999分钟(没有小数点,整数表示)
&quot;cleanCount&quot;: 0,//清扫次数 1次或者2次
&quot;mapId&quot;:0, //清扫的地图ID
“cleanPath”:[x1,y1,x2,y2], //清扫路线float数组
“cleanType”:0,//0:全局清扫; 1 指定房间清扫;2 指定区域清扫
“cleanMode”:0, //0:单扫 1:单洗 2:边扫边洗
&quot;cleanStatus&quot;:0, //0:清扫完成 1:有新任务终止此任务 2:电量不足停止 3:。。。
}
}</code></pre>