帮助文档

FAQ


MQTT相关

<p>[TOC]</p> <h2>1、什么是MQTT</h2> <ul> <li>MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的&quot;轻量级&quot;通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。</li> <li>MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。</li> </ul> <h2>2、MQTT协议优点</h2> <ul> <li>低协议开销。MQTT的独特功能是每个消息头都可以缩短为2个字节。对于HTTP,为每个新请求消息重新建立HTTP连接会产生可观的开销。 MQ和MQTT使用的持久连接可以大大减少这种开销。</li> <li>包容不稳定的网络。MQTT和MQ可以从诸如断开连接之类的故障中恢复,无需进一步的代码要求。</li> <li>低功耗。MQTT专为低功耗目标而设计。</li> <li>推送通知。使用常规的轮询或推送方法,就电池,系统负载和带宽而言,推送是最佳解决方案。</li> <li>客户端平台的差异。 HTTP和MQTT客户端都在许多平台上实现。 MQTT的简单性可帮助您以最少的努力在其他客户端上实施MQTT。</li> </ul> <h2>3、设备物模型是什么含义</h2> <p>物模型是物理空间中的实体(如传感器、车载装置、楼宇、工厂等)在云端的数字化表示,从属性、服务和事件三个维度,分别描述了该实体是什么、能做什么、可以对外提供哪些信息。定义了物模型的这三个维度,即完成了产品功能的定义。</p> <h2>4、MQTT网关架构</h2> <p>下图简单展示了瑞瀛 Zigbee 网关的主要模块 <img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=b6ba0b3db0f680ec41898e1f2558d147&amp;amp;file=file.png" alt="" /> 网关主要的模块主要包含了运行在模组上的 COO 固件和运行在嵌入式 Linux 系统上的 Wireless SDK、网关主应用、各类插件等。上层子系统依赖于下层子系统,但并不存在直接的跨层依赖关系。</p> <h2>5、是否支持既有平台的对接</h2> <p>我们内部定义了一版通用协议,可以支持客户对接调试。对于已有平台的客户,可以按照客户的MQTT协议定制开发网关</p> <h2>6、子设备入网流程</h2> <p><a href="https://pan.erkef.com/s/ussmqi"><img src="https://pan.erkef.com/s/ussmqi" alt="" /></a> 子设备入网需要子设备和网关同时开启配网(至少要求双方开启配网的时间窗重叠,先后不重要)。插件调用网关的配网命令 (CMD_PAIR) 让网关开启配网,如果有子设备成功入网,则会有入网通知(MSG_TYPE_NODE_ADDED) 通知到插件以方便通知平台。</p> <h2>7、子设备离网流程</h2> <p><strong>设备侧主动发起离网:</strong> <a href="https://pan.erkef.com/s/q9vdec"><img src="https://pan.erkef.com/s/q9vdec" alt="" /></a></p> <p><strong>平台侧主动发起离网:</strong> <a href="https://pan.erkef.com/s/oghoeu"><img src="https://pan.erkef.com/s/oghoeu" alt="" /></a></p> <h2>8、子设备在、离线如何判断</h2> <p>子设备的在、离线判断由网关端直接实现,网关通过对应的子设备在、离线数据传输接口,上报给服务器</p> <h2>9、网关在、离线如何判断</h2> <p>网关有正常的上线/下线通知(遗嘱信息)通知平台服务器,使用过程中不存在网关心跳机制</p> <h2>10、网关是否支持那些程序或固件OTA</h2> <p>网关提供COO固件、插件、主应用程序、wireless sdk和子设备固件 OTA功能</p> <h2>11、如何缩短特殊子设备对接网关时间,使项目快速落地</h2> <p>对于复合型设备或新型设备,网关对接整体工作量大,为了节省开发周期,便于项目快速落地,网关提供了数据透传功能,网关不做数据解析,只按照固定格数上报子设备数据,相关解析工作由平台自行处理</p> <h2>12、网关如何升级COO</h2> <p>平台在需要时,将主动推送升级包要求网关进行 OTA 升级</p> <pre><code>数据下行 Topic: rex/R101Gateway/${gwMAC}/ota/device/upgrade 请求数据格式示例: {&amp;quot;id&amp;quot;: 1671602293, &amp;quot;url&amp;quot;: &amp;quot;https://rex-gitlab.oss-cn-beijing.aliyuncs.com/coo/COO_RWP_Stk6710_1.4.1.ota&amp;quot; }</code></pre> <h2>13、网关如何升级插件</h2> <pre><code>数据下行 Topic: rex/R101Gateway/${gwMAC}/ota/device/upgrade 请求数据格式示例: { &amp;quot;id&amp;quot;: 1671602294, &amp;quot;url&amp;quot;: &amp;quot;https://rex-gitlab.oss-cn-beijing.aliyuncs.com/gateway/rex_update_only_plugin.2.0.0-71.tgz&amp;quot; }</code></pre> <h2>14、网关如何升级主应用程序</h2> <pre><code>数据下行 Topic: rex/R101Gateway/${gwMAC}/ota/device/upgrade 请求数据格式示例: {&amp;quot;id&amp;quot;: 1671602294, &amp;quot;url&amp;quot;: &amp;quot;https://rex-gitlab.oss-cn-beijing.aliyuncs.com/gateway/rex_update.2.1.6_2.0.0.72.tgz&amp;quot; }</code></pre> <h2>15、子设备固件如何通过MQTT网关OTA</h2> <pre><code>数据下行 Topic: rex/${productKey}/${deviceName}/ota/device/upgrade 请求数据格式示例: {&amp;quot;id&amp;quot;: 1671602294, &amp;quot;url&amp;quot;: &amp;quot;https://192.168.1.101:5443/download/REX_HA_1EP_RANGE_EXTEND_3T258_JY_20230217.bin.ota.test.ota&amp;quot; }</code></pre> <h2>16、场景分类</h2> <p>场景主要分为本地场景和云端场景</p> <h2>17、本地场景联动含义</h2> <p>本地场景联动指网关根据收集到设备实时状态上报与事件上报、当前时间等要素,与事先设置好的场景规则进行匹配计算,如果匹配成功则自动触发执行场景规则中定义的动作,整个处理流程均在网关在本地独立进行,与是否连接到云服务器无关。 与基于服务器的场景联动,本地场景联动具有以下三个明显特点:</p> <p>无须服务器界入。 网关是否连接到服务器不影响场景的联动执行。 联动的范围局限在同一个网关,不能跨网关联动。</p>

页面列表

ITEM_HTML