共享空间RTU
<h2>简介</h2>
<p>共享空间控制RTU采用瘦终端模式开发,可执行远程控制指令、延时指令,通过云端发送的控制指令进行场景控制,不具备自动控制能力。
通过开机online消息,在开机时实现与云端状态同步;运行过程中,通过sync同步消息,实现状态上报。</p>
<p>网关
mode_id : 2010
service_id : 20100101</p>
<p>[========]</p>
<h2>业务控制指令</h2>
<table>
<thead>
<tr>
<th style="text-align: left;">指令名称</th>
<th style="text-align: left;">控制项</th>
<th style="text-align: left;">参数值</th>
<th style="text-align: left;">参数类型</th>
<th style="text-align: left;">指令类型</th>
<th style="text-align: left;">说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">40</td>
<td style="text-align: left;">语音播报</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主指令</td>
<td style="text-align: left;">内容</td>
</tr>
<tr>
<td style="text-align: left;">41</td>
<td style="text-align: left;">语音播报</td>
<td style="text-align: left;">1~7</td>
<td style="text-align: left;">number</td>
<td style="text-align: left;">附加参数</td>
<td style="text-align: left;">音量</td>
</tr>
<tr>
<td style="text-align: left;">42</td>
<td style="text-align: left;">语音播报</td>
<td style="text-align: left;">true/false</td>
<td style="text-align: left;">bool</td>
<td style="text-align: left;">附加参数</td>
<td style="text-align: left;">是否循环</td>
</tr>
<tr>
<td style="text-align: left;">43</td>
<td style="text-align: left;">语音播报</td>
<td style="text-align: left;">true/false</td>
<td style="text-align: left;">bool</td>
<td style="text-align: left;">附加参数</td>
<td style="text-align: left;">编码格式 false:gb2312 ,true:utf8</td>
</tr>
<tr>
<td style="text-align: left;">1101</td>
<td style="text-align: left;">锁控</td>
<td style="text-align: left;">"O"/"1"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主指令</td>
<td style="text-align: left;">"1"直接使用表示自动开锁,"0"表示关闭或查询锁控状态</td>
</tr>
<tr>
<td style="text-align: left;">1301</td>
<td style="text-align: left;">大功率继电器</td>
<td style="text-align: left;">"0"/"1"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主指令</td>
<td style="text-align: left;">"0"表示关,"1"表示常开</td>
</tr>
<tr>
<td style="text-align: left;">1401</td>
<td style="text-align: left;">小功率继电器1</td>
<td style="text-align: left;">"0"/"1"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主指令</td>
<td style="text-align: left;">"0"表示关,"1"表示常开</td>
</tr>
<tr>
<td style="text-align: left;">1901</td>
<td style="text-align: left;">小功率继电器2</td>
<td style="text-align: left;">"0"/"1"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主指令</td>
<td style="text-align: left;">"0"表示关,"1"表示常开</td>
</tr>
<tr>
<td style="text-align: left;">1A01</td>
<td style="text-align: left;">RGB彩灯</td>
<td style="text-align: left;">"R"/"G"/"B"/"0"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主指令</td>
<td style="text-align: left;">红/绿/蓝/关闭</td>
</tr>
<tr>
<td style="text-align: left;">1B01</td>
<td style="text-align: left;">开锁保持时间</td>
<td style="text-align: left;">0~86400秒</td>
<td style="text-align: left;">number</td>
<td style="text-align: left;">附加参数</td>
<td style="text-align: left;">0或>86400:表示常开</td>
</tr>
<tr>
<td style="text-align: left;">1C01</td>
<td style="text-align: left;">大功率继电器</td>
<td style="text-align: left;">0~86400秒</td>
<td style="text-align: left;">number</td>
<td style="text-align: left;">附加参数</td>
<td style="text-align: left;">继电器延时关闭定时器</td>
</tr>
<tr>
<td style="text-align: left;">1D01</td>
<td style="text-align: left;">小功率继电器1</td>
<td style="text-align: left;">0~86400秒</td>
<td style="text-align: left;">number</td>
<td style="text-align: left;">附加参数</td>
<td style="text-align: left;">继电器延时关闭定时器</td>
</tr>
<tr>
<td style="text-align: left;">1E01</td>
<td style="text-align: left;">小功率继电器2</td>
<td style="text-align: left;">0~86400秒</td>
<td style="text-align: left;">number</td>
<td style="text-align: left;">附加参数</td>
<td style="text-align: left;">继电器延时关闭定时器</td>
</tr>
</tbody>
</table>
<p><strong>备注:</strong>
1、【1101 锁控】指令不携带【1B01 开锁保持时间】时,使用RTU默认开锁保持时间,携带时使用【1B01 开锁保持时间】设置时间。自动关锁延时可实现ms级控制,主要进行短时间的延时操作;手动关锁延时可控制时间长,主要进行时间较长的延时操作。
2、指令可同时发送多条,只要总数据长度在限制范围内即可。
3、主指令按需发送;附加参数指令按需携带,独立使用无效。</p>
<p><strong>控制示例:</strong>
<code>{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;action&quot;:&quot;command&quot;,&quot;params&quot;:{&quot;1A01&quot;:&quot;R&quot;,&quot;1101&quot;:&quot;1&quot;,&quot;1B01&quot;:5,&quot;1301&quot;:&quot;1&quot;,&quot;1C01&quot;:5,&quot;1401&quot;:&quot;1&quot;,&quot;1D01&quot;:5,&quot;1501&quot;:&quot;1&quot;,&quot;1D01&quot;:5,&quot;1901&quot;:&quot;1&quot;,&quot;1E01&quot;:5}}]}}</code></p>
<p>[========]</p>
<h2>上报数据字段</h2>
<table>
<thead>
<tr>
<th style="text-align: left;">数据来源</th>
<th style="text-align: left;">字段名</th>
<th style="text-align: left;">功能</th>
<th style="text-align: left;">参数范围</th>
<th style="text-align: left;">参数类型</th>
<th style="text-align: left;">上报批次</th>
<th style="text-align: left;">备注</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">15</td>
<td style="text-align: left;">信号强度</td>
<td style="text-align: left;">"0"~"100"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">低于30%时通信可能不稳定</td>
</tr>
<tr>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">18</td>
<td style="text-align: left;">AGPS经度</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">未获取到时不上报</td>
</tr>
<tr>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">19</td>
<td style="text-align: left;">AGPS纬度</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">未获取到时不上报</td>
</tr>
<tr>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">20</td>
<td style="text-align: left;">电池电量</td>
<td style="text-align: left;">"0"~"100"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">未启用</td>
</tr>
<tr>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">485</td>
<td style="text-align: left;">485通信统计</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">主机数据</td>
<td style="text-align: left;">485转向1成功0未启动,发送统计,重发统计,超时统计,接收统计,crc错误,串口3重发统计,串口3超时统计,串口3接收统计</td>
</tr>
<tr>
<td style="text-align: left;">从机数据</td>
<td style="text-align: left;">1101</td>
<td style="text-align: left;">锁状态</td>
<td style="text-align: left;">0/"1"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">锁状态</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">从机数据</td>
<td style="text-align: left;">1301</td>
<td style="text-align: left;">电池继电器状态</td>
<td style="text-align: left;">"0"/"1"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">大功率继电器状态</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">从机数据</td>
<td style="text-align: left;">1401</td>
<td style="text-align: left;">风扇继电器状态</td>
<td style="text-align: left;">0/"1"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">小功率继电器1状态</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">从机数据</td>
<td style="text-align: left;">1701</td>
<td style="text-align: left;">NTC温度</td>
<td style="text-align: left;">"2400"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">NTC温度</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">从机数据</td>
<td style="text-align: left;">1801</td>
<td style="text-align: left;">输入IO状态</td>
<td style="text-align: left;">"0,0"-"1,1"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">输入IO状态</td>
<td style="text-align: left;">浸水口,烟雾口</td>
</tr>
<tr>
<td style="text-align: left;">从机数据</td>
<td style="text-align: left;">1901</td>
<td style="text-align: left;">加热继电器状态</td>
<td style="text-align: left;">0/"1"</td>
<td style="text-align: left;">string</td>
<td style="text-align: left;">小功率继电器2状态</td>
<td style="text-align: left;"></td>
</tr>
</tbody>
</table>
<p><strong>备注:</strong>
1、当连接多个从机时,同一种类型数据合并一条数据上报。</p>
<p><strong>数据交互示例</strong></p>
<pre><code>
设备开机上报主机状态
/xm/sh/response/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531581&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;sync&quot;,&quot;serviceid&quot;:&quot;20100101&quot;,&quot;params&quot;:{&quot;15&quot;:&quot;74&quot;,&quot;20&quot;:&quot;0&quot;}}]}}
--------⬆️-----------第三阶段,设备开机后上报设备状态------⬆️------------
1、开机成功,设备上报业务同步消息
/xm/sh/response/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531806&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;sync&quot;,&quot;serviceid&quot;:&quot;20100101&quot;,&quot;params&quot;:{&quot;1101&quot;:&quot;1&quot;}}]}}
/xm/sh/response/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531806&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;sync&quot;,&quot;serviceid&quot;:&quot;20100101&quot;,&quot;params&quot;:{&quot;1301&quot;:&quot;0&quot;}}]}}
/xm/sh/response/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531807&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;sync&quot;,&quot;serviceid&quot;:&quot;20100101&quot;,&quot;params&quot;:{&quot;1701&quot;:&quot;2200&quot;}}]}}
/xm/sh/response/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531807&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;sync&quot;,&quot;serviceid&quot;:&quot;20100101&quot;,&quot;params&quot;:{&quot;1401&quot;:&quot;0&quot;}}]}}
/xm/sh/response/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531808&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;sync&quot;,&quot;serviceid&quot;:&quot;20100101&quot;,&quot;params&quot;:{&quot;1901&quot;:&quot;0&quot;}}]}}
/xm/sh/response/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531808&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;sync&quot;,&quot;serviceid&quot;:&quot;20100101&quot;,&quot;params&quot;:{&quot;1801&quot;:&quot;0,0&quot;}}]}}
/xm/sh/response/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531809&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;sync&quot;,&quot;serviceid&quot;:&quot;20100101&quot;,&quot;params&quot;:{&quot;485&quot;:&quot;1,7,0,0,7,0,0,0,0&quot;}}]}}
2、锁控或io读取状态变化,上报
/xm/sh/response/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531805&quot;,&quot;session&quot;:&quot;0&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;,&quot;action&quot;:&quot;command&quot;,&quot;params&quot;:{&quot;1101&quot;:&quot;1&quot;}}]}}
3、业务控制命令(多条同时下发)
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;action&quot;:&quot;command&quot;,&quot;params&quot;:{&quot;40&quot;:&quot;123&quot;,&quot;1A01&quot;:&quot;R&quot;,&quot;1101&quot;:&quot;1&quot;,&quot;1B01&quot;:5,&quot;1301&quot;:&quot;1&quot;,&quot;1C01&quot;:5,&quot;1401&quot;:&quot;1&quot;,&quot;1D01&quot;:5,&quot;1501&quot;:&quot;1&quot;,&quot;1D01&quot;:5,&quot;1901&quot;:&quot;1&quot;,&quot;1E01&quot;:5}}]}}
4、离线发送遗嘱
/xm/sh/will/mqtt/861658064177846/2010/v2
offline</code></pre>
<p>[========]</p>
<p><strong>下面功能没启用</strong></p>
<pre><code>--------⬆️-----------第一阶段,设备开机上报基础信息-------⬆️-----------
设备开机上报启动消息
/xm/sh/online/mqtt/861658064177846/2010/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;1704531587&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;nodeid&quot;:&quot;000&quot;}]}}
--------⬇️-----------第二阶段,服务下发开机配置-----------⬇️-------
服务器下发控制指令,将云端状态同步给设备
/xm/sh/request/mqtt/861658064177846/1111/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;action&quot;:&quot;command&quot;,&quot;params&quot;:{&quot;1A01&quot;:&quot;0&quot;,&quot;1101&quot;:&quot;1&quot;,&quot;1301&quot;:&quot;1&quot;,&quot;1401&quot;:&quot;1&quot;,&quot;1501&quot;:&quot;1&quot;,&quot;1901&quot;:&quot;1&quot;}}]}}
服务器下发开机指令
/xm/sh/request/mqtt/861658064177846/1111/v2
{&quot;header&quot;:{&quot;timeStamp&quot;:&quot;&quot;},&quot;payload&quot;:{&quot;devices&quot;:[{&quot;action&quot;:&quot;writeconfig&quot;,&quot;params&quot;:{&quot;START_FLAG&quot;:1}}]}}</code></pre>