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 表示保留消息。保留的消息可以被新订阅该主题的客户端接收到。
相关推荐
半桔20 小时前
【网络编程】从数据链路层帧头到代理服务器:解析路由表、MTU/MSS、ARP、NAT 等网络核心技术
linux·运维·服务器·网络
ZLRRLZ21 小时前
【ProtoBuffer】protobuffer的安装与使用
服务器·网络
像素之间1 天前
HTTP之content-disposition
网络·网络协议·http
2501_915909061 天前
tcpdump 抓包数据分析实战,命令、过滤、常见故障定位与真机补充流程
网络·测试工具·ios·小程序·uni-app·iphone·tcpdump
路由侠内网穿透1 天前
本地部署开源持续集成和持续部署系统 Woodpecker CI 并实现外部访问
服务器·网络·windows·ci/cd·开源
文火冰糖的硅基工坊1 天前
[嵌入式系统-100]:常见的IoT(物联网)开发板
人工智能·物联网·架构
沐欣工作室_lvyiyi1 天前
基于物联网的体温心率监测系统设计(论文+源码)
单片机·物联网·毕业设计·体温心率检测
光储圈1 天前
光伏安全协议-安全责任协议书8篇
网络·安全
时空潮汐1 天前
神卓 N600:内网穿透需求的高效安全之选
网络·安全·群晖nas·神卓n600
爱倒腾的老唐1 天前
24、Linux 路由管理
linux·运维·网络