实验目的与要求

  1. 实现Easy IoT配置。
  2. 实现Easy IoT上mqtt消息的通讯。

实验原理与内容

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

实验软硬件环境

硬件:掌控板
软件:Mind+

实验过程(实验步骤、记录、数据、分析)

  1. 在easy iot平台上注册账号
  2. 登录Easy loT平台,点击工作间并创建两个设备
  3. 打开Mind+软件,切换到上传模式,并在扩展中选择ESP32主控板,MQTT,WIFI网络服务。将电脑与ESP32掌控板连接后,进行程序的编辑。
/*! * MindPlus * mpython * */
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT0(String& message);
void obloqMqttEventT1(String& message);
// 静态常量
const String topics[5] = {
   "20S5uslMR","CfO6wDuGg","","",""};
const MsgHandleCb msgHandles[5] = {
   obloqMqttEventT0,obloqMqttEventT1,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;


// 主程序开始
void setup() {
   
	mPython.begin();
	myIot.setMqttCallback(msgHandles);
	myIot.wifiConnect("602iot", "18wulian");
	while (!myIot.wifiStatus()) {
   yield();}
	display.setCursorLine(1);
	display.printLine("wifi连接成功!");
	myIot.init("iot.dfrobot.com.cn","rFqKXylGR","","rKqFXslGgz",topics,1883);
	myIot.connect();
	while (!myIot.connected()) {
   yield();}
	display.setCursorLine(2);
	display.printLine("MQTT连接成功!");
}
void loop() {
   
	if ((buttonA.isPressed())) {
   
		display.setCursorLine(3);
		display.printLine("按钮A被按下");
		myIot.publish(topic_0, "hello");
	}
	if ((buttonB.isPressed())) {
   
		display.setCursorLine(4);
		display.printLine("按钮B被按下");
		myIot.publish(topic_1, "world");
	}
}


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

  1. 在MTQQ初始化参数中添加Easy lot中自己的账号密码以及设备
  2. 对掌控板进行测试:等待掌控板WIFI连接、和MQTT连接
    连接成功后按下A按钮发送“hello”
    按下B按钮发送“world”到easy iot平台

测试/调试及实验结果分析

登录Easy loT平台,点击查看topic0和topic1的消息详情,查看是否接收到Mind+发送的消息。


结果无误!

实验结论与体会

通过这次实验让我真正的知道了物联网的魅力,掌控板可以与网络进行连接通信让它在实际中的用处大大增加,让我对物联网产生了浓厚的兴趣。