ESP8266下载固件→连接阿里云

一、工具准备

        1、ESP8266Wifi模块
        2、ESP8266下载器

ESP8266-01模块

 

二、固件配置


CH340串口工具-烧录ESP8266-01固件_esp8266 ch340烧录-CSDN博客文章浏览阅读444次,点赞6次,收藏3次。CH340会有供电不足的问题,因此需要外部供电_esp8266 ch340烧录https://blog.csdn.net/weixin_54210362/article/details/141197153?spm=1001.2014.3001.5501 大家没有下载器的可以按照此篇文章下载,但是此种方法时灵时不灵,我猜测是供电不稳的原因,所以建议大家在购买wifi模块的时候顺便买一个下载器,可以省去好多麻烦


链接:资源分类 | 安信可科技 (ai-thinker.com)

开发工具下载:开发工具清单 | 安信可科技

此处选中自己在AT固件中下载的文件

此处可能会出现ERASE后去启动,但是发现等待时间过长,此时可以将RST线拔掉重新插一下

串口工具验证环节:首次连接串口的时候,可以重置一下

三、MQTT连接阿里云

        1、注册登录阿里云

2

         2、开通

 3、按照创建流程进行建立

 4、创建产品

 5、新建产品

 6、新建设备

 7、编辑属性

 8、定义类别

 9、一定要点击上线

 10、串口助手
 

1、连接过程需要用到的AT指令

AT+CWMODE=1

OK

AT+CWJAP="Wifi名称","wifi密码"
WIFI CONNECTED
WIFI GOT IP

OK
AT+MQTTUSERCFG=0,1,"NULL","用户名","密码",0,0,""
OK

AT+MQTTCLIENTID=0,"ClienId"//clientId第二个参数注意每个逗号后加分隔符“\”,已踩过坑,例如:t|securemode=3\,signmethod=hmacsha1\,

OK
AT+MQTTCONN=0,"连接域名",1883,1
+MQTTCONNECTED:0,1,"i连接域名","1883","",1

OK

2、用户名,密码,域名 获取路径

四、最终连接完成的状态

        显示在线状态代表连接成功


 五、大家在操作过程中的问题一定要及时提出来,我尽量会做到当天更新文章解释步骤

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是基于STM32和ESP8266采用MQTT方式连接华为云的代码: ``` #include <ESP8266WiFi.h> #include <PubSubClient.h> #include <SoftwareSerial.h> #include <Wire.h> #include <LiquidCrystal_I2C.h> #define WIFI_SSID "your_wifi_ssid" #define WIFI_PASSWORD "your_wifi_password" #define MQTT_SERVER "your_mqtt_server" #define MQTT_PORT 1883 #define MQTT_USERNAME "your_mqtt_username" #define MQTT_PASSWORD "your_mqtt_password" #define MQTT_TOPIC "your_mqtt_topic" SoftwareSerial espSerial(2, 3); // RX, TX WiFiClient wifiClient; PubSubClient mqttClient(wifiClient); LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { Serial.begin(115200); espSerial.begin(115200); lcd.begin(); lcd.backlight(); lcd.print("Connecting to WiFi"); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); while (WiFi.status() != WL_CONNECTED) { delay(500); lcd.setCursor(0, 1); lcd.print("."); } lcd.clear(); lcd.print("WiFi Connected"); mqttClient.setServer(MQTT_SERVER, MQTT_PORT); mqttClient.setCallback(mqttCallback); } void loop() { if (!mqttClient.connected()) { mqttReconnect(); } mqttClient.loop(); String temp = readTemperature(); mqttClient.publish(MQTT_TOPIC, temp.c_str()); lcd.setCursor(0, 0); lcd.print("Temp: "); lcd.print(temp); delay(1000); } void mqttReconnect() { while (!mqttClient.connected()) { Serial.println("Connecting to MQTT broker..."); if (mqttClient.connect("ESP8266", MQTT_USERNAME, MQTT_PASSWORD)) { Serial.println("MQTT connected"); mqttClient.subscribe(MQTT_TOPIC); } else { Serial.print("MQTT connection failed, rc="); Serial.print(mqttClient.state()); Serial.println(" retrying in 5 seconds"); delay(5000); } } } void mqttCallback(char* topic, byte* payload, unsigned int length) { Serial.print("Received message ["); Serial.print(topic); Serial.print("]: "); for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); } String readTemperature() { String temp; espSerial.println("AT+CIPSTART=\"TCP\",\"api.openweathermap.org\",80"); if (espSerial.find("OK")) { Serial.println("TCP connection established"); String request = "GET /data/2.5/weather?q=London,uk&APPID=your_api_key HTTP/1.1\r\nHost: api.openweathermap.org\r\nConnection: close\r\n\r\n"; espSerial.print("AT+CIPSEND="); espSerial.println(request.length()); if (espSerial.find(">")) { Serial.println("Sending request"); espSerial.print(request); if (espSerial.find("CLOSED")) { Serial.println("TCP connection closed"); } else { Serial.println("Error closing TCP connection"); } } else { Serial.println("Error sending request"); } } else { Serial.println("Error establishing TCP connection"); } return temp; } ``` 这段代码连接到Wi-Fi并建立MQTT连接,然后每秒钟读取温度并将其发布到MQTT主题“your_mqtt_topic”中。当接收到来自MQTT主题的消息时,它将在串行监视器中打印出来。请注意,您需要将代码中的"WIFI_SSID","WIFI_PASSWORD","MQTT_SERVER","MQTT_USERNAME","MQTT_PASSWORD"和"MQTT_TOPIC"替换为您自己的值。也需要更改“readTemperature”函数中的API密钥和查询参数,以获取您所需的实际温度值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值