iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >ESP8266入门教程11:连接MQTT服务器
  • 330
分享到

ESP8266入门教程11:连接MQTT服务器

c++物联网单片机阿里云 2023-10-18 15:10:04 330人浏览 八月长安
摘要

将第三方库PubSubClient下载到lib文件夹 git clone https://GitHub.com/knolleary/pubsubclient.git 一、阿里云ioT使用 打开阿里云IOT官网,登录阿里云账号 http

将第三方库PubSubClient下载到lib文件夹

git clone https://GitHub.com/knolleary/pubsubclient.git

一、阿里云ioT使用

打开阿里云IOT官网,登录阿里云账号

https://iot.console.aliyun.com/

创建实例

新建产品

自定义主题

 5、添加设备

 6、查看设备配置

 

二、连接阿里云MQTT服务器

修改PubSubClient.h头文件,否则无法连接阿里云MQtT服务器

将MQTT_MAX_PACKET_SIZE的值改为1024

将MQTT_KEEPALIVE的值改为65

代码解析

第27行:创建WIFI客户端

第28行:创建MQTT客户端

第29行:创建任务对象

第30行:定义MQTT消息发送函数

第32行:发送消息前先判断MQTT服务器是否连接成功

第37行:发送MQTT消息

第47行:定义MQTT消息接收函数

第53行:定义MQTT服务器连接函数

第54行:请求连接MQTT服务器

第59行:订阅MQTT主题

第64行:开始定时任务,每隔三秒发送一条MQTT消息

第67行:结束定时任务

第82行:设置MQTT服务器主机地址和端口号

第84行:设置MQTT消息接收回调函数

第94行:保持MQTT客户端心跳,否则会连接中断

三、测试效果

四、完整代码

#include #include #include #include "../lib/pubsubclient/src/PubSubClient.h"#define WIFI_SSID "WWW"#define WIFI_PASS "00000000"#define MQTT_HOST "MQTT服务器地址"#define MQTT_PORT 1883#define MQTT_CLIENT_ID "MQTT客户端名称"#define MQTT_USER "MQTT用户名"#define MQTT_PASS "MQTT登录密码"void connectWIFI() {  // 连接WIFI热点  WiFi.begin(WIFI_SSID, WIFI_PASS);  int retryCount = 1;  while (WiFi.status() != WL_CONNECTED) {    Serial.println("重试次数: " + String(retryCount));    retryCount++;    delay(1000);  }  Serial.println("WIFI连接成功");  Serial.println("IP地址: " + WiFi.localIP().toString());}WiFiClient wifiClient;PubSubClient mqttClient(wifiClient);Ticker ticker;void sendMsg() {  if (mqttClient.connected()) {    String topic = "/a1aeNGS45Gg/";    topic += "ESP8266";    topic += "/user/info";    String payload = "Hello World !";    if (mqttClient.publish(topic.c_str(), payload.c_str())) {      Serial.println("MQTT消息发送成功");    } else {      Serial.println("MQTT消息发送失败");    }  } else {    Serial.println("MQTT服务器未连接");  }}void recvMsg(char *topic, uint8_t *payload, size_t length) {  Serial.println("topic: " + String(topic));  Serial.println("payload: " + String((char *)payload).substring(0, length));  Serial.println("length: " + String(length));}void connectMQTT() {  if (mqttClient.connect(MQTT_CLIENT_ID, MQTT_USER, MQTT_PASS)) {    Serial.println("MQTT服务器连接成功");    String topic = "/a1aeNGS45Gg/";    topic += "ESP8266";    topic += "/user/info";    if (mqttClient.subscribe(topic.c_str())) {      Serial.println("MQTT主题订阅成功");    } else {      Serial.println("MQTT主题订阅失败");    }    ticker.attach(3, sendMsg);  } else {    Serial.println("MQTT服务器连接失败");    ticker.detach();    delay(3000);  }}void setup() {  // put your setup code here, to run once:  // 设置波特率  Serial.begin(9600);  Serial.println();  // 连接WIFI热点  connectWIFI();  // 配置MQTT服务器  mqttClient.setServer(MQTT_HOST, MQTT_PORT);  // 设置回调函数  mqttClient.setCallback(recvMsg);  // 连接MQTT服务器  connectMQTT();}void loop() {  // put your main code here, to run repeatedly:  // 判断MQTT服务器是否连接成功  if (mqttClient.connected()) {    mqttClient.loop();  } else {    connectMQTT();  }}

来源地址:https://blog.csdn.net/qq_20147559/article/details/128517613

--结束END--

本文标题: ESP8266入门教程11:连接MQTT服务器

本文链接: https://www.lsjlt.com/news/431461.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ESP8266入门教程11:连接MQTT服务器
    将第三方库PubSubClient下载到lib文件夹 git clone https://github.com/knolleary/pubsubclient.git 一、阿里云IOT使用 打开阿里云IOT官网,登录阿里云账号 http...
    99+
    2023-10-18
    c++ 物联网 单片机 阿里云
  • esp8266模块--MQTT协议连接服务器实现数据接收和发送+源码
    首先推荐中国移动的代码,我觉得中国移动的代码更为合理:(但是有一些其他的模块在里面) OneNET开发板代码、资料--2020-09-27--标准板、Mini板bug修复 - 开发板专区 - OneNET设备云论坛 (10086.cn) 以...
    99+
    2023-09-20
    笔记 嵌入式硬件 stm32
  • 云服务器入门教程
    云服务器(Cloud Distributed Server,简称CDN)是一种基于互联网的云技术,它通过在互联网中创建一个虚拟服务器,可以将不同类型的计算资源(CPU、内存、磁盘)和网络资源(带宽、IP地址等)存储到该服务器上,从而使用户可...
    99+
    2023-10-26
    入门教程 服务器
  • Python入门教程||Python3 MySQL 数据库连接||
    Python3 MySQL 数据库连接 本文我们为大家介绍 Python3 使用 PyMySQL 连接数据库,并实现简单的增删改查。 什么是 PyMySQL? PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一...
    99+
    2023-09-22
    数据库 mysql python
  • pycharm连接服务器教程
    pycharm连接服务器有“操作步骤”、“连接步骤”和“代码运行”三个步骤:1、依次选择“setting"->“Project:…”->“Python Interpreter”下拉选择创建的编译环境;2、依次点击“Tools”->“Star...
    99+
    2023-12-11
    pycharm连接服务器 pycharm
  • 阿里云服务器入门教程
    阿里云服务器是一款云服务器软件,它具有高可靠性、高性能、易扩展等特点。以下是阿里云服务器入门教程的基本步骤: 选择一款云服务器软件:首先,您需要了解您的硬件配置和软件需求,例如CPU、内存、存储空间、带宽等。您可以通过以下链接了解该软件...
    99+
    2023-10-26
    阿里 入门教程 服务器
  • Java数据库连接池技术的入门教程
    池(Pool)技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销。数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库...
    99+
    2024-04-02
  • Tomcat服务器入门超详细教程
    目录一,Tomcat的一些概念–1,服务器–2,web服务器–3,Tomcat服务器二,使用Tomcat–1,下载安装–2,启动&关闭–3,测试三,Tomcat目录结构–1,...
    99+
    2024-04-02
  • 阿里云搭建mqtt服务器教程
    1. 什么是 MQTT MQTT(Message Queuing TelemetryTransport)是一种轻量级的物联网协议,用于在移动设备、嵌入式系统和云计算平台之间传输实时数据。它是基于发布/订阅模式的通信协议,可以实现高效、可靠的...
    99+
    2023-12-27
    阿里 服务器 教程
  • 云服务器连接外网教程
    1. 了解云服务器的基本概念和功能 云服务器是一种基于云计算技术的虚拟服务器,可以提供计算、存储和网络等资源。它可以通过互联网连接到外部网络,使用户能够远程访问和管理服务器上的文件和应用程序。 2. 获取云服务器的公网IP地址 在连接云服...
    99+
    2023-10-28
    服务器 教程
  • 手机连接云服务器教程
    如今,随着云计算技术的发展,越来越多的人开始使用云服务器来实现数据的存储、管理和应用。手机作为移动设备,可以轻松地通过云服务器存储和处理数据。在本文中,我将会介绍如何通过手机连接云服务器,以及如何将数据上传到云服务器中。 首先,我们需要将...
    99+
    2023-10-28
    服务器 教程 手机
  • 腾讯云服务器连接教程
    腾讯云服务器连接教程非常简单易懂,以下是一个简单的连接教程: 点击开始菜单,选择“控制面板”。 然后选择“管理工具”。 在管理工具中,您可以选择“服务器管理”,然后选择您的云服务器的名称以及您的计算机的IP地址。例如,如果您的计算机是在...
    99+
    2023-10-26
    腾讯 服务器 教程
  • 亚马逊服务器连接教程
    确保您的AWS账户已经创建,并将其添加到实例池中。 从AWS控制台中的“实例”页面中,选择要连接的AWS实例。 输入AWS用户名和密码,以连接到AWS实例。 输入您要使用的Linux服务器IP地址,以及要使用的SSH连接凭据。 输入您的用...
    99+
    2023-10-27
    亚马逊 服务器 教程
  • 入门级云服务器怎么用手机连接
    如果您是初学者,可以按照以下步骤连接到您的云服务器: 打开您设备上的浏览器,并使用您的手机或其他设备作为您云服务的连接端口:例如:https://yuncloud.cn/ 。 在云服务器的控制台中输入您的云服务账号和密码,点击连接按钮进...
    99+
    2023-10-26
    用手 入门级 服务器
  • 亚马逊服务器远程连接教程
    1. 创建亚马逊服务器实例 首先,你需要在亚马逊 AWS 上创建一个服务器实例。在 AWS 控制台中,选择 EC2 服务,然后点击“Launch Instance”按钮。选择你需要的操作系统和实例类型,然后按照向导完成实例的创建。 2. ...
    99+
    2023-10-27
    亚马逊 服务器 教程
  • 阿里云服务器远程连接教程
    1. 登录阿里云控制台 首先,登录阿里云控制台,进入云服务器 ECS 管理页面。 2. 获取登录密码 在 ECS 管理页面,找到需要远程连接的服务器实例,点击“远程连接”按钮,选择“使用密码连接”。 系统会自动生成一个初始密码,点击“获取...
    99+
    2023-10-27
    阿里 服务器 教程
  • PyCharm连接远程服务器详细教程
    看完本篇文章你可以: 同步本地和服务器的全部或者部分文件本地debug,服务器跑实验 在这之前你要确保 服务器上已经创建好虚拟环境你本地已经安装好pycharm 那我们开始吧😄 pycharm 2022.2 文章2022....
    99+
    2023-08-21
    pycharm 服务器 python
  • 阿里云服务器ssh连接教程
    阿里云服务器SSH连接是在使用云服务器进行远程连接时需要进行的基本操作。下面是一些常用的SSH连接教程: 准备连接配置文件。阿里云服务器SSH连接的配置文件通常是.conf,其中应该包含以下内容: Server name:服务器名(...
    99+
    2023-10-26
    阿里 服务器 教程
  • 阿里云服务器ecs入门认证教程
    阿里云服务器ECS认证考试通常需要通过以下步骤:了解考试类型和报名条件:报名参加认证考试前,请务必了解自己是否具备参加该认证考试的资格。认证考试的种类有很多种,例如:SQL、数据库、云服务器等。准备考试相关资料:准备考试相关资料,例如参考书...
    99+
    2023-10-26
    阿里 入门 服务器
  • 入门级云服务器怎么用手机连接的
    如果您是初学者,并且已经了解了如何使用云服务器,那么您可以使用手机来连接云服务器。您可以使用手机中的应用程序应用程序来连接云服务器。以下是您可以尝试的几种方法: 下载并安装应用程序:在您的手机上下载应用程序应用程序,如 Google C...
    99+
    2023-10-26
    用手 入门级 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作