sIoT实现mqtt实验

sIoT实现mqtt实验(该博客主要记录本人物联网课程的实验报告)

一、实验目的及要求

【实验一】实现sIoT配置并实现sIoT上mqtt消息的通讯。
【实验二】通过AppInventor结合sIoT实现手机app控制掌控板的灯和显示内容。

二、实验原理与内容

sIoT可以在局域网上实现mqtt消息的通讯。借助sIoT可以通过手机app实现局域网内的设备操控。
注意,以上实验设备必须在同一个局域网里

三、实验软硬件环境

硬件:掌控板
软件:Mind+

四、实验过程(实验步骤、记录、数据、分析)

源码仓库地址:GitHub

4.1 sIoT上mqtt消息的通讯

4.1.1.打开sioT服务,将config.json文件的服务器端口更改为8085。

在这里插入图片描述
在这里插入图片描述

4.1.2.登录sioT平台,通过发送信息来创建新设备

在这里插入图片描述

4.1.3.打开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] = {"2018324138/罗志宽","2018324145/梁庭锋","","",""};
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("192.168.31.65","siot","","dfrobot", 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, "罗志宽");
	}
	if ((buttonB.isPressed())) {
		display.setCursorLine(3);
		display.printLine("按下B键");
		myIot.publish(topic_1, "梁庭锋");
	}
}


// 事件回调函数
void obloqMqttEventT0(String& message) {
	display.setCursorLine(4);
	display.printLine(message);
	rgb.write(-1, 0xFFFF00);
}
void obloqMqttEventT1(String& message) {
	display.setCursorLine(4);
	display.printLine(message);
	rgb.write(-1, 0xFF0000);
}


4.1.4.在MTQQ初始化参数中添加slot中自己的账号密码以及设备

在这里插入图片描述

4.1.5.对掌控板进行测试

等待掌控板WIFI连接、和MQTT连接,连接成功后,按下掌控板的A键,将在掌控板显示“按下A键”,并将消息“罗志宽”发送给Easy loT的topic0;topic0接收到消息后,将该消息内容显示在掌控板上,同时将掌控板的所有灯的颜色变为绿色。(按下B键与按下A键的功能相似)
在这里插入图片描述

4.2 手机app控制掌控板的灯和显示内容

4.2. 1.打开在线ide MIT App Inventor,导入项目并打包apk,在安卓手机上下载并安装该apk。

在这里插入图片描述
在这里插入图片描述

4.2. 2.打开Mind+,导入该项目,更改MQTT初始化参数

在这里插入图片描述

4.2. 3.对掌控板进行测试,等待WIFI和MQTT连接成功后,在app上点击发送按钮,观察掌控板的变化。

在这里插入图片描述
在这里插入图片描述

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

登录s loT平台,点击查看topic0的消息详情,验证是否接收到Mind+发送的消息。
实验一:

在这里插入图片描述

实验二:

在这里插入图片描述

实验结果无误。

六、实验结论与体会

通过这次实验,我更加熟悉掌握对于MIND+软件的使用。并且学会使用利用sIoT可以在局域网上实现mqtt消息的通讯。并且学会借助sIoT可以通过手机app实现局域网内的设备操控。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值