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

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

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

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


Mind上的图块代码显示

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

Mind+上实现Easy IoT配置和Easy IoT上mqtt消息的通讯
2、
(1)当收到topic_0收到mqtt消息后,亮红灯,数字引脚输出高电平,屏幕显示mqtt的消息和提示,并播放音乐;
(2)当按下A键,回复收到到topic_1,如果topic_1成功接收,则屏幕显示文字“发送成功”。
Mind+上实现Easy IoT配置和Easy IoT上mqtt消息的通讯

源代码

/*!
 * 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)开始连接——>连接中

Mind+上实现Easy IoT配置和Easy IoT上mqtt消息的通讯
(2)wifi连接成功——>MQTT连接成功
Mind+上实现Easy IoT配置和Easy IoT上mqtt消息的通讯
(3)收到topic_0的消息“呼叫班长”,并按下A键回复收到
Mind+上实现Easy IoT配置和Easy IoT上mqtt消息的通讯
(4)回复成功!
Mind+上实现Easy IoT配置和Easy IoT上mqtt消息的通讯

总结

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

相关标签: Mind+ arduino