Easy IoT实现mqtt实验(双终端)

**

Easy IoT实现mqtt实验(双终端)

**

一、实验目的及要求

【实验一】实现Easy IoT配置。
【实验二】实现Easy IoT上mqtt消息的通讯。

二、实验原理与内容

实现mind+下Easy IoT上mqtt消息的通讯。

三、实验软硬件环境

四、实验过程

1.Easy IoT配置:

  1. 进入easy iot官网国区注册登录获取iot_id、iot_pwd
  2. 在工作站建立topic1与topic2
    在这里插入图片描述

2.核心代码截图:

(1)模块化代码截图:
mind+软件可实现可视化编程(强烈推荐编程能力自我感觉不怎么样的多学学可转少儿编程教育)(2)具体代码截图(c++):

 * MindPlus
 * mpython
 *
 */
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT1(String& message);
// 静态常量
const String topics[5] = {"KmWtSmKGR","N6PUSmFGR","","",""};
const MsgHandleCb msgHandles[5] = {NULL,obloqMqttEventT1,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;


// 主程序开始
void setup() {
	mPython.begin();
	myIot.setMqttCallback(msgHandles);
	rgb.write(0, 0x00FF00);
	myIot.wifiConnect("orange", "12345678");//个人热点账号、密码根据自己设置
	while (!myIot.wifiStatus()) {yield();}
	display.setCursorLine(1);
	display.printLine("wifi连接成功");
	myIot.init("iot.dfrobot.com.cn","in6cSiFGg","","m7e5SiKMgz",topics,1883);
	myIot.connect();
	while (!myIot.connected()) {yield();}
	display.setCursorLine(2);
	display.printLine("MQTT连接成功");
	display.setCursorLine(3);
	display.printLine("按A按开始发送");
}
void loop() {
	if ((buttonA.isPressed())) {
		myIot.publish(topic_0, "hello world");
		display.setCursorLine(4);
		display.printLine("信息发送成功");
	}
	delay(5000);
	display.fillScreen(0);
}


// 事件回调函数
void obloqMqttEventT1(String& message) {
	display.setCursorLine(4);
	display.printLine(message);
	delay(5000);
	display.fillScreen(0);
}

3.实验效果图:
(1)采用上传模式将数据上传后,掌控板显示如下:
在这里插入图片描述
(2)按A键进行MQTT的数据连接,通过iot.drrobot.com.cn中国服务器与iot账号连接进行数据发送与接收
数据发送成功效果如下:

①终端1(这里称为主机)
在这里插入图片描述
②终端2(这里称为iot用户机)
在这里插入图片描述
终端1接收到的数据如下:
在这里插入图片描述

五、测试/调试及实验结果分析

  • 掌控板与mind+连接,通过wifi、mqtt模块加载实现mind+下Easy IoT上mqtt消息的通讯。首先,通过wifi热点建立掌控板与网络连接,通过初始化mqtt数据导入iot_id、iot_pwd以及连接的topic0、topic1建立mqtt与服务器的连接。
  • Wifi连接通过在显示屏输出“wifi连接成功”测试wifi是否成功;mqtt连接通过在显示屏输出“MQTT连接成功”测试mqtt是否连接成功。一旦wifi与mqtt连接成功后通过掌控板上的A键开关控制消息语句的循环发送与清屏控制。
  • 实验中主掌控板通过向iot_id的topic1发送消息,iot用户在iot.dfrobot.com.cn的topic0的界面可查看消息接收记录,同时iot用户掌控板可在显示屏显示到发送内容。Iot用户向topic1发送信息,主机掌控板显示屏也可以显示接收内容。

六、实验结论与体会

  1. 本次实验主要实现Easy IoT配置以及Easy IoT上mqtt消息的通讯。总体来说实验进展的还算顺利,这里提及一些实验容易遇到的“雷区”:

(1)wifi模块连接两端或多终端并不需要在同一wifi环境,wifi连接目的是建立掌控板与mind+中代码的连接;
(2)mqtt模块中数据初始化的iot_id、iot_pwd、topic0、topic1必须与连接的掌控板数据参数相同;
(3)需要进行两端数据消息的接收与发送必须连接上topic0与topic1,只连接单一一个只能进行接收或发送。

后言

因实验时传送的数据涉及个人隐私,故效果图展示略微修改但保证数据准确

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值