欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实现Easy IoT配置以及实现Easy IoT上mqtt消息的通讯

程序员文章站 2022-03-13 17:32:30
...

一、实验目的及要求

【实验一】实现Easy IoT配置。
【实验二】实现Easy IoT上mqtt消息的通讯。

二、实验原理与内容

实现mind+下Easy IoT上mqtt消息的通讯。

三、实验软硬件环境

硬件:掌控板
软件:Mind+

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

1.在http://iot.dfrobot.com.cn上注册账户,注册成功后点击工作间,并点击添加新设备
实现Easy IoT配置以及实现Easy IoT上mqtt消息的通讯
2.在Mind+中先连接WIFI,再连接MQTT(MQTT是基于客户端-服务器的消息发布/订阅传输协议)
(1)设置按“A”时连接WIFI,若连接成功便在显示器第一行显示“WiFi连接成功”;
(2)设置按“B”时连接MQTT,连接MQTT的过程:
①初始化MQTT,填写账户所给的lot_id及lot_pwd,以及添加的两个设备的topic;
实现Easy IoT配置以及实现Easy IoT上mqtt消息的通讯
②MQTT发起连接;
③若MQTT连接成功,则“1”灯亮起且屏幕第二行显示“MQTT连接成功”,与此同时,如果接受到Topic_0发来的消息,显示在屏幕的第三行,并且回复消息至Topic_1中,并将回复的内容显示在第四行。
3.在Mind+中的运行:

实现Easy IoT配置以及实现Easy IoT上mqtt消息的通讯

// 主程序开始
void setup() {
    mPython.begin();
    myIot.setMqttCallback(msgHandles);
}
void loop() {
    while (!(buttonA.isPressed())) {yield();}
    myIot.wifiConnect("dyj", "12345678");
    while (!myIot.wifiStatus()) {yield();}
    display.setCursorLine(1);
    display.printLine("Wifi连接成功");
    if ((buttonB.isPressed())) {
        myIot.init("iot.dfrobot.com.cn","KL7o5mFMR","","FL7TcmKGgz",topics,1883);
        myIot.connect();
        while (!myIot.connected()) {yield();}
        rgb.write(1, 0xFF0000);
        display.setCursorLine(2);
        display.printLine("MQTT连接成功");
    }
}

并发线程:
实现Easy IoT配置以及实现Easy IoT上mqtt消息的通讯

// 事件回调函数
void obloqMqttEventT0(String& message) {
    display.setCursorLine(3);
    display.printLine(message);
    myIot.publish(topic_1, "I'm fine");
    rgb.write(2, 0x33CC00);
}

4.运行结果:
(1)WiFi连接成功:
实现Easy IoT配置以及实现Easy IoT上mqtt消息的通讯

(2)MQTT连接成功并相互通信
实现Easy IoT配置以及实现Easy IoT上mqtt消息的通讯

五、实验结论与体会

本次实验是关于实现Easy IoT配置以及实现Easy IoT上mqtt消息的通讯。经过老师的讲解后有点懵懵懂懂,但自己动手起来,再根据老师所给的思路,就好了很多。但还是遇到了些问题。一开始连接WIFI使用电脑的热点,但不知为何连接不上,后来使用手机的热点,终于连接上了,但每次重新“上传到设备”后,第一次点击时又断开了WIFI,需点击第二次才能成功连接;还好MQTT的连接比较顺利,综合来说较顺利。

相关标签: 物联网