实验目的与要求
- 实现Easy IoT配置。
- 实现Easy IoT上mqtt消息的通讯。
实验原理与内容
实现mind+下Easy IoT上mqtt消息的通讯
实验软硬件环境
硬件:掌控板
软件:Mind+
实验过程(实验步骤、记录、数据、分析)
- 在easy iot平台上注册账号
- 登录Easy loT平台,点击工作间并创建两个设备
- 打开Mind+软件,切换到上传模式,并在扩展中选择ESP32主控板,MQTT,WIFI网络服务。将电脑与ESP32掌控板连接后,进行程序的编辑。
/*! * MindPlus * mpython * */
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT0(String& message);
void obloqMqttEventT1(String& message);
// 静态常量
const String topics[5] = {
"20S5uslMR","CfO6wDuGg","","",""};
const MsgHandleCb msgHandles[5] = {
obloqMqttEventT0,obloqMqttEventT1,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;
// 主程序开始
void setup() {
mPython.begin();
myIot.setMqttCallback(msgHandles);
myIot.wifiConnect("602iot", "18wulian");
while (!myIot.wifiStatus()) {
yield();}
display.setCursorLine(1);
display.printLine("wifi连接成功!");
myIot.init("iot.dfrobot.com.cn","rFqKXylGR","","rKqFXslGgz",topics,1883);
myIot.connect();
while (!myIot.connected()) {
yield();}
display.setCursorLine(2);
display.printLine("MQTT连接成功!");
}
void loop() {
if ((buttonA.isPressed())) {
display.setCursorLine(3);
display.printLine("按钮A被按下");
myIot.publish(topic_0, "hello");
}
if ((buttonB.isPressed())) {
display.setCursorLine(4);
display.printLine("按钮B被按下");
myIot.publish(topic_1, "world");
}
}
// 事件回调函数
void obloqMqttEventT0(String& message) {
display.setCursorLine(1);
display.printLine(message);
rgb.write(-1, 0x0000FF);
}
void obloqMqttEventT1(String& message) {
display.setCursorLine(1);
display.printLine(message);
rgb.write(-1, 0x33CC00);
}
- 在MTQQ初始化参数中添加Easy lot中自己的账号密码以及设备
- 对掌控板进行测试:等待掌控板WIFI连接、和MQTT连接
连接成功后按下A按钮发送“hello”
按下B按钮发送“world”到easy iot平台
测试/调试及实验结果分析
登录Easy loT平台,点击查看topic0和topic1的消息详情,查看是否接收到Mind+发送的消息。
结果无误!
实验结论与体会
通过这次实验让我真正的知道了物联网的魅力,掌控板可以与网络进行连接通信让它在实际中的用处大大增加,让我对物联网产生了浓厚的兴趣。