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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 11758|回复: 7

ESP8266+Arduino实现MQTT通讯

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

[mw_shl_code=arduino,true]/*
    项目名称: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();
}

[/mw_shl_code]



发表于 2020-4-20 23:11 | 显示全部楼层
请问你硬件是怎么连接的呢?用的是UNO 的0、1吗,如果用软串口的话怎么设置呢
发表于 2020-5-31 10:51 | 显示全部楼层
学习一下,谢谢
发表于 2020-6-2 16:13 | 显示全部楼层
esp32能用不?
发表于 2020-12-2 18:06 | 显示全部楼层
你好,遇到点问题能请教一下?QQ:190322463
问题如何显示MQTT信息传送的HEX格式的数据?
发表于 2020-12-18 16:51 | 显示全部楼层
实测可以使用 函数封装得不错 简洁 ,如果wifi账户和密码可以单独出来连接就完美 因为很多时候需要智能配网
发表于 2021-10-5 23:32 | 显示全部楼层
看起来确实简单多了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 10:45 , Processed in 0.085837 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表