一、实验目的及要求
【实验一】实现sIoT配置并实现sIoT上mqtt消息的通讯。
【实验二】通过AppInventor结合sIoT实现手机app控制掌控板的灯和显示内容。
二、实验原理与内容
sIoT可以在局域网上实现mqtt消息的通讯。借助sIoT可以通过手机app实现局域网内的设备操控。
三、实验软硬件环境
硬件:掌控板
软件:Mind+
四、实验过程
【实验一】
1、先下载SIoT1.2,打开运行,如下图所示。
2、打开命令行提示符,得知本电脑的ip地址,打开浏览器,输入(本机ip地址+:8888),输入用户名和密码,创建两个项目。
3、打开mind+与掌控版连接,在扩展板选择掌控板,在网络服务中选择WIFI和MQTT.
4、编写代码:
核心代码:
/*!
* MindPlus
* mpython
*
*/
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT0(String& message);
// 静态常量
const String topics[5] = {
"lf/1号","lyz/1号","","",""};
const MsgHandleCb msgHandles[5] = {
obloqMqttEventT0,NULL,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;
// 主程序开始
void setup() {
mPython.begin();
myIot.setMqttCallback(msgHandles);
display.setCursor(42, 22);
display.print("Mind+");
myIot.wifiConnect("abc", "123456..");
while (!myIot.wifiStatus()) {
yield();}
display.fillScreen(0);
display.setCursor(42, 22);
display.print("连接成功");
myIot.init("192.168.137.1","602","","iot", topics, 1883);
myIot.connect();
while (!myIot.connected()) {
yield();}
display.setCursor(42, 22);
display.print("MQTT连接成功");
delay(1000);
}
void loop() {
if ((buttonA.isPressed())) {
myIot.publish(topic_0, "hello");
display.setCursor(42, 22);
display.print("发送成功");
}
}
// 事件回调函数
void obloqMqttEventT0(String& message) {
display.setCursor(42, 22);
display.print(message);
}
将代码上传到设备,连接WIFI 成功后,按下A键发送信息并接受伙伴的信息。
5、实验效果: