本文主要参考STM32 HAL库+ESP8266+机智云_stm32 机智云-CSDN博客这篇文章,内容步骤非常齐全,在这里我就捡重点步骤和注意事项写。
机智云平台关于ESP8266的固件写入该模块(这一部分参考上文)
进入机智云官网->点击开发者中心->点击下载中心
固件下载地址
我的ESP01S模块是1MB = 8Mbit,所以选择GAgent_00ESP826_04020034_8MbitUser1_combine_201806091441.bin这个包。
下载好固件之后,还需要将固件烧录到ESP8266上,使用乐鑫官网提供的flash烧录工具flash_download_tool_3_9_5
特别注意需要一直接入EN使能,RST不要随便接(会把下载进去的固件重置掉),IO_0只在下载固件时需要连接,对应关系如下:
USB转TTL | ESP8266 |
---|---|
TX | RX |
RX | TX |
VCC | VCC |
GND | GND |
GND | IO_0 |
VCC | EN |
烧录界面除了这六点以外,要勾选左上角方框里的√ 和 底部的选择COM,这两个特别容易漏。
接下来创建机智云客户端
机智云官网->点击开发者中心并登录->创建产品->新建数据点->虚拟设备调试(扫码)->生成MCU代码->移植到单片机STM32 HAL库+ESP8266+机智云_stm32 机智云-CSDN博客
代码移植
必须要在cubemax中配置的有:
usart1:115200,串口通信
usrat2:必须是9600,和ESP8266进行通信
timx:定时一秒,每隔一秒stm32和esp6288互通一次
led:配置1-2个
key:配置2个,用于切换ESP6288的各种模式,比如Airlink配网,SoftAP配网......
STM32 HAL库+ESP8266+机智云_stm32 机智云-CSDN博客移植过程非常详细,照做就行。
结果展示
按照移植过来的代码,最终与APP连接成功的标准是串口接收到:
WiFi status:app connect
RSSI is 7
RSSI 7
但在这遇到一个问题,按照原文的方法按键检测不灵敏,所以可以把KEY代码改为不管长按断案都只能进入Airlink或进入SoftAP(2选1)。当Airlink配网方式尝试多次后都连接不上时,果断选SoftAP,见机智云ESP8266WIFI模块Airlink配网方式失败问题查找方法_机智云连不上-CSDN博客和STM32_FAQ,持续更新中,电脑看更方便 - 飞书云文档这样就可以通过手机软件来获取传感器数据以及控制led亮灭了。