文章目录
- 前言
- 一、创建项目
- 二、Mind+ 图形化程序块
-
- 1.测试 Wi-Fi 是否连接成功
- 2.测试 MQTT 是否连接成功
- 3.实现 MQTT 消息的通信
- 4.完整截图
- 三、arduino C源代码
- 四、实验效果图
-
- 1.连接 Wi-Fi
- 2.连接 MQTT
- 3.MQTT 消息的通讯
- 总结
前言
本文主要介绍如何在 Mind+ 上实现 Easy IoT 配置和 Easy IoT 上 MQTT 消息的通讯。
一、创建项目
二、Mind+ 图形化程序块
1.测试 Wi-Fi 是否连接成功
首先连接 Wi-Fi,测试 Wi-Fi 是否连接成功。
2.测试 MQTT 是否连接成功
Wi-Fi 连接成功后,我们就测试 MQTT 连接是否成功建立,只有两者都成功了,才进入发送消息阶段,甲方监听 Topic_0,乙方监听 Topic_1。
其中,MQTT 初始配置信息如下:
3.实现 MQTT 消息的通信
当触摸 P 键后MQTT发送信息“2018764210/吴炳辉”至Topic_0,并显示发送成功。
当mqtt接收到Topic_1的消息,屏幕显示MQTT消息并亮红灯,播放音乐。
4.完整截图
三、arduino C源代码
代码如下(示例):
/*!* MindPlus* mpython**/
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT1(String& message);
// 静态常量
const String topics[5] = {
"2018764221/吴炳辉","2018764210/肖显超","","",""};
const MsgHandleCb msgHandles[5] = {
NULL,obloqMqttEventT1,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;// 主程序开始
void setup() {
mPython.begin();myIot.setMqttCallback(msgHandles);display.setCursorLine(1);display.printLine("start");myIot.wifiConnect("gshh", "shwh2295");while (!myIot.wifiStatus()) {
yield();}display.setCursorLine(1);display.printLine(myIot.getWiFiLocalIP());myIot.init("192.168.43.8","602","","iot", topics, 1883);myIot.connect();while (!myIot.connected()) {
yield();}display.setCursorLine(1);display.printLine("mqtt ok");
}
void loop() {
if ((touchPadP.isTouched())) {
myIot.publish(topic_0, "2018764221/吴炳辉");display.setCursorLine(1);display.printLine("发送成功");}
}// 事件回调函数
void obloqMqttEventT1(String& message) {
display.setCursorLine(1);display.printLine(message);rgb.write(0, 0xFF0000);buzz.play(DADADADUM, Once);
}
四、实验效果图
1.连接 Wi-Fi
(WI-FI连接成功忘了截图)
2.连接 MQTT
MQTT连接成功。
3.MQTT 消息的通讯
触摸P键发送信息,掌控板屏幕显示 “发送成功”。
此时sIoT显示发送的信息。
当mqtt接收到Topic_1的消息,sIoT显示收到的信息。
同时,掌控板屏幕显示MQTT消息并亮红灯,播放音乐。
总结
通过这次实验,我初步学会了 Mind+上实现sIoT配置并实现sIoT上mqtt消息的通讯。其操作相对简单,因为在Mind+上可以运用图形化程序块来搭建代码,弄清楚实验原理即可快速实现相应功能。实验的主要过程是:创建项目,搭建 Wi-Fi 连接和 MQTT 连接。乙方触摸P键发送信息,掌控板屏幕显示 “发送成功”,sIoT显示发送的信息。当甲方mqtt接收到Topic_1的消息,sIoT显示收到的信息同时掌控板也有相应的提示。实验让我懂得了,在考虑问题时要认真、全面,尽可能多地结合生活和联系实际,多动手多练习。总的来说,这次实验使我受益匪浅。