标签:
这一段时间在翻看MQTT-SN的协议,对针对不依赖于TCP传输的MQTT协议十分感兴趣,总是再想着这货到底是怎么定义的。一系列文章皆有MQTT-SN 1.2协议所拼装组成,原文档地址: MQTT-SN_spec_v1.2.pdf
MQTT-SN文档分为7个部分,我直接按照从前到后的顺序,直接组装成四个小篇。嗯,若放在一篇文章中,文字太长,造成排版难度。
非直译,完全按照自己理解整理而成,请知晓。
原名是MQTT-S,但会引起人们的误解,因此更名成MQTT-SN:
As part of the job of applying the same or similar license terms to the MQTT-S specification as those on the MQTT specification, we are proposing a small name change. The new name would be MQTT-SN, standing for exactly the same long name, MQTT for Sensor Networks. Some people had assumed that the S in MQTT-S stood for secure, so we hope this change will avoid that confusion. -- Ian Craggs
MQTT for Sensor Networks is aimed at embedded devices on non-TCP/IP networks, such as Zigbee. MQTT-SN is a publish/subscribe messaging protocol for wireless sensor networks (WSN), with the aim of extending the MQTT protocol beyond the reach of TCP/IP infrastructure for Sensor and Actuator solutions.
针对适配传感装置(缩写为SA)的特定版MQTT协议,一般运行在嵌入式电池驱动的电子元件中,传输通过基于IEEE 802.15.4规范无线低速网络构成的无线传感网络(WSN),同样具有企业级别特性具有以数据为核心的(data-centric)订阅/发布特性。
总之,针对低功耗、电池驱动、处理存储受限的设备、不支持TCP/IP协议栈网络的电子器件而定制,比如常见的ZigBee(或XBee),对所依赖的底层传输网络不可知,但只要网络支持双向数据传输和网关,都是可以支持较为上层的MQTT-SN协议传输。比如简单数据报服务,只要支持一个源端点发送数据到一个特定目的地端点,这对支持MQTT-SN协议,就足够了。广播数据报传输服务也是必须的用于网关和终端的自动发现流程。为了降低广播风暴,MQTT-SN定义了广播路径深度(广播范围或广播半径)。
尽管MQTT-SN被设计成尽可能接近于MQTT,但那些低功耗、电池驱动、资源受限的设备所在网络场景为低速带宽、高连接失败、物理层数据包上线为128字节。文档提出了以下不同点:
在MQTT-SN架构图中,存在三种组件:
MQTT-SN网关传输方式,下面的图片一目了然。
网关需要抉择哪些消息需要和远程的MQTT Server进行交互,比如只选择客户端发送的PUBLISH、SUBSCRIBLE消息等。
上面简单介绍了MQTT-SN,下面将会介绍MQTT-SN消息头部和格式。
标签:
原文地址:http://www.cnblogs.com/yudar/p/4642474.html