MQTT协议详解:物联网中的轻量级消息传输与发布订阅模式

MQTT(Message Queue Telemetry Transport),遥测传输协议,提供订阅/发布模式,更加简单、轻量级、易于使用。对于受限环境(低带宽、高网络延迟、网络通信不稳定),可以简单概括为“为物联网而构建”。

MQTT 是一种基于“轻量级”发布-订阅的消息传递协议,在 TCP/IP 协议之上使用。它适用于连接到需要“小代码占用空间”或网络带宽有限的远程位置。一种支持一对多通信(称为发布或订阅)的协议。它由三个功能组成,即经纪人、发布者和订阅者。

中介充当转发 MQTT 通信的服务器。相反,发布者和订阅者充当客户端。发布者是负责发送消息的客户端,而订阅者是负责接收消息的客户端。 MQTT 交换的消息都附有一个“主题”地址。每个客户端都将这个“主题”视为接收地址,并对其进行发送消息的操作。用一个形象的比喻来说,中介就是接收电子邮件的邮箱。

MQTT通信机制

中介等待各个客户端连接到它。订阅者连接到中介并告诉中介他们想要订阅的主题的名称。这称为订阅。然后,发布者连接到中介并发送以主题作为收件人地址的消息。这就是出版。一旦发布者发布主题,中介就会将消息传递给订阅该主题的订阅者。

如上图所示,如果订阅者订阅了主题A,那么只有发布者发布了主题A,中介才会将消息传递给订阅者。订阅者和中介一直保持连接,而发布者只需要在发布时建立连接,但是当短时间内多次发布时,需要保持连接。由于中介者起到转发消息的作用,因此每个客户端不需要知道彼此的IP地址和网络上的其他接收地址。并且由于多个客户端可以订阅同一个主题,因此发布者和订阅者具有一对多的关系。在设备与服务器的通信中,设备相当于发布者,服务器相当于订阅者。

目前互联网上有很多MQTT物联网平台。这次我们将学习如何在Easy IoT中使用mqtt订阅主题和发布消息。

DFRobot Easy IoT平台链接:

学习目标

1.学习使用MQTT(EasyIot)与控制板交互

程序功能介绍

联网物和物联网的区别_lot物联网_物联网接入服务

通过Easy IoT平台发送消息并在控制板上显示效果

配置步骤

1.通过以上链接进入Easy IoT平台,进入工作坊

2.选择自己的登录方式,按要求登录

3. 平台介绍

区域1:用户密码区域,用户和密码自动生成,不可修改。控制板的用户和密码必须与平台的用户和密码一致。

区域4:重新生成用户名和密码,点击右眼显示用户名和密码

2 区域:主题区域。每个主题代表不同类型的命令。当平台发出该主题的命令时,接收端将执行该主题对应的程序。

主题名称是自动生成的,无法修改。点击发送消息,输入主题,发送命令。

区域 3:添加新主题

点击发送消息后,出现如下界面,通过该界面我可以将字符串发送到控制板。

程序流程

1.连接wifi

联网物和物联网的区别_物联网接入服务_lot物联网

2.MQTT模块介绍及程序搭建

配置MQTT信息,其中lot id(用户名)和lot pwd(密码)必须与平台一致

连接到 MQTT

初始化主题显示的文本

当主体收到命令时,就会执行相应的程序。在此程序中,一名受试者接收“on”以打开灯并打开显示器,并接收“off”以关闭灯并关闭显示器。另一个受试者在控件中画了一个圆圈。形状的半径为输入值的大小,主题名称必须与平台主题名称一致。流程如下(如果对程序部分有疑问,可以回到基础章节进行巩固复习)

控制板等待主题消息,收到命令后执行相应的程序。

示例程序

示范效果

上一篇:2020物联之星年度评选启动:中国物联网卓越人物奖揭晓 下一篇:物联网卡是什么?了解物联网卡与普通SIM卡的八大不同及其应用
标签:
分享到:

相关文章

    最新文章
    热门
    最新推荐