在Mind+下使用Easy loT实现mqtt消息消息的通讯

一、实验目的及要求

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

二、实验原理与内容

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

三、实验软硬件环境

硬件:掌控板
软件:Mind+
辅助平台:Easy IoT

四、Easy IoT平台上的注册与使用

(1)平台的注册网址

点击此处进行Easy IoT注册(http://iot.dfrobot.com/workshop.html),可以点击进去自行注册即可使用。

(2)平台的配置使用

配置步骤

(3)查看设备的所有通讯消息

在这里插入图片描述

五、Mind+上的配置与操作步骤

步骤1:连接设备与模式切换

在这里插入图片描述

步骤2:选择主控板

在这里插入图片描述

步骤3:添加网络服务!

在这里插入图片描述

步骤4:开始图形化编程

在这里插入图片描述

步骤5:MQTT参数初始化

在这里插入图片描述

步骤6:完成编程

在这里插入图片描述

六、代码展示

(1)核心代码

连接手机Wi-Fi热点:

myIot.wifiConnect("meizu 16", "88888888");

MQTT初始化参数:

	myIot.init("iot.dfrobot.com.cn","5-iocmFMR","","5-iocmKGRz",topics,1883);

MQTT发起连接:

myIot.connect();

引用文本:

var foo = 'bar';

按A键发送消息:

void loop() {
	if ((buttonA.isPressed())) {
		myIot.publish(topic_1, "NBA!牛逼!");
		display.setCursorLine(1);
		display.printLine("MQTT发送成功");
	}
}

我成功接收到对方信息后的回调响应事件:

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

(2)完整代码

/*!
 * MindPlus
 * mpython
 *
 */
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT0(String& message);
// 静态常量
const String topics[5] = {"wDHT5mFGg","s7V05iFMR","","",""};
const MsgHandleCb msgHandles[5] = {obloqMqttEventT0,NULL,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;


// 主程序开始
void setup() {
	mPython.begin();
	myIot.setMqttCallback(msgHandles);
	display.setCursorLine(1);
	display.printLine("程序开始");
	myIot.wifiConnect("meizu 16", "88888888");
	while (!myIot.wifiStatus()) {yield();}
	rgb.write(0, 0x0000FF);
	display.setCursorLine(2);
	display.printLine("Wi-Fi连接成功");
	display.setCursorLine(2);
	display.printLine(myIot.getWiFiLocalIP());
	myIot.init("iot.dfrobot.com.cn","5-iocmFMR","","5-iocmKGRz",topics,1883);
	myIot.connect();
	while (!myIot.connected()) {yield();}
	display.setCursorLine(2);
	display.printLine("MQTT连接成功");
}
void loop() {
	if ((buttonA.isPressed())) {
		myIot.publish(topic_1, "NBA!牛逼!");
		display.setCursorLine(1);
		display.printLine("MQTT发送成功");
	}
}


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

七、实验效果图

(1)我的设备连接和发送消息成功截图:
在这里插入图片描述

(2)对方收到我的消息截图:
在这里插入图片描述

(3)对方发送信息成功的截图:
在这里插入图片描述

(4)我收到对方消息的截图:
在这里插入图片描述

(5)在Easy loT平台设备上查看到的通信消息详情截图:
在这里插入图片描述

八、实验体验与体会

(1) 在配置mqtt初始化参数时,发送方和接收方的所有的参数配置要保持一致,保证两者共同使用同一个服务器来通信。
(2) 在配置mqtt初始化参数时,一定要要注意每个参数不能有错,一定要细心,不然出现消息发送或者接受不成功。
(3) 编程时一定要添加循环条件,否则只会执行一次,最后会导致接收方不能接收·到信息。
(4) 在判断某一步是否成功,可以在某一步后加入一些显示文字或者灯亮的测试来判断此步是否执行成功,比如测试Wi-Fi和MQTT是否连接成功。
(5) 如果要测试自己程序或MQTT的初始化参数是否有错,可以自己发给自己来看是否能发送和接收消息成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值