ESP8266用AT指令实现连接MQTT

news2024/9/21 14:42:17

1准备工作

硬件(ESP8266)连接电脑

硬件已经烧入了MQTT透传固件

2实现连接

2-1(进入AT模式)

打开串口助手发送如下指令

AT

2-2(复位)

AT+RST

2-3(开启DHCP,自动获取IP)

AT+CWDHCP=1,1

这个指令的具体含义如下:

  • AT+CWDHCP 是设置DHCP的指令。
  • 1 表示操作的Wi-Fi接口。在ESP8266中,通常1代表station模式(即客户端模式)。
  • 1 表示启用DHCP。

2-4(设置为station模式)

AT+CWMODE=1

AT+CWMODE指令还支持以下参数:

  • 1:Station模式(STA模式)
  • 2:SoftAP模式(AP模式),ESP8266作为热点,其他设备可以连接到它
  • 3:Station和SoftAP共存模式(STA+AP模式),ESP8266既作为客户端连接到Wi-Fi网络,也作为热点供其他设备连接

2-5(连接WiFi)

AT+CWJAP="lid","110120119"

这个指令的具体含义如下:

  • AT+CWJAP 是连接到一个Wi-Fi网络的指令。
  • "lid" 是您想要连接的Wi-Fi网络的SSID(网络名称)。
  • "110120119" 是该Wi-Fi网络的密码。

2-6(配置MQTT用户信息)

AT+MQTTUSERCFG=0,1,"username","password","client_id",0,0,""

这个指令的具体含义如下:

  • AT+MQTTUSERCFG 是配置MQTT用户信息的指令。
  • 0 是配置的ID号。ESP8266支持多个MQTT配置,这个参数用于标识配置的索引。
  • 1 是指示MQTT版本,1 表示MQTT 3.1.1。
  • "username" 是MQTT服务器的用户名。
  • "password" 是MQTT服务器的密码。
  • "client_id" 是MQTT客户端的ID,用于标识客户端。
  • 0 是指示是否清除会话。0 表示不清除会话,1 表示清除会话。
  • 0 是指示是否使用SSL连接。0 表示不使用SSL,1 表示使用SSL。
  • 最后一个参数是一个空字符串,通常用于指定遗嘱消息的主题,在这里留空表示不使用遗嘱消息。

2-7(连接MQTT)

AT+MQTTCONN=0,"IP",端口,1

这个指令的具体含义如下:

  • AT+MQTTCONN 是用于连接到MQTT服务器的指令。
  • 0 是之前使用 AT+MQTTUSERCFG 指令配置的MQTT配置的ID号。这里应该与 AT+MQTTUSERCFG 指令中使用的ID号一致。
  • IP: 是MQTT服务器的域名或IP地址。
  • 端口号: 是MQTT服务器监听的端口号。
  • 1 表示连接的清晰会话标志。1 表示清除会话,意味着服务器将清除之前的所有订阅信息;0 表示不清除会话。

2-8(订阅信息)

AT+MQTTSUB=0,"WF1",1

这个指令的具体含义如下:

  • AT+MQTTSUB 是用于订阅MQTT主题的指令。
  • 0 是之前使用 AT+MQTTCONN 指令连接到MQTT服务器时指定的连接ID。这个ID应该与 AT+MQTTCONN 指令中使用的ID一致。
  • "WF1" 是你想要订阅的MQTT主题名称。
  • 1 是指定订阅的消息服务质量(QoS)等级。在这里,1 表示至少一次交付(至少交付一次,可能会重复)。

2-9(发布信息)

AT+MQTTPUB=0,"WF1","message",1,0

这个指令的具体含义如下:

  • AT+MQTTPUB 是用于发布MQTT消息的指令。
  • 0 是之前使用 AT+MQTTCONN 指令连接到MQTT服务器时指定的连接ID。这个ID应该与 AT+MQTTCONN 指令中使用的ID一致。
  • "WF1" 是你想要发布消息的MQTT主题名称。
  • "message" 是你想要发布的消息内容。
  • 1 是指定发布消息的消息服务质量(QoS)等级。在这里,1 表示至少一次交付(至少交付一次,可能会重复)。
  • 0 是指定是否保留消息的标志。0 表示不保留消息,1 表示保留消息。保留的消息可以被新订阅该主题的客户端接收到。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1947261.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot+Vue(3)Excel的在线预览

一、思路 在Spring Boot和Vue.js的组合中实现Excel文件的在线预览功能,通常涉及到几个关键步骤:文件上传、文件存储、文件读取、以及通过前端展示Excel内容。由于Excel文件本身不是直接可以在网页上渲染的格式,我们通常需要将Excel文件转换为…

vue3创建vite项目

一、创建vue3 vite项目: 命令行创建:npm create vitelatest vue3-tdly-demo -- --template vue (1)先进入项目文件夹,cd vue3-tdly-demo (2)之后执行, npm install (3)最后运行,npm run dev 将main.js文件内容改成…

ML.NET:一个.NET开源、免费、跨平台的机器学习框架

前言 今天大姚给大家分享一个.NET开源、免费、跨平台(支持Windows、Linux、macOS多个操作系统)的机器学习框架:ML.NET。并且本文将会带你快速使用ML.NET训练一个属于自己的图像分类模型,对图像进行分类。 ML.NET框架介绍 ML.NET…

计算机网络之网络基础(含图解和知识点思维导图通俗易懂)

绪论​ “一个人在科学探索的道路上,走过弯路,犯过错误,并不是坏事,更不是什么耻辱,要在实践中勇于承认和改正错误。——爱因斯坦”。本章将是网络的第一章,计算机网络是我们计算机行业必须了解并掌握的知识…

Linux中的fopen,fclose,fread,fwrite,fseek相关函数的知识点

这几个函数都是标准的c库函数,在man 2中查找不到,所以我们可以利用man 手册直接查找 对应的open,close,write,fread都是Linux系统内核调用 可移植性:fopen 强过于 open ... fopen 在用户态是缓存的 open 在用户态是没有缓存的 fopen函数 f…

TCP粘包问题详解和解决方案【C语言】

1.什么是TCP粘包 TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输协议,它保证了数据的可靠性和顺序性。然而,由于TCP是基于字节流而不是消息的,因此在传输过…

javaEE-01-tomcat

文章目录 javaWebTomcat启动 Tomcat 服务器测试服务器是否成功停止tomcat服务器修改服务器的端口号 Idea整合tomcat服务器 javaWeb 所有通过 Java 语言编写可以通过浏览器访问的程序的总称,是基于请求和响应来开发的。 请求: 客户端给服务器发送数据(Request)响应: 服务器给客…

LINUX环境下使用yum安装JDK1.8并配置环境变量

LINUX环境下使用yum安装JDK1.8并配置环境变量 1.查看CentOS自带JDK是否已安装 yum list installed |grep java2.批量卸载JDK rpm -qa | grep java | xargs rpm -e --nodeps3.直接yum安装1.8.0版本openjdk(其他版本请自行修改版本号) yum install java-1.8.0-openjdk* -y4.默…

4 Go语言的操作符

本专栏将从基础开始,循序渐进,由浅入深讲解Go语言,希望大家都能够从中有所收获,也请大家多多支持。 查看相关资料与知识库 专栏地址:Go专栏 如果文章知识点有错误的地方,请指正!大家一起学习,…

智慧园区整体一站式解决方案(PPT原件完整版)

软件全套资料部分文档清单: 工作安排任务书,可行性分析报告,立项申请审批表,产品需求规格说明书,需求调研计划,用户需求调查单,用户需求说明书,概要设计说明书,技术解决方…

SQL labs-SQL注入(四,sqlmap对于post传参方式的注入)

本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 序言:本文主要讲解基于SQL labs靶场,sqlmap工具进行的post传参方式的SQL注入。 传参方式有两类,一类是直接在url栏内进行url编码后进行的传参&am…

批量打断相交线——ArcGIS 解决方法

在数据处理,特别是地理空间数据处理或是任何涉及图形和线条分析的场景中,有时候需要把相交的线全部从交点打断一个常见的需求。这个过程对于后续的分析、编辑、或是可视化展现都至关重要,因为它可以确保每条线都是独立的,避免了因…

LabVIEW放大器自动测量系统

开发了一个基于LabVIEW平台的多路前置放大器自动测量系统的开发与实施。该系统集成了硬件控制与软件编程,能够实现放大器各项性能指标的快速自动测量,有效提高了测试的精确性和效率。系统设计采用了虚拟仪器技术,结合了先进的测量与控制策略&…

Redis 7.x 系列【30】集群管理命令

有道无术,术尚可求,有术无道,止于术。 本系列Redis 版本 7.2.5 源码地址:https://gitee.com/pearl-organization/study-redis-demo 文章目录 1. 概述2. 集群信息2.1 CLUSTER INFO 3. 节点管理3.1 CLUSTER MYID3.2 CLUSTER NODES3…

UI界面卡顿检测工具--UIHaltDetector

引言: 在日常工作当中,我们经常会遇到软件的界面出现卡顿的问题,而为了确定卡顿原因,我特地写了一个UI界面卡顿的小工具:UIHaltDetector;该工具可以在检测到目标窗口出现卡顿的时候直接打印堆栈日志和输出…

Windows系统安全加固方案:快速上手系统加固指南 (下)

这里写目录标题 一、概述二、IP协议安全配置启用SYN攻击保护 三、文件权限3.1 关闭默认共享3.2 查看共享文件夹权限3.3 删除默认共享 四、服务安全4.1禁用TCP/IP 上的NetBIOS4.2 ### 禁用不必要的服务 五、安全选项5.1启动安全选项5.2禁用未登录前关机 六、其他安全配置**6.1防…

基于 HTML+ECharts 实现的数据可视化大屏案例(含源码)

数据可视化大屏案例:基于 HTML 和 ECharts 的实现 数据可视化已成为企业决策和业务分析的重要工具。通过直观、动态的图表展示,数据可视化大屏能够帮助用户快速理解复杂的数据关系,发现潜在的业务趋势。本文将介绍如何利用 HTML 和 ECharts 实…

基于JAVA+SpringBoot+Vue的前后端分离的医院后勤管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 医院后勤管理系统是一…

LLama 405B 技术报告解读

LLama 405B 技术报告解读 果然传的消息都是真的,meta在24号凌晨发布了llama 3的405B版本,这次还是做一个技术报告解读。 值得一提的是,在技术报告的开头,meta特意强调了一个 Managing complexity,大意是管控复杂度。…

echarts实现在市级行政区点击县级行政区,显示单个县级行政区地图数据

因需兼容ie,此处所有变量声明都用var。如无需支持,可另做let修改。 这里以常州市为例,我们可以去阿里云提供的地理工具去截取地图json数据DataV.GeoAtlas地理小工具系列 点击所选区域,右侧会对应显示json数据,再次点击右侧红框内…