迅鸣物联网文档

迅鸣物联网文档


实验平台协议

<p>[TOC]</p> <blockquote> <blockquote> <p>实验平台使用MQTT通讯</p> </blockquote> </blockquote> <h2>topic定义:</h2> <p>节点功能topic:</p> <p>下行:<code>/xm/sh/request/mqtt/网关序列号/产品类型/节点ID/v2</code> 上行:<code>/xm/sh/response/mqtt/网关序列号/产品类型/节点ID/v2</code></p> <p>网关功能topic: 上行:<code>/xm/sh/response/mqtt/网关序列号/2018/v2</code></p> <h2>上下线消息</h2> <pre><code class="language-json"># 上线消息 #/xm/sh/response/mqtt/123456789/2018/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "123456789", "action": "online", "params": { }, "serviceid": "20180101" } ] } } # 下线消息 心跳30s,连续三次未收到心跳,将认为设备离线 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "123456789", "action": "offline", "params": { }, "serviceid": "20180101" } ] } } </code></pre> <h2>协议</h2> <h3>一、产品类型:1021 (8继电器8IO)</h3> <table> <thead> <tr> <th>属性</th> <th>名称</th> <th>类型</th> <th>读写</th> </tr> </thead> <tbody> <tr> <td>11</td> <td>继电器1状态</td> <td>布尔值</td> <td>可读写</td> </tr> <tr> <td>12</td> <td>继电器2状态</td> <td>布尔值</td> <td>可读写</td> </tr> <tr> <td>13</td> <td>继电器3状态</td> <td>布尔值</td> <td>可读写</td> </tr> <tr> <td>14</td> <td>继电器4状态</td> <td>布尔值</td> <td>可读写</td> </tr> <tr> <td>15</td> <td>继电器5状态</td> <td>布尔值</td> <td>可读写</td> </tr> <tr> <td>16</td> <td>继电器6状态</td> <td>布尔值</td> <td>可读写</td> </tr> <tr> <td>17</td> <td>继电器7状态</td> <td>布尔值</td> <td>可读写</td> </tr> <tr> <td>18</td> <td>继电器8状态</td> <td>布尔值</td> <td>可读写</td> </tr> <tr> <td>21</td> <td>IO1状态</td> <td>布尔值</td> <td>只读</td> </tr> <tr> <td>22</td> <td>IO2态</td> <td>布尔值</td> <td>只读</td> </tr> <tr> <td>23</td> <td>IO3态</td> <td>布尔值</td> <td>只读</td> </tr> <tr> <td>24</td> <td>IO4态</td> <td>布尔值</td> <td>只读</td> </tr> <tr> <td>25</td> <td>IO5态</td> <td>布尔值</td> <td>只读</td> </tr> <tr> <td>26</td> <td>IO6态</td> <td>布尔值</td> <td>只读</td> </tr> <tr> <td>27</td> <td>IO7态</td> <td>布尔值</td> <td>只读</td> </tr> <tr> <td>28</td> <td>IO8态</td> <td>布尔值</td> <td>只读</td> </tr> </tbody> </table> <p>控制指令:</p> <h4>开关继电器</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1021/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890b", # 网关序列号(123456789)+节点ID(0b) "action": "command", # command 执行写操作 "params": { "11": false # 将继电器1关闭 } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1021/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890b", "action": "command", "params": { "11": false }, "serviceid": "10210101" } ] } } </code></pre> <h4>读取所有继电器状态</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1021/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890b", # 网关序列号(123456789)+节点ID(0b) "action": "getStat", # getStat 读取继电器状态 "params": { } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1021/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890b", "action": "getStat", "params": { "11": false, "12": false, ... "18":false }, "serviceid": "10210101" } ] } }</code></pre> <h4>读取所有IO状态</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1021/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890b", # 网关序列号(123456789)+节点ID(0b) "action": "getIo", # getIo 读取IO状态 "params": { } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1021/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890b", "action": "getIo", "params": { "21": false, "22": false, ... "28":false }, "serviceid": "10210101" } ] } }</code></pre> <h3>二、产品类型:1022(温湿度计)</h3> <table> <thead> <tr> <th>属性</th> <th>名称</th> <th>类型</th> <th>读写</th> </tr> </thead> <tbody> <tr> <td>11</td> <td>温度</td> <td>float</td> <td>只读</td> </tr> <tr> <td>12</td> <td>湿度</td> <td>float</td> <td>只读</td> </tr> </tbody> </table> <h4>读取温湿度</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1022/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890a", # 网关序列号(123456789)+节点ID(0a) "action": "getStat", # getStat 读取温湿度 "params": { } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1022/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890a", "action": "getStat", "params": { "11": 36.5, "12": 47.8 }, "serviceid": "10220101" } ] } }</code></pre> <h3>三、产品类型:1023 (压差)</h3> <table> <thead> <tr> <th>属性</th> <th>名称</th> <th>类型</th> <th>读写</th> </tr> </thead> <tbody> <tr> <td>11</td> <td>压力1</td> <td>int</td> <td>只读</td> </tr> <tr> <td>12</td> <td>压力2</td> <td>int</td> <td>只读</td> </tr> </tbody> </table> <h4>读取压力</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1023/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890c", # 网关序列号(123456789)+节点ID(0c) "action": "getStat", # getStat 读取压力 "params": { } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1023/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890c", "action": "getStat", "params": { "11": 99, "12": 1 }, "serviceid": "10230101" } ] } }</code></pre> <h3>四、产品类型:1024 (变频器)</h3> <table> <thead> <tr> <th>属性</th> <th>名称</th> <th>类型</th> <th>读写</th> </tr> </thead> <tbody> <tr> <td>11</td> <td>控制字</td> <td>布尔值</td> <td>只写</td> </tr> <tr> <td>12</td> <td>转速方向百分比 (-100到100)</td> <td>int</td> <td>只写</td> </tr> <tr> <td>13</td> <td>转速 rpm</td> <td>int</td> <td>只读</td> </tr> <tr> <td>14</td> <td>频率 赫兹</td> <td>float</td> <td>只读</td> </tr> <tr> <td>15</td> <td>方向 1正向 0未知 -1反向</td> <td>int</td> <td>只读</td> </tr> <tr> <td>15</td> <td>方向 1正向 0未知 -1反向</td> <td>int</td> <td>只读</td> </tr> <tr> <td>305</td> <td>故障字1</td> <td>List<int></td> <td>只读</td> </tr> <tr> <td>306</td> <td>故障字2</td> <td>List<int></td> <td>只读</td> </tr> </tbody> </table> <p>故障字305包含的内容:</p> <ul> <li>0 过流</li> <li>1 过压</li> <li>2 传动过温</li> <li>3 短路</li> <li>4 ---</li> <li>5 直流欠压</li> <li>6 AI1 丢失</li> <li>7 AI2 丢失</li> <li>8 电机过温</li> <li>9 控制盘丢失</li> <li>10 ---</li> <li>11 电机堵转</li> <li>12 控制板过温</li> <li>13 外部故障1</li> <li>14 外部故障2</li> <li>15 接地故障</li> </ul> <p>故障字306包含的内容:</p> <ul> <li>0 ---</li> <li>1 传感器故障</li> <li>2 OPEX连接故障</li> <li>3 OPEX电源故障</li> <li>4 电流测量故障</li> <li>5 ---</li> <li>6 ---</li> <li>7 ---</li> <li>8 ---</li> <li>9 传动识别故障</li> <li>10 配置文件出错</li> <li>11 串口1故障</li> <li>12 内置现场总线配置文件出错</li> <li>13 强制跳闸</li> <li>14 电机缺相</li> <li>15 输出线接地故障</li> </ul> <p>要点:</p> <p>a.变频器启动顺序:</p> <ol> <li>初始化控制字</li> <li>延时100ms+</li> <li>设置频率及方向</li> <li>启动电机</li> </ol> <p>b.电机在不启动的状态下读取不到方向,频率,转速</p> <h4>初始化控制字</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", # 网关序列号(123456789)+节点ID(15) "action": "init", # init 初始化控制字 "params": { } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", "action": "init", "params": { }, "serviceid": "10240101" } ] } }</code></pre> <h4>设置频率及方向:</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", # 网关序列号(123456789)+节点ID(15) "action": "command", "params": { "12":50 } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", "action": "command", "params": { "12":50 }, "serviceid": "10240101" } ] } }</code></pre> <h4>启动电机:</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", # 网关序列号(123456789)+节点ID(15) "action": "command", "params": { "11":true } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", "action": "command", "params": { "11":true }, "serviceid": "10240101" } ] } }</code></pre> <h4>关闭电机</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", # 网关序列号(123456789)+节点ID(15) "action": "command", "params": { "11":false } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", "action": "command", "params": { "11":false }, "serviceid": "10240101" } ] } }</code></pre> <h4>读取状态</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", # 网关序列号(123456789)+节点ID(15) "action": "getStat", "params": { } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", "action": "getStat", "params": { "13":175, "14":2.5, "15":1 }, "serviceid": "10240101" } ] } }</code></pre> <h4>读取故障字</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", # 网关序列号(123456789)+节点ID(15) "action": "getError", "params": { "12":50 } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1024/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678915", "action": "getError", "params": { "305":[], "306":[] }, "serviceid": "10240101" } ] } }</code></pre> <h3>五、产品类型 1025(异味)</h3> <table> <thead> <tr> <th>属性</th> <th>名称</th> <th>类型</th> <th>读写</th> </tr> </thead> <tbody> <tr> <td>11</td> <td>PM2.5(ug/m³)</td> <td>int</td> <td>只读</td> </tr> <tr> <td>13</td> <td>湿度(%)</td> <td>float</td> <td>只读</td> </tr> <tr> <td>14</td> <td>温度(℃)</td> <td>float</td> <td>只读</td> </tr> <tr> <td>21</td> <td>硫化氢(ppm)</td> <td>float</td> <td>只读</td> </tr> <tr> <td>27</td> <td>氨气(ppm)</td> <td>float</td> <td>只读</td> </tr> <tr> <td>29</td> <td>异味(ppm)</td> <td>float</td> <td>只读</td> </tr> </tbody> </table> <h4>读取状态</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1025/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890d", # 网关序列号(123456789)+节点ID(0d) "action": "getStat", "params": { } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1025/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890d", "action": "getStat", "params": { "11": 25, "12": 25, "13": 28.3, "14": 23, "15": 0, "16": 0, "17": 0, "18": 3.97, "19": 8.066, "20": 0, "21": 0, "22": 0, "23": 0, "24": 0, "25": 0, "26": 0, "27": 0.396, "28": 0, "29": 0, "30": 30 }, "serviceid": "10250101" } ] } } </code></pre> <h3>六、产品类型 1026(物位)</h3> <table> <thead> <tr> <th>属性</th> <th>名称</th> <th>类型</th> <th>读写</th> </tr> </thead> <tbody> <tr> <td>11</td> <td>激光(mm)</td> <td>int</td> <td>只读</td> </tr> <tr> <td>12</td> <td>超声波(mm)</td> <td>int</td> <td>只读</td> </tr> <tr> <td>13</td> <td>限位开关</td> <td>布尔值</td> <td>只读</td> </tr> </tbody> </table> <h4>读取状态</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1026/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890e", # 网关序列号(123456789)+节点ID(0e) "action": "getStat", "params": { } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1026/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "1234567890e", "action": "getStat", "params": { "11": 750, "12": 710, "13": false }, "serviceid": "10260101" } ] } } </code></pre> <h3>七、产品类型:1027 (压力Kap)</h3> <table> <thead> <tr> <th>属性</th> <th>名称</th> <th>类型</th> <th>读写</th> </tr> </thead> <tbody> <tr> <td>11</td> <td>压力</td> <td>int</td> <td>只读</td> </tr> </tbody> </table> <h4>读取压力</h4> <pre><code class="language-json">#下行 /xm/sh/request/mqtt/123456789/1027/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678914", # 网关序列号(123456789)+节点ID(14) "action": "getStat", # getStat 读取压力 "params": { } } ] } } # --- # 上行 /xm/sh/response/mqtt/123456789/1027/节点ID/v2 { "header": { "timeStamp": "" }, "payload": { "devices": [ { "devicesn": "12345678914", "action": "getStat", "params": { "11": 99 }, "serviceid": "10270101" } ] } }</code></pre>

页面列表

ITEM_HTML