实现mind+下Easy IoT上mqtt消息的通讯。

一、实验目的及要求

【实验一】实现Easy IoT配置。
【实验二】实现Easy IoT上mqtt消息的通讯。

二、实验原理与内容

实现mind+下Easy IoT上mqtt消息的通讯。

三、实验软硬件环境

硬件:掌控板,Type-C数据线,计算机等。
软件:Mind+等。

四、实验过程

1、注册Easy IoT账号:点击跳转到注册网站

(1)点击“注册”

实现mind+下Easy IoT上mqtt消息的通讯。_第1张图片

(2)按照步骤注册账号

实现mind+下Easy IoT上mqtt消息的通讯。_第2张图片

2、注册并登录成功后添加两个新设备

解释:后面的实验中配置“MQTT初始化参数”需要使用。

实现mind+下Easy IoT上mqtt消息的通讯。_第3张图片

3、在Mind+上做好准备工作

连接掌控板,切换到上传模式。
在扩展的主控板中添加主控板,网络服务中添加MQTT和Wi-Fi。

实现mind+下Easy IoT上mqtt消息的通讯。_第4张图片
实现mind+下Easy IoT上mqtt消息的通讯。_第5张图片
实现mind+下Easy IoT上mqtt消息的通讯。_第6张图片

4、在MInd+上配置好实现功能的模块后上传到掌控板

我的配置:
实现mind+下Easy IoT上mqtt消息的通讯。_第7张图片
实现mind+下Easy IoT上mqtt消息的通讯。_第8张图片

和我做实验的朋友的配置:略


5、两个互相通信的实验员把以上步骤都完成后所有的准备工作就做好了,把代码上传到掌控板然后进行测试。

(1)测试WiFi与MQTT是否连接成功
操作:把代码上传到掌控板后,等待一会儿,掌控板屏幕出现了IP地址和Mqtt is OK!说明WiFi和MQTT连接成功。

(2)测试消息是否能够发送,另一部通信的掌控板是否能够接受到发送的消息。
操作:按下A键会在第三行出现“发送成功”,证明我把消息发出去了,另一部掌控板收到我的掌控板发送的“你好!”,证明另一部掌控板成功接收消息。

另一部掌控板接收到“你好”。 实现mind+下Easy IoT上mqtt消息的通讯。_第9张图片

(3)测试我的设备是否能够接收到消息
操作:另一位实验员发送消息,我接收到他发来的“hello world!”证明我的掌控板可以接收到来自另一个掌控板发送的消息


6、Mind+上自动生成的源代码

#include 
#include 
// 函数声明
void obloqMqttEventT0(String& message);
// 静态常量
const String topics[5] = {
     "3mhx5iKMR","JQ0x5mKMR","","",""};
const MsgHandleCb msgHandles[5] = {
     obloqMqttEventT0,NULL,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;
// 主程序开始
void setup() {
     
	mPython.begin();
	myIot.setMqttCallback(msgHandles);
	myIot.wifiConnect("热点名称", "热点密码");
	while (!myIot.wifiStatus()) {
     yield();}
	display.setCursorLine(1);
	display.printLine(myIot.getWiFiLocalIP());
	myIot.init("iot.dfrobot.com.cn","ZtF_tiFGR","","ZpKlpmFMgz",topics,1883);
	myIot.connect();
	while (!myIot.connected()) {
     yield();}
	display.setCursorLine(2);
	display.printLine("Mqtt is OK!");
}
void loop() {
     
	if ((buttonA.isPressed())) {
     
		myIot.publish(topic_1, "你好!");
		display.setCursorLine(3);
		display.printLine("发送成功");
	}
}

// 事件回调函数
void obloqMqttEventT0(String& message) {
     
	display.fillScreen(0);
	display.setCursorLine(1);
	display.printLine(message);
	rgb.write(0, 0xFF0000);
}

你可能感兴趣的:(物联网)