实现Easy IoT上MQTT消息的通讯
程序员文章站
2022-06-09 08:55:56
...
1、图形化编程代码块
2、Arduino C 代码
/*!
* MindPlus
* mpython
*
*/
#include <MPython.h>
#include <DFRobot_Iot.h>
// 函数声明
void obloqMqttEventT1(String& message);
// 静态常量
const String topics[5] = {"Qq_qcBjZR","l0NalW7GR","","",""};
const MsgHandleCb msgHandles[5] = {NULL,obloqMqttEventT1,NULL,NULL,NULL};
// 创建对象
DFRobot_Iot myIot;
// 主程序开始
void setup() {
mPython.begin();
myIot.setMqttCallback(msgHandles);
myIot.wifiConnect("DESKTOP-RS229GR 3737", "19990327");
display.setCursorLine(1);
display.printLine("连接ing");
while (!myIot.wifiStatus()) {yield();}
display.fillScreen(0);
display.setCursorLine(1);
display.printLine("WiFi连接成功");
display.setCursorLine(2);
display.printLine(myIot.getWiFiLocalIP());
delay(1000);
myIot.init("iot.dfrobot.com.cn","US5XFBCWg","","UI5uFBCZRz",topics,1883);
myIot.connect();
while (!myIot.connected()) {yield();}
display.setCursorLine(3);
display.printLine("MQTT连接成功");
}
void loop() {
if ((touchPadP.isTouched())) {
myIot.publish(topic_0, "黄永迪 2018A14101");
}
}
// 事件回调函数
void obloqMqttEventT1(String& message) {
display.fillScreen(0);
display.setCursorLine(2);
display.printLine(message);
}
3、实现效果图
甲按A键发送消息至topic1,同时监听topic0,
乙监听topic1,接收到甲的消息后按触摸P键回复消息给topic0: