实验二 SIOT

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

二、实验原理与内容

sIoT可以在局域网上实现mqtt消息的通讯。借助sIoT可以通过手机app实现局域网内的设备操控。

三、实验软硬件环境
硬件:掌控板
软件:Mind+

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

  1. 首先先打开命令行输入ipconfig找到自己电脑的IP地址,然后打开老师给的siot客户端,再在浏览器输入IP地址:8888,8888是siot端口号,就会进入到siot的登陆页面,如下图所示,输入账号密码,就可以进到主页。
    在这里插入图片描述
    这就是SIOT的主页,以及我的两个TOPIC。
    在这里插入图片描述
  2. 回mind+根据自己的逻辑去编写自己的程序块,然后拓展块和实验一一样,选择上传模式,选择掌控板和网络服务中MQTT和WIFI,这个板块的主要代码如下所示:
    在这里插入图片描述
    在这里插入图片描述
    其中,我的MQTT的配置如图所示:
    在这里插入图片描述
    在测试中需要注意的是两台设备需要在同一局域网中,我的代码中连接WiFi成功后会在掌控板显示WiFi的IP地址,若MQTT连接成功,则会显示ok。若连接不成功,建议多换几个热点试试。而接收到对方的信息掌控板会亮蓝灯。
  3. 实验结果如下图所示:
    在这里插入图片描述

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

4.核心代码

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


// 主程序开始
void setup() {
   
	mPython.begin();
	myIot.setMqttCallback(msgHandles);
	myIot.wifiConnect("abc", "123456..");
	while (!myIot.wifiStatus()) {
   yield();}
	display.setCursorLine(1);
	display.printLine(myIot.getWiFiLocalIP());
	myIot.init("192.168.137.1","602","","iot", topics, 1883);
	myIot.connect();
	while (!myIot.connected()) {
   yield();}
	display.setCursorLine(2);
	display.printLine("ok");
}
void loop() {
   
	if ((buttonA.isPressed())) {
   
		myIot.publish(topic_0, "hello");
		display.setCursorLine(3);
		display.printLine("发送成功");
	}
}


// 事件回调函数
void obloqMqttEventT1(String& message) {
   
	display.fillScreen(0);
	display.setCursorLine(1);
	display.printLine(message);
	rgb.write(0, 0x0000FF);
}

实验二 通过AppInventor结合sIoT实现手机app控制掌控板的灯和显示内容的实验过程。
在这里老师已经给出了程序文件,我们只需要把相应的变量改一下就可以了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值