硬件基于BearPi-STM32L431开发板,开发环境选择RT-Thread Studio,通信模组使用ESP8266。
一、硬件连接
将ESP8266模组安装在无线扩展接口上,然后将拨码开关拨向【AT-MCU】端:
二、添加软件包
1、开启libc组件
打开【RT-Thread Settings】,点击【libc】将其开启
2、添加at_device软件包
点击添加软件包,搜索at_device,然后点击添加:
添加好后,右键单击进入该软件包配置页面:
通过查看原理图可以知道,ESP8266使用连接到STM32的串口是LPUART1,所以配置如下:
接下来保存【RT-Thread Settings】,让这些配置生效。
三、开启LPUART1
因为过程中LPUART1默认是没有开启的,所以我们打开board.h,安装其提示添加:
首先,添加LPUART1的宏定义:
1#define BSP_USING_LPUART1
下一步就是修改其引脚配置了,通过查看原理图,得知其对应关系LPUART1_RX -> PC0、LPUART1_TX -> PC1,修改如下:
然后编译,下载,查看串口输出,可以看到,提示串口缓冲去不够大
我们将其加大即可:
再次编译烧录,发现其不支持AT+CIPDNS_CUR?指令,这是因为ESP8266的固件版本太低的原因。
四、更新ESP8266的AT固件
将拨码选择开关拨到【AT-PC】,使用AT+GMR指令查看一下当前AT固件版本,可以看到,AT版本为1.3.0.0
使用AT+RST指令将我们的模组复位,查看一下模组的Flash信息,可以看到,为32Mbit(512KB+512KB)
然后到乐鑫的官网去下载更新版本的AT固件,https://www.espressif.com/zh-hans/support/download/at,要注意,有些版本只支持(1024KB+1024KB),这里我选择V1.6.2版本!
下载好后,打开压缩包,按照README.md的说明将其中的32Mbit(512KB+512KB)固件烧录进去:
因为模组的IO0引脚并没有被接出,所以我们需要使用飞线将其拉低
烧录完成后,查阅一下其AT固件版本,可以看到,成功更新到1.6.2版本
使用AT+CIPDNS_CUR?命令测试一下,可以看到,已经支持这个指令了
五、再次启动测试
将拨码选择开关重新拨回【AT-MCU】,复位一下开发板,可以看到,已经连接成功了
然后我们使用ifconfig命令查看一下网络信息
使用ping www.baidu.com测试一下是否可以连接外网
测试成功!
全部0条评论
快来发表一下你的评论吧 !