安圣二开设备说明


MQTT参数配置说明

<p>[TOC]</p> <h2>二开设备MQTT参数配置说明</h2> <ol> <li>确保设备是默认出厂设置(如果是通过自己的服务器可以发送命令的则不需要出厂设置),且已联网(可以通过发送<code>getDevInfo</code>等命令确保设备有应答,或通过我司的[测试页面](<a href="https://app.ssc.asinfozz.com/iot/board/switch/test">https://app.ssc.asinfozz.com/iot/board/switch/test</a> &quot;测试页面&quot;),可以获取到设备的基础信息或设备状态信息)。</li> <li>所有参数都必须填写,不能为空。</li> <li><code>clientID</code>最好带有<code>%imei%</code>的,<code>%imei%</code>设备会替换成设备的imei,确保唯一性。</li> <li><code>cleanSession</code>最好设置为<code>true</code>。</li> <li><code>subscribeTopic</code>不能和<code>publishTopic</code>、<code>willTopic</code>一样。</li> <li>qos推荐为1</li> <li>复制时注意不要复制空格回车换行等不可见字符。</li> <li><code>clientID</code>、<code>subscribeTopic</code>、<code>publishTopic</code>、<code>willTopic</code>、<code>will</code>支持<code>%imei%</code>替换语法,<code>%imei%</code>设备会替换成设备的imei。</li> </ol> <h2>MQTT参数配置例子</h2> <ul> <li>例子一</li> </ul> <pre><code>{&amp;quot;host&amp;quot;:&amp;quot;xxxxx&amp;quot;,&amp;quot;port&amp;quot;:1883,&amp;quot;username&amp;quot;:&amp;quot;xxxxx&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;xxxxx&amp;quot;,&amp;quot;clientID&amp;quot;:&amp;quot;%imei%&amp;quot;,&amp;quot;keepAlive&amp;quot;:30,&amp;quot;cleanSession&amp;quot;:true,&amp;quot;publishTopic&amp;quot;:&amp;quot;/devtoser&amp;quot;,&amp;quot;publishQos&amp;quot;:1,&amp;quot;publishRetain&amp;quot;:false,&amp;quot;subscribeTopic&amp;quot;:&amp;quot;/sertodev/%imei%&amp;quot;,&amp;quot;subscribeQos&amp;quot;:1,&amp;quot;willTopic&amp;quot;:&amp;quot;/devtoser&amp;quot;,&amp;quot;willQos&amp;quot;:1,&amp;quot;willRetain&amp;quot;:false,&amp;quot;will&amp;quot;:&amp;quot;{\&amp;quot;imei\&amp;quot;:\&amp;quot;%imei%\&amp;quot;,\&amp;quot;method\&amp;quot;: \&amp;quot;close\&amp;quot;}&amp;quot;}</code></pre> <p>其中 <code>subscribeTopic</code>为 /sertodev/%imei% 其中%imei%会替换成设备实际的imei。 <code>subscribeTopic</code>是设备订阅的主题,用来接收发送给设备的命令。</p> <p><code>publishTopic</code>、<code>willTopic</code>为 /devtoser <code>publishTopic</code>是设备发布的主题,用来发送设备执行完命令后的应答,还有设备事件(比如按键事件、订单结束事件等)的上报。 设备发布的应答中,都会带有设备实际的imei,可以用imei来区分是哪个设备的应答。</p> <p><code>willTopic</code>是设备的遗嘱主题,设备离线后,mqtt服务器会将<code>will</code>遗嘱发送给订阅了<code>willTopic</code>的软件客户端。</p> <ul> <li>例子二</li> </ul> <pre><code>{&amp;quot;host&amp;quot;:&amp;quot;xxxxx&amp;quot;,&amp;quot;port&amp;quot;:1883,&amp;quot;username&amp;quot;:&amp;quot;xxxxx&amp;quot;,&amp;quot;password&amp;quot;:&amp;quot;xxxxx&amp;quot;,&amp;quot;clientID&amp;quot;:&amp;quot;%imei%&amp;quot;,&amp;quot;keepAlive&amp;quot;:30,&amp;quot;cleanSession&amp;quot;:true,&amp;quot;publishTopic&amp;quot;:&amp;quot;/devtoser/pub/%imei%&amp;quot;,&amp;quot;publishQos&amp;quot;:1,&amp;quot;publishRetain&amp;quot;:false,&amp;quot;subscribeTopic&amp;quot;:&amp;quot;/sertodev/%imei%&amp;quot;,&amp;quot;subscribeQos&amp;quot;:1,&amp;quot;willTopic&amp;quot;:&amp;quot;/devtoser/will/%imei%&amp;quot;,&amp;quot;willQos&amp;quot;:1,&amp;quot;willRetain&amp;quot;:false,&amp;quot;will&amp;quot;:&amp;quot;{\&amp;quot;imei\&amp;quot;:\&amp;quot;%imei%\&amp;quot;,\&amp;quot;method\&amp;quot;: \&amp;quot;close\&amp;quot;}&amp;quot;}</code></pre> <p>参数大致和例子一相同,不同的是<code>publishTopic</code>、<code>willTopic</code>都加上了<code>%imei%</code>。 软件客户端可以</p> <ol> <li>通过订阅每一个设备的<code>publishTopic</code>,来处理不同设备的应答。</li> <li>通过订阅主题通配符,比如/devtoser/pub/+,然后根据主题来区分设备。</li> </ol>

页面列表

ITEM_HTML