欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Easy IoT实现mqtt实验

程序员文章站 2022-06-09 08:55:08
...


一、实验目的及要求

【实验一】实现Easy IoT配置。

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


二、实验原理与内容

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


三、实验软硬件环境

硬件:掌控板

软件:Mind+


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

C代码

代码如下:


/*!
 *
MindPlus
 *
mpython
 *
 */
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void onButtonBPressed();
void obloqMqttEventT0(String& message);
// 静态常量
const String topics[5] =
{"eOGA5iFGg","SS405mKGg","","",""};
const MsgHandleCb msgHandles[5] =
{obloqMqttEventT0,NULL,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;
// 主程序开始
void setup() {
       mPython.begin();
       myIot.setMqttCallback(msgHandles);
       buttonB.setPressedCallback(onButtonBPressed);
       display.setCursorLine(1);
       display.printLine("掌控连接成功");
       myIot.wifiConnect("007","hscqweasd");
       while(!myIot.wifiStatus()) {yield();
       }
       display.setCursorLine(2);
       display.printLine("wifi连接成功");
       myIot.init("iot.dfrobot.com.cn","WpFo5iFGg","","ZpFociFGRz",topics,1883);
       myIot.connect();
       while(!myIot.connected()) {yield();
       }
       display.setCursorLine(3);
       display.printLine("MQTT连接成功");
       display.setCursorLine(4);
       display.printLine("丘伊婉");
       delay(3000);
       display.fillInLine(1,0);
       display.fillInLine(2,0);
       display.fillInLine(3,0);
       display.fillInLine(4,0);
}

void loop() {
       while(!(buttonA.isPressed())) {yield();
       }
       myIot.publish(topic_1,"2018764342丘伊婉i");
       display.setCursorLine(1);
       display.printLine("2018764342丘伊婉发送成功");
       rgb.write(0,0x0000FF); 
	}
 // 事件回调函数
void onButtonBPressed() {
       display.fillScreen(0);
       myIot.publish(topic_1,"丘伊婉收到,谢谢");
       display.setCursorLine(1);
       display.printLine("丘伊婉回复成功");
       rgb.write(2,0xFFFF33);
       delay(2000);
       rgb.write(-1,0x000000);
}
void obloqMqttEventT0(String& message)
{
       display.fillScreen(0);
       rgb.write(1,0xCC33CC);
       display.setCursorLine(1);
       display.printLine(message);
}

图形代码

Easy IoT实现mqtt实验
Easy IoT实现mqtt实验
Easy IoT实现mqtt实验


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

打开显示屏显示各项连接成功Easy IoT实现mqtt实验
我作为发送方信息发送成功Easy IoT实现mqtt实验
我作为接收方信息接收成功
Easy IoT实现mqtt实验
回复接收方信息回复成功
Easy IoT实现mqtt实验
对方回复我发送的信息Easy IoT实现mqtt实验

六、实验结论与体会

刚开始做的时候,在接收Topic_1发的信息的时候卡住,一直收不到对方发的信息,后来在老师的提醒下,我知道了那里用的功能是监听。然后我一开始是把接收和按键回复放在了一起,但是一直发送不出回复,后来经过调整把接收到消息和回复分开才成功的实现了这个功能。
在写代码的时候,要对错误有足够的耐心去进行调试,如果急于求成,就什么都写不好。

相关标签: 物联网