ESP8266用AT指令实现连接MQTT

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.rhkb.cn/news/384168.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java二十三种设计模式-代理模式模式(8/23)

代理模式:为对象访问提供灵活的控制 引言 代理模式(Proxy Pattern)是一种结构型设计模式,它为其他对象提供一个代替或占位符,以控制对它的访问。 基础知识,java设计模式总体来说设计模式分为三大类&#…

基于 HTML+ECharts 实现智慧运维数据可视化大屏(含源码)

智慧运维数据可视化大屏:基于 HTML 和 ECharts 的实现 在现代企业中,运维管理是确保系统稳定运行的关键环节。随着数据量的激增,如何高效地监控和分析运维数据成为了一个重要课题。本文将介绍如何利用 HTML 和 ECharts 实现一个智慧运维数据可…

14、如何⽤DDD设计微服务代码模型

在完成领域模型设计后,接下来我们就可以开始微服务的设计和 落地了。在微服务落地前,⾸先要确定微服务的代码结构,也就是我 下⾯要讲的微服务代码模型。 只有建⽴了标准的微服务代码模型和代码规范后,我们才可以将 领域对象映射到…

【Rust】所有权OwnerShip

什么是所有权 rust使用由编译器检查的一些规则构成的所有权系统来管理内存。且这不会影响程序的运行效率。 所有权规则 rust中每一个每一个值都有一个owner。在同一时刻,只能有一个owner。当这个owner超过范围,则该值会被丢弃。 String类型 为什么需…

全链路追踪 性能监控,GO 应用可观测全面升级

作者:古琦 01 介绍 随着 Kubernetes 和容器化技术的普及,Go 语言不仅在云原生基础组件领域广泛应用,也在各类业务场景中占据了重要地位。如今,越来越多的新兴业务选择 Golang 作为首选编程语言。得益于丰富的 RPC 框架&#xff…

虚拟机centos9搭建wordpress

目录 1. 更换yum源更新系统软件包: 1.1备份yum源 1.1.1创建备份目录: 1.1.2移动现有仓库配置文件到备份目录: 1.1.3验证备份: 1.2更换yum源 1.2.1添加yum源 1.2.2删除和建立yum缓存 1.3更新系统软件包 1.4 yum与dnf介绍…

单元测试的最佳实践

整体架构 合适的架构可以提升可测试性。比如菱形对称架构的模块化和解耦特性使得系统各个部分可以独立进行单元测试。这不仅提高了测试的效率,还能够减少测试的依赖性,提高测试准确性。 代码设计 代码设计和可测试性有密切关联。强烈建议一个方法的代码行…

Docker 安全及日志管理(包含SSL证书)

目录 一、Docker 存在的安全问题 二、Docker 架构缺陷与安全机制 三、Docker 安全基线标准 四、容器相关的常用安全配置方法 五、限制流量流向 六、镜像安全 七、DockerClient 端与 DockerDaemon 的通信安全 https的单向认证流程 https的双向认证流程 八、DockerClie…

Qt 使用视口和窗口作图

物理坐标系与逻辑坐标系 绘图设备的物理坐标系是基本的坐标系,通过 QPainter 的平移、旋转等坐标变换可以得到更容 易操作的逻辑坐标系。 物理坐标系也称为视口(viewport)坐标系,逻辑坐标系也称为窗口( window&…

USB转多路串口-纯硬件实现串口数据传输指示灯电路

前言 串口相关产品往往要求有数据收发时LED闪烁,我们经常会用软件实现,在MCU内注册一个定时器,有数据发送时就闪烁一段时间。软件点灯这种方式存在两个缺陷,一是接收方向不好实现;二是定时器一般用固定频率&#xff0…

谷粒商城实战笔记-63-商品服务-API-品牌管理-OSS获取服务端签名

文章目录 一,创建第三方服务模块thrid-party1,创建一个名为gulimall-third-party的模块2,nacos上创建third-party命名空间,用来管理这个服务的所有配置3,配置pom文件4,配置文件5,单元测试6&…

Selenium 的使用

selenium 是一个自动化测试工具,利用它可以驱动浏览器完成特定的操作,例如点击,下拉等,还可以获取浏览器当前呈现的页面的源代码,做到所见即所爬,对于一些 JavaScript 动态渲染的界面来说,这种爬…

封装和桥接Unity 协程体系

简介 协程(Coroutine)在C#中是一种特殊的函数,它允许开发者编写可以暂停执行并在未来某个时刻恢复执行的代码块。协程通常用于实现异步操作,如延时执行、等待某个事件发生、或者分段执行复杂的任务。在Unity游戏引擎中&#xff0c…

算法之递归算法

递归是非常常见的一种算法, 也比较难以理解,简而言之,递归就是写了一个方法,方法中还调用了该方法,相当于自己调用自己,如果书写不当,就会有堆栈溢出的风险,无法跳出。 所以我们编写…

内网对抗-隧道技术篇防火墙组策略HTTP反向SSH转发出网穿透CrossC2解决方案

知识点: 1、C2/C2上线-CrossC2插件-多系统平台支持 2、隧道技术篇-应用层-SSH协议-判断&封装&建立&穿透 3、隧道技术篇-应用层-HTTP协议-判断&封装&建立&穿透隧道技术主要解决网络通讯问题:遇到防火墙就用隧道技术,…

深入分析 Android ContentProvider (五)

文章目录 深入分析 Android ContentProvider (五)ContentProvider 的性能优化和实践案例1. 性能优化技巧1.1. 数据库索引优化示例:添加索引 1.2. 批量操作与事务管理示例:批量插入操作 1.3. 使用异步操作示例:使用 AsyncTask 进行异步查询 1.…

手持式气象检测设备:便携科技,气象探测

一、手持式气象检测设备:小巧身躯,大能量 手持式气象检测设备,顾名思义,是一种可以手持操作的气象监测工具。它集成了温度、湿度、气压、风速风向等多种传感器,能够实时获取气象数据,并通过显示屏或手机APP…

如何快速抓取小红书帖子评论?两大实战Python技巧揭秘

摘要: 本文将深入探讨两种高效的Python方法,助您迅速获取小红书文章下方的所有评论,提升市场分析与用户洞察力。通过实战示例与详细解析,让您轻松掌握数据抓取技巧,为您的内容营销策略提供有力支持。 如何快速抓取小…

上传项目到GitHub

上传项目到GitHub 前期工作:创建GitHub仓库 1.使用git命令初始化文件夹 git init2.将文件夹里面所有的文件添加到本地仓库,如果想添加单个文件,将.换成文件名就好。 git add .3.给文件备注,双引号里面是文件备注的内容 git c…

监控系列(八)部署dameng_exporter并对接prometheus

一、下载dameng_exporter采集器 官网地址:https://github.com/gaoyuan98/dameng_exporter DM数据库适配prometheus监控的采集器,目前已支持DM8数据库同时提供grafana 8.5.X 以上版本的监控面板(其他的grafana版本需要自己绘制表盘&#xff…