物联网6.物联网常用的通信协议 - MQTT协议

Posted CodeAllen的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了物联网6.物联网常用的通信协议 - MQTT协议相关的知识,希望对你有一定的参考价值。

前两篇文章已经介绍了两种协议,这篇是第三种协议 - MQTT协议

【物联网】4.物联网常用的通信协议 - HTTP 协议


【物联网】5.物联网常用的通信协议 - WebSocket 协议


MQTT(MQ Telemetry Transport,消息队列遥测传输)是近年来出现的一种新型协议,物联网领域会将其作为标准协议。MQTT 原本是IBM 公司开发的协议,现在则开源了,被人们不断开发着。

MQTT 是一种能实现一对多通信(人们称之为发布或订阅型)的协议。它由3 种功能构成,分别是中介(broker)、发布者(publisher)和订阅者(subscriber)

通过MQTT 传输消息 

中介承担着转发MQTT 通信的服务器的作用。相对而言,发布者和订阅者则起着客户端的作用。发布者是负责发送消息的客户端,而订阅者是负责接收消息的客户端。MQTT 交换的消息都附带“主题”地址,各个客户端把这个“主题”视为收信地址,对其执行传输消息的操作。形象地比喻一下,中介就是接收邮件的邮箱。

然后发布者连接中介,以主题为收信地址发送消息。这就是发布。

 

用“#”和“+”这样的符号能指定多个主题。如图所示,/Sensor/temperature/# 中使用了“#”符号,这样就能指定所有开头为/Sensor/temperature/ 的主题。此外,/Sensor/+/room1中使用了符号“+”,这样一来就能指定所有开头是/Sensor/、结尾是/room1 的主题。

 

像这样借助于中介的发布/ 订阅型通信,MQTT 就能实现物联网服务与多台设备之间的通信。另外,MQTT 还实现了轻量型协议。因此它还能在网络带宽低、可靠性低的环境下运行;又因为消息小、协议机制简单,所以在硬件资源(设备、CPU 和内存等)受限的条件下也能运行,可以说是为物联网量身定做的协议。

以上是关于物联网6.物联网常用的通信协议 - MQTT协议的主要内容,如果未能解决你的问题,请参考以下文章

网络编程——物联网利器MQTT通信协议详解

网络编程——物联网利器MQTT通信协议详解

物联网通信协议——比较-MQTT DDS AMQPXMPP JMS REST CoAP

MQTT和CoAP哪个最可能成为未来物联网通信标准协议?

海鑫智圣:物联网漫谈之MQTT协议

物联网一定要用mqtt协议吗?用kafka行吗?