ESP32烧录AT固件并进行MQTT通讯

首先下载AT固件

发布的固件 - ESP32 - — ESP-AT 用户指南 latest 文档

下载烧录工具

下载指导 - ESP32 - — ESP-AT 用户指南 latest 文档

烧录后注意usb的串口是不能发AT指令的

需要用16和17脚

用AT指令确认OK后连WIFI

AT+CWMODE=1            //设置客户端模式
AT+CWLAP                        //搜索WIFI
AT+CWJAP="WIFI名","密码" //连接wifi
AT+CIPSTA?                      //获取IP

去ThingsBoard在线版创建一个设备并获取id

https://thingsboard.cloud/

进连接测试界面复制这条测试命令

mosquitto_pub -d -q 1 -h mqtt.thingsboard.cloud -p 1883 -t v1/devices/me/telemetry -u "4Fi3AvSAP1gxFxqRdKod" -m "{temperature:25}"

解析这条命令的意思
域名-- mqtt.thingsboard.cloud
端口-- 1883
主题-- v1/devices/me/telemetry
user-- "4Fi3AvSAP1gxFxqRdKod"
内容-- "{temperature:25}"
qos-- 1

设备ID
id-- cc3170e0-1a9b-11ef-bf00-a758a0264878

ESP--AT固件指令
AT+MQTTUSERCFG=0,<scheme>,<"client_id">,<"username">,<"password">,<cert_key_ID>,<CA_ID>,<"path">
AT+MQTTCONN=<LinkID>,<"host">,<port>,<reconnect>
AT+MQTTPUB=<LinkID>,<"topic">,<"data">,<qos>,<retain>

对应最终命令
AT+MQTTUSERCFG=0,1,"cc3170e0-1a9b-11ef-bf00-a758a0264872","4Fi3AvSAP1gxFxqRdKot","",0,0,"mqtt.thingsboard.cloud"
AT+MQTTCONN=0,"mqtt.thingsboard.cloud",1883,1
AT+MQTTCONN?
AT+MQTTPUB=0,"v1/devices/me/telemetry","{temperature:25}",1,0

数据内容有变化时
AT+MQTTPUB=0,"v1/devices/me/telemetry","{batteryLevel:96}",1,0

ESP8266烧录MQTT固件通常分为几个步骤: 1. **准备工具**: - Arduino IDE(或者其他支持ESP8266的集成开发环境) - Arduino核心库(包括WiFi和MQTT库) - 适配的MQTT固件,如Espressif IoT SDK或第三方项目如Arduino MQTT库 2. **下载和配置固件**: - 下载Espressif的ESP8266_RTOS_SDK,或者直接从GitHub上获取适用于MQTT功能的固件源码。 - 根据需要定制MQTT服务器地址、端口等配置。 3. **创建新工程**: - 在Arduino IDE中选择"Sketch" -> "Create New" -> "Empty Sketch" - 将WiFi和MQTT库添加到项目的库管理器中。 4. **编写代码**: - 编写主程序,初始化WiFi连接并设置MQTT连接信息,然后编写消息发布或订阅的功能。 ```cpp #include <ESP8266WiFi.h> #include <PubSubClient.h> WiFiClient client; PubSubClient mqttClient(client); void connectToWiFi() { // ...WiFi连接代码... } void setupMQTT() { // ...设置MQTT连接参数... } void loop() { if (!connected()) { reconnect(); } else { mqttClient.loop(); } } void on_publish(char* topic, byte* payload, unsigned int length) { // ...处理消息发布后的回调... } void reconnect() { // ...重新连接到WiFi和MQTT逻辑... } ``` 5. **烧录固件**: - 设置开发板类型为ESP8266(如ESP-01、ESP-12E等),并将设备连接到电脑USB口。 - 点击"Tools" -> "Board" -> "Generic ESP8266 Module",并设置合适的串口号。 - 按照IDE提示,点击"Tools" -> "Burn" 或者 "Upload" 来将代码烧录到ESP8266芯片。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值