实验一 Easy IoT实现mqtt通信实验
一、实验目的二、 实验内容三、实验软硬件环境四、实验过程1、准备工作2、实现Easy IoT配置3、实现Easy IoT上mqtt消息的通讯4、实验效果图5、实验结论与体会一、实验目的
【实验一】实现Easy IoT配置。
【实验二】实现Easy IoT上mqtt消息的通讯。
二、 实验内容
实现mind+下Easy IoT上mqtt消息的通讯。
三、实验软硬件环境
硬件:掌控板
软件:Mind+
四、实验过程
1、准备工作
1.1首先进入DFROBOT注册一个EasyLoT账号。 点我注册
1.2注册完之后,登录,点击顶部菜单栏中的工作间,进入到Easy IoT配置界面。
2、实现Easy IoT配置
在工作间里新建两个设备,一个用于接收信息,另一个用于监听信息。具体如下图所示:
3、实现Easy IoT上mqtt消息的通讯
3.1 图形化代码块
3.2 MQTT初始化参数
3.3 C语言代码
/*!* MindPlus* mpython**/#include <MPython.h>#include <DFRobot_Iot.h>// 函数声明void obloqMqttEventT1(String& message);// 静态常量const String topics[5] = {"9nKhciKMR","rUw0ciFGg","","",""};const MsgHandleCb msgHandles[5] = {NULL,obloqMqttEventT1,NULL,NULL,NULL};// 创建对象DFRobot_Iot myIot;// 主程序开始void setup() {mPython.begin();myIot.setMqttCallback(msgHandles);}void loop() {if ((buttonA.isPressed())) {rgb.write(0, 0xFF0000);display.setCursorLine(1);display.printLine("Wait。。。");myIot.wifiConnect("华为9", "ou000926");while (!myIot.wifiStatus()) {yield();}rgb.write(1, 0x00FF00);display.setCursorLine(1);display.printLine("Wi-Fi连接成功!");display.setCursorLine(2);display.printLine(myIot.getWiFiLocalIP());myIot.init("","tA25hgFMR","","tAh5hRKGgz",topics,1883);myIot.connect();while (!myIot.connected()) {yield();}buzz.play(JUMP_UP, Once);rgb.write(2, 0x0000FF);display.setCursorLine(1);display.printLine("MQTT连接成功!");myIot.publish(topic_0, "阿伟出来走一下流程!");}}// 事件回调函数void obloqMqttEventT1(String& message) {display.setCursorLine(1);display.printLine(message);delay(10000);rgb.write(-1, 0x000000);}
4、实验效果图
我的掌控板
我搭档的掌控板
5、实验结论与体会
实验结果如实验效果图所示,我搭档的掌控板能收到来自Topic_0所发送的信息,我的掌控板也能监听到来自Topic_1的信息。通过这次实验,我掌握了Easy IoT的配置以及如何在Easy IoT上实现mqtt消息的通讯,要使得两个掌控板相互连接,在MQTT初始化参数时要使用相同的Iot_id和Iot_pwd,同时要创建两个Topic,一个用来发送信息,一个用来接收信息,在两个掌控板相连时,使用不同的Topic进行发送或接收信息,例如我使用Topic_0发送信息,Topic_1接收信息,我的搭档则使用Topic_0接收,Topic_1发送。