当前位置: 首页 >应用方案 >技术应用 >

MQTT协议的特性与应用

嵌入式领域中,为何MQTT协议占据着无法替代的地位?

MQTT,全名为( Message Queuing Telemetry Transport ),是一种年代并不算久远的通讯协议,起初就是为了网络条件受限的环境而研发出来,所以本身就具备着低带宽低开销的特性,而且代码量也小,而且本身MQTT是建立在TCP协议之上,并且对信息传输的可靠性进行了更深度的保护

所以,在嵌入式领域,MQTT通信协议已经占据着无法替代的分量了,因为大多数的嵌入式设备,都需要这样的协议进行数据交互,嵌入式设备的可用资源并不多,并且外挂的各种入网的手段,也比不得寻常的手机个人电脑,属于是低网速的通信手段,并且对于消耗流量的4G/NB-IOT类设备,大量的流量消耗也是吃不消。

MQTT协议

MQTT协议深层特性

下面应该说说MQTT协议深层的特性了

1、一对多信息发布

首先,他是基于订阅与发布的一种协议,所以他可以一对多进行消息发布,这样的功能应用场景非常多,局限性广播能够让服务器灵活控制想要控制的那个设备,并且服务器可以提供多个可以订阅的主题,这是极为关键的

因为对于服务器而言,接收数据并处理是核心任务,但是当设备的增多设备功能行的增多,服务器处理逻辑将会几何倍数增长,同样是接收的数据,也许是完全不同类设备上传的完全不一样的信息,所以当可以提供多个订阅主题与发布主题时,这种逻辑上的差异性就能被区分开,给开发者带来了很大的便利。

MQTT协议数据接收
MQTT协议数据接收2

2、不同底层协议

MQTT协议的第二个特性其实就是他基于了TCP/IP而生,注定是靠上层的一个协议,现在接触的其实大多都是基于TCP协议而开发的,但其实是有基于UDP版本的,名为MQTT-SN,但大家都知道,TCP面向连接,而UDP不面向连接,所以基于不同的底层协议类型,MQTT展现的特性肯定也是不同的。

对于常用的MQTT(基于TCP)协议,他有一个很重要的保证消息可靠性的特性:QoS

QoS分为三个等级

QoS 0其实相当于MQTT没有做额外信息保护,因为本身是基于TCP协议的,所以其消息可靠性完全依赖于TCP协议。而QoS 1,则是代表至少承诺会有一次发送给接收者,这是在MQTT层进行的信息保护,而不只是依靠TCP协议层最后QoS 2,则是保证消息仅仅传送到目的地一次。

因为对于QoS 1,可能会因为消息没有反馈而多次发送,而接收方也可能收到多次消息,为此,QoS 2传输的消息带有唯一的ID,带有唯一消息 ID 的消息会存储两次,首先来自发送者,然后是接收者QoS 级别2 在网络中具有最高的开销,因为在发送方和接收方之间需要两个流。

MQTT协议底层协议

目前MQTT协议应用其实已经十分广泛,无论是嵌入式农业工业基建设备领域,都有它的身影,但其本身是一种协议

其实身为物联网应用中的数据传输一环,和数据的无线传输手段有着同样举足轻重的作用,无论是4G无线模块还是NB-IOT模块还是WiFi模块lora模块蓝牙模块zigbee模块等,数据传输归数据传输,协议是上层的灵魂,不同的协议有着不同的应用场景,也承担着不同的作用。

亿佰特人每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的官网行了解,还有客服小姐姐在线答疑哦!

https://www.wjx.cn/jq/84863372.aspx