Easy IoT上mqtt消息的配置与通讯
一、实验目的及要求
【实验一】实现Easy IoT配置。
【实验二】实现Easy IoT上mqtt消息的通讯。
二、实验原理与内容
实现mind+下Easy IoT上mqtt消息的通讯。
三、实验软硬件环境
硬件:掌控板
软件:Mind+
四、实验过程
【1】EASY loT的配置
登录网址:https://iot.dfrobot.com.cn
【2】选择用户登录或注册
【3】注册成功,添加两台新设备,点击左侧的小眼睛可以查看用户名称和密码。
【实验二】实现Easy IoT上mqtt消息的通讯。
选择EP32主控板,MQTT,WIFI网络服务,设置好热点。
配置好Easy LoT后,填写MQTT初始化参数
代码显示
/*!
* MindPlus
* mpython
*
*/
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT1(String& message);
// 静态常量
const String topics[5] = {"wDHT5mFGg","s7V05iFMR","","",""};
const MsgHandleCb msgHandles[5] = {NULL,obloqMqttEventT1,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;
// 主程序开始
void setup() {
mPython.begin();
myIot.setMqttCallback(msgHandles);
display.setCursorLine(1);
display.printLine("WiFi连接");
myIot.wifiConnect("abc", "123456..");
while (!myIot.wifiStatus()) {yield();}
display.setCursorLine(2);
display.printLine("成功");
myIot.init("iot.dfrobot.com.cn","5-iocmFMR","","5-iocmKGRz",topics,1883);
myIot.connect();
while (!myIot.connected()) {yield();}
display.setCursorLine(3);
display.printLine("成功");
}
void loop() {
if ((buttonB.isPressed())) {
myIot.publish(topic_0, "hello");
display.setCursorLine(4);
display.printLine("发送成功");
}
}
// 事件回调函数
void obloqMqttEventT1(String& message) {
display.setCursorLine(1);
display.printLine(message);
}
五、实验效果图
(1)将代码上传到设备上
(2)设备T1发送成功
(3)设备T0接收成功
(4)设备T0发送成功
(5)设备T1接收成功
六、测试/调试以及实验结果分析
(1)在Eassy IoT的T0设备中可以查看接收的信息
(2)在Eassy IoT的T1设备中可以查看接收的信息
在Easy lot中可以查询到两台设备的信息是否真正发送,由上图可知,两台设备之间的信息交换是成功的。
七、实验结论与体会
1、在编写程序时要注意到发送信息那部分操作需要添加循环,否则只会执行一次。
2、mqtt初始化配置的信息,两个软件上面所配置的用户应该相同,topic0与topic1应相同。
3、在测试某设备是否能成功发送或接收信息时,可以“自己”发送给“自己”。
4、在执行某些不能明显得到输出的结果的语句时,可以编写一些测试语句以便检验,比如wifi,mqtt是否连接成功。
上一篇: 前阶段的Android学习总结
下一篇: 实现Easy IoT上MQTT消息的通讯