物联网--sIoT及安卓app实现mqtt实验
一、实验目的及要求
【实验一】实现sIoT配置并实现sIoT上mqtt消息的通讯。
【实验二】通过AppInventor结合sIoT实现手机app控制掌控板的灯和显示内容。
二、实验原理与内容
sIoT可以在局域网上实现mqtt消息的通讯。借助sIoT可以通过手机app实现局域网内的设备操控。
三、实验软硬件环境
硬件:掌控板
软件:Mind+
四、实验过程(实验步骤、记录、数据、分析)
将电脑连上手机热点
实验一
(一)安装SIoT1.2
(二)运行SIoT
(三)在浏览器中输入网址127.0.0.1:8888访问sIoT
(四)登录SIoT并发送消息创建两个主题
(五)打开Mind+,选择上传模式,打开拓展,在主控板选择掌控板,网络服务选择MQTT和Wi-Fi,连接WiFi,初始化MQTT,填写相关参数,发起连接(通信双方的topic要相统一)
实验二
(一)在线登录MIT App Inventor 2 测试版
链接:http://app.gzjkw.net/login/
(二)进入Gitee下载App inventor2的源代码和掌控板的Mind+代码
链接:https://gitee.com/xiezuoru/SIoT/tree/master/examples/Appinventor/
(三)在MIT App Inventor 2 测试版中导入.aia项目,选择逻辑设计,修改相关参数(电脑的IP地址,端口号,SIoT的用户名、密码,topic)
(四)在Mind+中打开下载的.sb3项目,修改MQTT初始化参数
(五)上传代码,然后到MIT App Inventor 2选择打包apk并显示二维码,然后扫描二维码下载MQTT IOT Light,打开MQTT IOT Light,设置参数
(六)连接服务器,调节灯光颜色,观察掌控板灯光的变化。
五、测试/调试及实验结果分析
实验一
(一)调试结果
1、对方成功接收我发送的信息
2、我成功接收对方发送的信息
(二)分析
我发送消息到Topic_0,而小伙伴发送消息到Topic_1,当我按下A按钮,小伙伴会接收到我发送的消息,在掌控板上显示出来,同理,当小伙伴按下A键,我也能接收到她发送的消息。该实验结果表明实验成功。
实验二
(一)调试结果
(二)分析
R值代表红色,G值代表绿色,B值代表蓝色,当在MQTT+LightColor中拉动滚动条调整这三个值,灯光的颜色也会随之变化。
六、实验结论与体会
(一)在做第二个实验的过程中,要使掌控板上的灯光随着调整的数值变化,就要设置R、G、B的值为将字符串MQTT消息获取,而不是具体的数值。
(二)如果灯不出现红色,要把代码中“设置R的值为字符串MQTT消息获取第0个字符到第变量逗号1个字符转换为整数”的0改成1,即如实验步骤中的代码所示。
(三)上传代码后,在扫“打包apk并显示二维码”中的二维码时,如果微信扫不出来,可以尝试使用QQ扫描。
实验一源码:https://github.com/141211/sIoT-mqtt-/commit/1811403411a7641b6ba5f7f5ba4a0f82d6dc5f6e
实验二源码:https://github.com/141211/sIoT-mqtt-/commit/16eeb5105870fd5051d3ee0192e58084b417b4cb