MQTT(MQ遥测传输,消息队列遥测传输)是近年来出现的一种新型协议,将在物联网领域用作标准协议。 MQTT最初是由IBM开发的协议,但是现在它是开源的,并且正在由人们不断开发。 MQTT是支持一对多通信(人们称其为发布或订阅)的协议。它由3种功能构成,分别是中介(broker)、发布者(publisher)和订阅者(subscriber)
发布者连接到中介,并以主题为地址发送消息。这是发布。发布者发布主题后,中介将立即将消息传递给订阅主题的订阅户。如图所示,如果订阅者订阅了主题A,则只有在发布者发布主题A的情况下,中介才会将消息传递给订阅者。订阅者和中介始终保持连接状态,发布者只需在以下位置建立连接发布时间,但是要在短时间内发布几次,必须保持连接状态。
因为中间人扮演转发消息的角色,所以每个客户端都不需要知道网络上的接收地址,例如对方的IP地址。并且由于多个客户可以订阅同一主题,因此发布者和订阅者之间是一对多的关系。在设备和服务器之间的通信中,设备等同于发布者,服务器等同于订阅者。
借助像这样的发布/订阅通信,MQTT可以实现IoT服务与多个设备之间的通信。此外,MQTT还实现了轻量级协议。因此,它也可以在低网络带宽和低可靠性的环境中运行。并且由于消息少,协议机制简单,它还可以在硬件资源(设备,CPU,内存等)有限的条件下运行。该协议是为物联网量身定制的。
领取专属 10元无门槛券
私享最新 技术干货