当前位置: 代码迷 >> 综合 >> Mind+上实现Easy IoT配置和Easy IoT上mqtt消息的通讯
  详细解决方案

Mind+上实现Easy IoT配置和Easy IoT上mqtt消息的通讯

热度:2   发布时间:2024-02-23 13:40:37.0

Mind+上实现Easy IoT配置和Easy IoT上mqtt消息的通讯

  • Mind上的图块代码显示
  • 源代码
  • 实验效果图
  • 总结


Mind上的图块代码显示

1、连接wifi热点和mqtt并验证连接成功:

在这里插入图片描述
2、
(1)当收到topic_0收到mqtt消息后,亮红灯,数字引脚输出高电平,屏幕显示mqtt的消息和提示,并播放音乐;
(2)当按下A键,回复收到到topic_1,如果topic_1成功接收,则屏幕显示文字“发送成功”。
在这里插入图片描述

源代码

/*!* MindPlus* mpython**/
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT0(String& message);
void onButtonAPressed();
void obloqMqttEventT1(String& message);
// 静态常量
const String topics[5] = {
    "sed25mFGg","GfFJ5mKGR","","",""};
const MsgHandleCb msgHandles[5] = {
    obloqMqttEventT0,obloqMqttEventT1,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;// 主程序开始
void setup() {
    mPython.begin();myIot.setMqttCallback(msgHandles);buttonA.setPressedCallback(onButtonAPressed);display.setCursorLine(1);display.printLine("开始连接");myIot.wifiConnect("honor 10", "shwh2295");display.setCursorLine(1);display.printLine("连接中...");while (!myIot.wifiStatus()) {
    yield();}display.fillScreen(0);display.setCursorLine(1);display.printLine("Wi-Fi 连接成功");display.setCursorLine(2);display.printLine(myIot.getWiFiLocalIP());delay(1000);myIot.init("iot.dfrobot.com.cn","vG4ANmKGg","","vGV0HiFMgz",topics,1883);myIot.connect();while (!myIot.connected()) {
    yield();}display.fillScreen(0);rgb.write(-1, 0x000000);display.setCursorLine(1);display.printLine("MQTT 连接成功");myIot.publish(topic_1, "连接成功!");
}
void loop() {
    }// 事件回调函数
void obloqMqttEventT0(String& message) {
    digitalWrite(P0, HIGH);rgb.write(0, 0xFF0000);display.setCursorLine(1);display.printLine(message);buzz.play(DADADADUM, Once);display.setCursorLine(2);display.printLine("(收到请按A键)");
}
void onButtonAPressed() {
    myIot.publish(topic_1, "收到");
}
void obloqMqttEventT1(String& message) {
    if ((message==String("收到"))) {
    display.fillScreen(0);display.setCursorLine(1);display.printLine("发送成功!");}
}

实验效果图

(1)开始连接——>连接中

在这里插入图片描述
(2)wifi连接成功——>MQTT连接成功
在这里插入图片描述
(3)收到topic_0的消息“呼叫班长”,并按下A键回复收到
在这里插入图片描述
(4)回复成功!
在这里插入图片描述

总结

此次实验主要是运用掌控板和Mind+软件来学习Easy IoT配置和Easy IoT上mqtt消息的通讯。回过头来看,其实并不难,因为在Mind+上都是运用图块来搭建代码,很容易可以实现,我们所要知道的就是这个实验的代码思路,例如搭建MQTT连接和wifi连接,以及当收到topic_0的消息时,我们要在掌控板上显示并加以提醒,然后就是我们要回复收到,发送消息到topic_1上。这样就可以完成此次实验了。