主要参考资料

在著名的b站大学:
stm32+esp8266(MQTT固件)阿里云物联网开发
这位博主提供了程序源码。视频主要介绍了阿里云平台注册以及获得所需信息的详细步骤,并对代码进行了解释。视频中博主使用的web开发部分阿里云已经不再提供免费发布服务。

主要步骤

  1. 准备需要用到的软件 :Keil5,CH340驱动(usb转串口,若esp8266连接电脑后设备管理器没有显示端口号的话可能是没驱动),串口调试助手(非必须,但是如果有的话可以提前看一下esp8266是否能够正常进入透传模式),烧录WiFi固件工具:ESP_DOWNLOAD_TOOL;
  2. esp8266烧录MQTT固件,我使用的是1MB版本的AT MQTT固件;
  3. 阿里云平台注册以及esp8266串口调试 ,注册过程建议跟着b站视频走,调试语句可参考 ESP8266 AT MQTT 透传指令
  4. stm32f103调试、程序下载引脚连接:PA9->esp8266-01s.RX,PA10->esp8266-01s.TX,PB12->DHT11data,PB8->OLED.SCL,PB9->OLED.SDA;

我调试中的问题

ESP8266-01S在通过串口烧录固件、调试时的引脚连接:
ESP-01S引脚
烧录固件时:GND和IO0接地,VCC和EN接3.3V,TX接串口RX,RX接串口TX,其他端口悬空。
运行模式时:IO0悬空,GND接地,VCC和EN接3.3V,TX接串口RX,RX接串口TX,其他端口悬空。
USB转串口的电源3.3V可能供电不稳,所以建议使用外部电源,我直接使用的stm32上的3.3V,串口的GND和ESP01S的GND要共地。

烧录固件和串口通信时注意设置端口和波特率,电脑的设备管理器可以查看端口号和波特率,我使用的是115200

擦写固件时一直处于 等待上电同步 可以把VCC拔了再重新插上

串口通信时若发送AT后接收窗口不显示AT则把串口拔出、断电后再重新上电、连接,软件关闭重启。若发送AT返回的也是AT则查看发送新行是否勾选,因为AT后面需要跟一个回车,如果勾选上了才能自动加上回车。若发送AT返回OK则通信正常。再根据 ESP8266 AT MQTT 透传指令 初步尝试是否可以连接上云平台,如果这里可以的话后面使用stm32再去调试串口就会顺利一些。初步尝试成功后我是重新擦除了固件又烧录后再去和stm32调试的。

Iphone手机开热点后如果ESP-01S连不上,可以勾选上 最大兼容性 ,注意wifi名字不要有空格和中文字符。

注意stm32+esp8266(MQTT固件)阿里云物联网开发ESP8266 AT MQTT 透传指令 使用的topic类不一样。

目前湿度还没上传到平台上去,下午找找原因

有点丑,但是能忍

Logo

宁波官方开源宣传和活动阵地,欢迎各位和我们共建开源生态体系!

更多推荐