sIoT及安卓app实现mqtt实验(双方使用SIoT互发消息/AppInventor结合sIoT实现手机app控制掌控板的灯光调节)

一、实验目的及要求

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

二、实验原理与内容

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

三、实验软硬件环境

硬件:掌控板
软件:Mind+

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

【实验一】实现sIoT配置并实现sIoT上mqtt消息的通讯。

1. 源码仓库地址:https://github.com/Spying5/Mind-/blob/master/SIoT_SRMessage.md

2. 环境准备 :

首先按照如下步骤配置环境:(注意通讯时只需要通讯方的其中一个人打开SIoT即可,电脑每次连接WIFI,都会生成一个IP地址,每个IP地址对应的电脑都是唯一的。运行SIoT程序后会在电脑上建立一个SIoT服务器,其他设备要访问这个服务器,需要知道这个SIoT服务器所在电脑的IP地址,而此次实验室通过SIoT在局域网上实现mqtt通信,所以通信双方共同访问其中一个服务器即可,所以实验的时候通信双方只需要一个人打开SIoT程序)

第一步:去官网安装并开启对应的SloT程序:
在这里插入图片描述
第二步:打开上述JSON配置文件,查看他的账户名和密码、端口号等信息:
在这里插入图片描述
第三步:登陆SIoT网页端,在浏览器输入其中的网页服务请求地址:127.0.0.1:8888 (localhost:8888):
(SIoT网页端账号、密码都是统一的,参照JSON配置文件)
第四步:点击发送消息,创建通讯所需要的TOPIC同时填写所需发送的信息:
在这里插入图片描述
第五步:点击设备列表可查看我们刚才我们创建的状态:
在这里插入图片描述
第六步:Mind+编程
首先打开Mind+,然后切换为上传模式,连接设备,然后点击扩展:

在这里插入图片描述
接下来以此按照下图选择所需要扩张的服务和掌控板:
在这里插入图片描述在这里插入图片描述
综上,实验一所需要的配置环境已完成,接下来我们介绍编码过程:

4. 核心代码截图

原理介绍:
上述软件配置工作完成后,我们需要代码中所需要的参数,首先是连接WIFI,测试WIFI是否连接成功,当WIFI连接成功后,我们就测试MQTT连接是否成功建立,只有两者都成功了,才进入发送消息阶段,甲方监听TOPIC0,乙方监听TOPIC1。
甲方为主体:当触摸按钮P被接通时,甲方发送所需要发送的消息到平台TOPIC1。此时乙方监听到TOPIC1接收到消息,便把消息内容显示出来。同理,乙方为主体:当触摸按钮P被接通时,乙方方发送所需要发送的消息到平台TOPIC0。此时乙方监听到TOPIC0接收到消息,便把消息内容显示出来。

MQTT初始配置信息如下:
甲方和乙方MQTT初始化配置一样,服务器地址:两个人共同使用其中一方主机的IP地址,因为这里我们是在同一个局域网里面通讯。账号密码区域:对应输入JSON配置文件中的账号密码,TOPIC:这里是两个人进行通信所以两个TOPIC即可(对应输入我们上述配置环境时在新建的设备的主题(即项目/设备名))。
在这里插入图片描述
下图是以甲方为主体的核心代码模块:(以乙方为主体只需要对换下面TOPIC对象,此处图略)

在这里插入图片描述
5.实验效果图:
乙方发送消息给甲方,甲方接收到乙方消息将显示在第三行,如下:
在这里插入图片描述
甲方发送消息给乙方,乙方接收到甲方的消息将显示在第三行,如下:
在这里插入图片描述


【实验二】通过AppInventor结合sIoT实现手机app控制掌控板的灯和显示内容。


1. 源码仓库地址:https://github.com/Spying5/Mind-/blob/master/AppILightTurn

2. 配置环境

第一步:登录MIT App Inventor在线网页版:http://app.gzjkw.net/#4

第二步:点击 项目–导入项目–浏览–选择实验文件lightColorCtr.aia–确定;
项目切换模式为逻辑设计
在这里插入图片描述
第三步:小改源代码,配置参数,本机IP主机可以进入cmd通过ipconfig命令查看,TOPIC的建立如上实验1一样的步骤来创建,打开SIot程序并登录其网页端来创建:
在这里插入图片描述
第四步:点击 打包apk–打包apk并显示二维码,接着扫描生成的临时二维码,然后下载对应的程序到手机上。
在这里插入图片描述
在这里插入图片描述
第五步:通过MIND+打开另一个所需要用到的源码文件,切换到上传模式,并进行对应的修改,具体下面的核心代码步骤中的图,修改完成后点击上传到设备即可。
在这里插入图片描述

4. 核心代码截图:
连接WIFI和MQTT:首先我们先点击连接设备,接下来配置好MQTT的初始化参数,服务器地址是本机的IP地址,账号和密码为SIOT配置文件中的账号密码,填写好提前创建的TOPIC。WIFI打开热点自行输入对应参数配置。
在这里插入图片描述
接下来按照下图修改源程序,我们需要达到的效果是的是当WIFI和MQTT连接成功后,我们拖动手机程序中R、G、B的滑动条的值,灯光颜色会随之改变。(也就是我们需要读取拖动滑动条后最终的R、G、B,并且设置它为最新的值,这样灯光颜色就可以改变了),这里我们读取MQTT消息,并通过字符串的长度截取,通过逻辑,来讲字符串中对应的值设置为R、G、B对应的值,具体如下:
在这里插入图片描述5.实验效果图:

拖动手机程序的滑动条最终对应灯光显示分别如下:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

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

实验一:当上传代码完成,测试是否自动连接成功WIFI以及MQTT,若WIFI连接成功获取其IP地并显示在屏幕第一行,MQTT连接成功结果显示在第二行。待上述配置环境准备完成,接着当触摸按钮P被接通时,甲方将会发送个人姓名和学号信息到平台TOPIC1,由于乙方监听TOPIC1,因此将收到甲方所发送的消息,结果会显示在屏幕第三行。而当触摸按钮P被接通时,乙方会把个人姓名和学号消息到公众号TOPIC0,同理,甲方监听TOPIC0,收到乙方所发送的消息,结果会显示在屏幕第三行。

实验二:手机安装的程序设置好参数连接服务器,MIND+将代码上传,测试是否自动连接成功WIFI以及MQTT。连接成功后,我们滑手机程序动拖动条,既可以调节掌控板中的灯光颜色。

六、实验结论与体会

通过这次实验,我更加熟悉掌握对于MIND+软件的使用。并且学会使用利用sIoT可以在局域网上实现mqtt消息的通讯。并且学会借助sIoT可以通过手机app实现局域网内的设备操控。其中实验1的原理实现与上一个实验Easy IoT平台实现mqtt消息相似,而实验2是AppInventor结合sIoT来实现手机app控制掌控板的灯的亮度,只要配置好环境参数,并把逻辑代码顺序搞懂,并理清实验目的,也很快就能写出来。总的来说,这次实验受益匪浅,我的动手能力得到了提高,思维能力也得到了锻炼接下来,我会更加努力,把每个实验都做好。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ESP32是一款高性能、低功耗的WiFi和蓝牙芯片,可以实现无线通讯和控制。而App Inventor是一款基于Web的图形化编程平台,可以帮助开者快速创建Android应用程序。结合这两个工具,可以很容易地实现WiFi通讯。 步骤如下: 1. 准备工作 - 安装Arduino开环境和ESP32开支持库。 - 在App Inventor官网注册账户,创建一个新项目。 2. 编写ESP32代码 在Arduino IDE中打开一个新的示例代码,选择“WiFiClient”示例。这个示例代码演示了如何连接到WiFi网络和送数据。将代码复制到新的项目中,并修改以下内容: - 将WiFi SSID和密码改为您的本地WiFi网络信息。 - 修改服务器地址和端口号,以便与App Inventor应用程序通信。 - 将代码中的“Hello World”替换为您想要送的数据。 3. 上传ESP32代码 将ESP32开连接到计算机,选择正确的端口和开类型,并上传代码。 4. 创建App Inventor应用程序 在App Inventor中创建一个新的应用程序,并添加以下组件: - 一个标签组件,用于显示ESP32送的数据。 - 一个文本框组件,用于输入要送到ESP32的数据。 - 一个按钮组件,用于触送数据的操作。 5. 编写App Inventor代码 将标签组件的文本属性设置为空字符串,然后在按钮组件的点击事件中添加以下代码: - 获取文本框组件的输入。 - 创建一个新的WiFi客户端,并连接到ESP32的IP地址和端口。 - 送数据到ESP32。 - 读取ESP32返回的响应,并将其显示在标签组件上。 6. 测试应用程序 运行App Inventor应用程序,并测试送和接收数据是否正常。 总结 通过ESP32和App Inventor的组合,可以轻松实现WiFi通讯和控制。这使得开者可以快速构建自己的无线应用程序,并实现远程控制和数据传输。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值