终端-照明灯协议
<h5>简要描述</h5>
<ul>
<li>网关与云端交互协议</li>
</ul>
<h5>请求 URL</h5>
<ul>
<li>参见环境信息</li>
</ul>
<h5>请求方式</h5>
<ul>
<li>emq</li>
</ul>
<h5>上行协议(属性上报,事件上报)</h5>
<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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">0</td>
<td style="text-align: left;">起始符</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">126</td>
<td style="text-align: left;">uint8</td>
</tr>
<tr>
<td style="text-align: left;">1</td>
<td style="text-align: left;">命令字</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">0:属性上报 1:时钟同步请求 2:蓝牙故障 3:恢复出厂设置响应</td>
<td style="text-align: left;">uint8</td>
</tr>
<tr>
<td style="text-align: left;">2</td>
<td style="text-align: left;">设备SN</td>
<td style="text-align: left;">18bytes</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">20</td>
<td style="text-align: left;">MAC地址</td>
<td style="text-align: left;">6bytes</td>
<td style="text-align: left;">00:1B:44:11:3A:B7</td>
<td style="text-align: left;">不带冒号</td>
</tr>
<tr>
<td style="text-align: left;">26</td>
<td style="text-align: left;">硬件版本主位</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">27</td>
<td style="text-align: left;">硬件版本次位</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">28</td>
<td style="text-align: left;">软件版本主位</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">29</td>
<td style="text-align: left;">软件版本次位</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">30</td>
<td style="text-align: left;">软件版本补丁位</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">31</td>
<td style="text-align: left;">蓝牙连接状态</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">0:已断开;1:已连接</td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">32</td>
<td style="text-align: left;">设备开关</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">0:关;1:开</td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">33</td>
<td style="text-align: left;">继电器输出状态</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">0:关;1:开</td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">34</td>
<td style="text-align: left;">当前亮度</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">35</td>
<td style="text-align: left;">目标亮度</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">36</td>
<td style="text-align: left;">0-10V输出值整数部分</td>
<td style="text-align: left;">2byte</td>
<td style="text-align: left;">7.83V->783 保留2位小数</td>
<td style="text-align: left;">unit16</td>
</tr>
<tr>
<td style="text-align: left;">38</td>
<td style="text-align: left;">本地开关有效性</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">0:无效;1:有效</td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">39</td>
<td style="text-align: left;">外部开关信号</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">0:未连接;1:开;2:关</td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">40</td>
<td style="text-align: left;">外部旋钮连接状态</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">0:未连接;1:已连接</td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">41</td>
<td style="text-align: left;">外部旋钮输入电阻</td>
<td style="text-align: left;">2byte</td>
<td style="text-align: left;">4.54欧姆->454 保留2位小数</td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">43</td>
<td style="text-align: left;">上报时间</td>
<td style="text-align: left;">8byte</td>
<td style="text-align: left;">long型时间戳</td>
</tr>
<tr>
<td style="text-align: left;">50</td>
<td style="text-align: left;">结束符</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">127</td>
<td style="text-align: left;">uint8</td>
</tr>
</tbody>
</table>
<h5>上行协议(请求、应答)</h5>
<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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">0</td>
<td style="text-align: left;">起始符</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">126</td>
<td style="text-align: left;">uint8</td>
</tr>
<tr>
<td style="text-align: left;">1</td>
<td style="text-align: left;">命令字</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">0:属性上报 1:时钟同步请求 2:蓝牙故障 3:恢复出厂设置响应</td>
<td style="text-align: left;">uint8</td>
</tr>
<tr>
<td style="text-align: left;">2</td>
<td style="text-align: left;">设备SN</td>
<td style="text-align: left;">18bytes</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">ASCII码</td>
</tr>
<tr>
<td style="text-align: left;">20</td>
<td style="text-align: left;">上报时间</td>
<td style="text-align: left;">8byte</td>
<td style="text-align: left;">long型时间戳</td>
</tr>
<tr>
<td style="text-align: left;">27</td>
<td style="text-align: left;">结束符</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">127</td>
<td style="text-align: left;">uint8</td>
</tr>
</tbody>
</table>
<h5>备注</h5>
<ul>
<li>对于应答,在终端设置失败时上报即可,成功无需上报。</li>
</ul>
<h5>下行协议(指令下发)</h5>
<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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">0</td>
<td style="text-align: left;">起始符</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">126</td>
<td style="text-align: left;">uint8</td>
</tr>
<tr>
<td style="text-align: left;">1</td>
<td style="text-align: left;">命令字</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">uint8</td>
</tr>
<tr>
<td style="text-align: left;">2</td>
<td style="text-align: left;">设备SN</td>
<td style="text-align: left;">18bytes</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">20</td>
<td style="text-align: left;">服务器时间</td>
<td style="text-align: left;">8bytes</td>
<td style="text-align: left;">long型时间戳</td>
</tr>
<tr>
<td style="text-align: left;">28</td>
<td style="text-align: left;">单播地址</td>
<td style="text-align: left;">2bytes</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">unit16</td>
</tr>
<tr>
<td style="text-align: left;">30</td>
<td style="text-align: left;">设定目标值长度</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">uint8</td>
</tr>
<tr>
<td style="text-align: left;">31</td>
<td style="text-align: left;">目标值</td>
<td style="text-align: left;"></td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">31+ 目标值长度</td>
<td style="text-align: left;">结束符</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">127</td>
<td style="text-align: left;">uint8</td>
</tr>
</tbody>
</table>
<h5>下行协议(定时任务下发)</h5>
<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>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">0</td>
<td style="text-align: left;">起始符</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">126</td>
<td style="text-align: left;">uint8</td>
</tr>
<tr>
<td style="text-align: left;">1</td>
<td style="text-align: left;">命令字</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">uint8</td>
</tr>
<tr>
<td style="text-align: left;">20</td>
<td style="text-align: left;">网关SN</td>
<td style="text-align: left;">18bytes</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">38</td>
<td style="text-align: left;">服务器时间</td>
<td style="text-align: left;">8bytes</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="text-align: left;">46</td>
<td style="text-align: left;">单播播地址</td>
<td style="text-align: left;">2bytes</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">unit16</td>
</tr>
<tr>
<td style="text-align: left;">48</td>
<td style="text-align: left;">任务主状态</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">0整体任务关闭,1整体任务开启</td>
</tr>
<tr>
<td style="text-align: left;">49</td>
<td style="text-align: left;">任务类型</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">定时任务类型(0每天重复 1每周重复)</td>
</tr>
<tr>
<td style="text-align: left;">50</td>
<td style="text-align: left;">定时任务个数</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">51</td>
<td style="text-align: left;">定时任务字节数</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;"></td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">52</td>
<td style="text-align: left;">开始时间</td>
<td style="text-align: left;">2bytes</td>
<td style="text-align: left;">一个表示时一个表示分 09:34</td>
</tr>
<tr>
<td style="text-align: left;">54</td>
<td style="text-align: left;">结束时间</td>
<td style="text-align: left;">2bytes</td>
<td style="text-align: left;">一个表示时一个表示分 13:23</td>
</tr>
<tr>
<td style="text-align: left;">56</td>
<td style="text-align: left;">重复周期</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">00000000 最高位第七位为无效0 第6到第0位对应周一到周日</td>
</tr>
<tr>
<td style="text-align: left;">63</td>
<td style="text-align: left;">启用状态</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">0禁用;1启用</td>
<td style="text-align: left;">unit8</td>
</tr>
<tr>
<td style="text-align: left;">64</td>
<td style="text-align: left;">定时任务ID</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;">结束符</td>
<td style="text-align: left;">1byte</td>
<td style="text-align: left;">127</td>
<td style="text-align: left;">uint8</td>
</tr>
</tbody>
</table>
<h5>备注</h5>
<ul>
<li>在没有定时任务时,任务类型以后直接时结束符</li>
</ul>
<h5>备注</h5>