ESP8266+Arduino实现MQTT通讯-Arduino中文社区 - Powered by Discuz! Archiver

内含子only 发表于 2019-3-26 19:52

ESP8266+Arduino实现MQTT通讯

最近一直在搞MQTT通讯,Arduino创建MQTT客户端更加便捷,编写了ESP8266MQTT库,由开源库PubSubClient(PubSubClient)二次开发而来,相对于PubSubClient重新封装了一些函数,方便使用。为方便大家更好的运用PubSubClient库,我也编写了PubSubClient的中文文档,大家可以参考使用。下载地址:https://github.com/zy19970/ESP8266MQTT   下载完毕可以直接导入Arduino IDE 使用。
下面是示例代码。

/*
    项目名称:ESP8266MQTT库示例
    版本号:v1.0
    修改时间:2019.03.19
    使用开发板:WiFiduino(Arduino UNO+ESP8266)
    知识产权归 InTron™版权所有©保留权力。
*/

#include "ESP8266MQTT.h"

void onConnectionEstablished();

ESP8266MQTT client(
"ssid",             // Wifi ssid
"pass",             // Wifi password
"192.168.1.101",    // MQTT broker ip
1883,               // MQTT broker port
"usr",            // MQTT username
"mqttpass",         // MQTT password
"test1",            // Client name
onConnectionEstablished, // Connection established callback
true,               // Enable web updater
true                // Enable debug messages
);



void setup()
{
Serial.begin(115200);
}



void onConnectionEstablished()
{
// 订阅主题并且将该主题内收到的消息通过串口发送
client.subscribe("mytopic/test", [](const String &payload) {
    Serial.println(payload);//此处可以编写一个函数来代替
});

// 向某个主题发送消息
client.publish("mytopic/test", "This is a message");

}

void loop()
{
client.loop();
}





pkh 发表于 2020-4-20 23:11

请问你硬件是怎么连接的呢?用的是UNO 的0、1吗,如果用软串口的话怎么设置呢

YGCall 发表于 2020-5-9 00:16

本帖最后由 YGCall 于 2020-5-10 20:46 编辑

谢谢大佬

ceshi2019 发表于 2020-5-31 10:51

学习一下,谢谢

savagego 发表于 2020-6-2 16:13

esp32能用不?

hta_zjq 发表于 2020-12-2 18:06

你好,遇到点问题能请教一下?QQ:190322463
问题如何显示MQTT信息传送的HEX格式的数据?

jianfengbeyond 发表于 2020-12-18 16:51

实测可以使用 函数封装得不错 简洁 ,如果wifi账户和密码可以单独出来连接就完美 因为很多时候需要智能配网

ws9528 发表于 2021-10-5 23:32

看起来确实简单多了
页: [1]
查看完整版本: ESP8266+Arduino实现MQTT通讯