实现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上注册账户,注册成功后点击工作间,并点击添加新设备
2.在Mind+中先连接WIFI,再连接MQTT(MQTT是基于客户端-服务器的消息发布/订阅传输协议)
(1)设置按“A”时连接WIFI,若连接成功便在显示器第一行显示“WiFi连接成功”;
(2)设置按“B”时连接MQTT,连接MQTT的过程:
①初始化MQTT,填写账户所给的lot_id及lot_pwd,以及添加的两个设备的topic;
②MQTT发起连接;
③若MQTT连接成功,则“1”灯亮起且屏幕第二行显示“MQTT连接成功”,与此同时,如果接受到Topic_0发来的消息,显示在屏幕的第三行,并且回复消息至Topic_1中,并将回复的内容显示在第四行。
3.在Mind+中的运行:
// 主程序开始
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连接成功");
}
}
并发线程:
// 事件回调函数
void obloqMqttEventT0(String& message) {
display.setCursorLine(3);
display.printLine(message);
myIot.publish(topic_1, "I'm fine");
rgb.write(2, 0x33CC00);
}
4.运行结果:
(1)WiFi连接成功:
(2)MQTT连接成功并相互通信
五、实验结论与体会
本次实验是关于实现Easy IoT配置以及实现Easy IoT上mqtt消息的通讯。经过老师的讲解后有点懵懵懂懂,但自己动手起来,再根据老师所给的思路,就好了很多。但还是遇到了些问题。一开始连接WIFI使用电脑的热点,但不知为何连接不上,后来使用手机的热点,终于连接上了,但每次重新“上传到设备”后,第一次点击时又断开了WIFI,需点击第二次才能成功连接;还好MQTT的连接比较顺利,综合来说较顺利。
下一篇: 任务12:中断与定时器