设为首页收藏labplus社区产品资料库
1482
积分值+2
520
掌控币+1
0  关注
125  粉丝
160  帖子
论坛小助手
2019年07月15日

#基础使用#【基础使用】玩转掌控板21—物联网应用MQTT(EasyLot)

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

MQTT是一种基于发布 - 订阅的“轻量级”消息传递协议,用于在TCP / IP协议之上使用,它适用于需要“小代码占用”或网络带宽有限的远程位置的连接。 能实现一对多通信(人们称之为发布或订阅型)的协议。它由3 种功能构成,分别是中介(broker)、发布者(publisher)和订阅者(subscriber)。


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


MQTT 通信的机制

中介在等待各个客户端对其进行连接。订阅者连接中介,把自己想订阅的主题名称告诉中介。这就叫作订阅。 然后发布者连接中介,以主题为收信地址发送消息。这就是发布。发布者一发布主题,中介就会把消息传递给订阅了该主题的订阅者。

如上图所示,如果订阅者订阅了主题A,那么只有在发布者发布了主题A 的情况下,中介才会把消息传递给订阅者。订阅者和中介总是处于 连接状态,而发布者则只需在发布时建立连接,不过要在短期内数次发布时,就需要保持连接状态了。因为中介起着转发消息的作用,所以各 个客户端彼此之间没有必要知道对方的IP 地址等网络上的收信地址。又因为多个客户端可以订阅同一个主题,所以发布者和订阅者是一 对多的关系。在设备和服务器的通信中,设备相当于发布者,服务器则相当于订阅者。


目前互联网中MQTT物联网平台多种多样,本次学习Easy IoT 如何使用mqtt订阅主题和发布消息。

DFRobot Easy IoT 物联网平台链接:

http://iot.dfrobot.com.cn/

学习目标

1、学习使用MQTT(EasyIot)与掌控板互动

程序功能介绍

通过 Easy IoT 物联网平台发送消息,在掌控板上显示效果

配置步骤

1、通过上方链接进入 Easy IoT 物联网平台,进入工作间


2、自行选择登录方式并按照要求登录


3、平台介绍

1区域:用户密码区域,自动生成用户和密码,不能修改,掌控板用户和密码要和平台的用户和密码一致

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

2区域:主题区域,每一个主题代表不同类型的命令,当平台发布了该主题的命令,接收端会对应执行这个主题的程序,

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

3区域:添加新主题


点击发送消息后,我出现如下界面,课通过它发送字符串给掌控板。


程序流程

1、连接wifi


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


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



连接MQTT


初始化主题显示的文本


当主题接收到命令,执行对应的程序,本次程序其中一个主题接收“on”开灯并显示on,接收“off”关灯,并显示off,另一个主题为在掌控中画圆形,圆形的半径为输入的数值的大小,主题名称要与平台主题名称一致,程序如下(程序部分大家有问题可以返回基础章节进行巩固复习)



掌控板一直等待主题消息,收到命令就执行对应程序


示例程序


演示效果



10

点赞

5473 次阅读1 条评论1 条回复10 人赞2 人订阅
1条评论