sIoT及安卓app实现mqtt实验

sIoT及安卓app实现mqtt实验

本次实验文件(包括Siot和AppInventor安装包)
链接:https://pan.baidu.com/s/1xdtYa9tmuzH3DbirVRIc6A
提取码:8400
复制这段内容后打开百度网盘手机App,操作更方便哦

一、实验目的及要求

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

二、实验原理与内容

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

三、实验软硬件

环境硬件:掌控板
软件:Mind+

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

(一)、实验一:实现sIoT配置并实现sIoT上mqtt消息的通讯。
这个实验采用siot实现两个掌控板之间相互通讯。

  1. 安装siot

首先实现SIOT的配置,打开SIOT文件夹,先修改端口设置,打开config.json,修改WebServerAdrr(1024以上都可,本次使用8080端口)。打开“SIoT_windows_1_2”,在浏览器中输入地址127.0.0.1:8080页面。登录页面如下
sIoT及安卓app实现mqtt实验
登陆后先创建新的主题。在发送信息中写下主题(项目ID/设备名),再写入第一条信息,点击发送即可创建一个新的topic.
sIoT及安卓app实现mqtt实验
sIoT及安卓app实现mqtt实验

2.编写代码

①发送信息
首先让掌控板连接wifi,连接wifi后连接siot服务器(需要在同一局域网下进行)。当按钮被按下后将发送信息到另外一台掌控板上,并在掌控板上显示文字“已发送消息”
sIoT及安卓app实现mqtt实验
MQTT初始化参数:平台选择SIOT,服务器地址写siot所在电脑地址(首先保证电脑和掌控板在同一局域网下)。Topic0为接收方,topic1为发送方(本掌控板)

sIoT及安卓app实现mqtt实验

sIoT及安卓app实现mqtt实验
③接收信息
当掌控板接收到来自topic1的消息时,显示信息内容在掌控板上,并且打开掌控板的灯提示查看信息。
sIoT及安卓app实现mqtt实验
sIoT及安卓app实现mqtt实验

3.实验图效果

sIoT及安卓app实现mqtt实验
掌控板1、在掌控板上显示ip地址,以及连接mqtt成功信息。如图所示成功发送信息并收到另一台掌控板发来的消息“hello”,收到消息后灯发光。
sIoT及安卓app实现mqtt实验
掌控板2

(二)、实验二:通过AppInventor结合sIoT实现手机app控制掌控板的灯和显示内容。
1.安装AppInventor
解压压缩包,打开“启动AppInventor”。打开浏览器,地址栏输入“127.0.0.1:8888”进入页面。
sIoT及安卓app实现mqtt实验
单击项目,导入lightColorCtr.aia文件。打开项目,选择编程(箭头所示)。
修改红色框中部分。第一行为本机ip号,第二行为1833(端口号)。第三、四行为siot的用户名,密码。最后一行是需要使用的topic。
配置好后点击编译,用二维码将app下载到手机上。
sIoT及安卓app实现mqtt实验
2.打开siot
实验一中已说明siot的使用
3.编写代码
①当WIFI没连上时,显示图片在掌控板上,连接上WIFI后显示文字:WIFI已连接。初始化mqtt,当mqtt连接成功后在掌控板上显示连接成功。
sIoT及安卓app实现mqtt实验
MQTT初始化参数,平台选择SIOT,服务器地址填写SIOT服务器所在ip地址,账号密码填写siot账号密码。填写topic号
sIoT及安卓app实现mqtt实验
sIoT及安卓app实现mqtt实验
②接收MQTT消息,接受来自手机上调整的rgb值,根据逗号划分r,g,b三个变量的值。掌控板显示文字并且发光,灯的颜色根据接收到的rgb值变换灯的颜色。
sIoT及安卓app实现mqtt实验
sIoT及安卓app实现mqtt实验
4.调整手机APP打开在appinventor上下载的app,进入设置参数,地址填写siot服务器的地址(首先确保服务器和手机处在同一局域网下)。设置好后返回主页点击连接服务器。
sIoT及安卓app实现mqtt实验

5.实验图效果
sIoT及安卓app实现mqtt实验

发红rsIoT及安卓app实现mqtt实验
r值:255,其他为0,颜色为红色

sIoT及安卓app实现mqtt实验
sIoT及安卓app实现mqtt实验

五、实验结论与体会

这次实验分为两个实验,第一个实验是采用siot配置实现两个掌控板之间的通讯,第二个实验,拭用APP inventor和siot来实现手机APP控制掌控板的灯和显示内容。实验一的代码和上次实验大部分是相同的,但是实验进行的并不顺利,一开始服务器出现了问题,两台掌控板之间不能及时有效的通讯。重新配置了服务器之后才完成了实验一。实验二相对来说比较简单,但是代码一开始有个问题,红色的灯不会亮。原因是设置r的值是从第一个字符到第一个逗号前的字符,字符的位数是从一开始的,一开始写了0。