硬件基于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#defineBSP_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测试一下是否可以连接外网

测试成功!
-
开发板
+关注
关注
25文章
6123浏览量
113353 -
模组
+关注
关注
6文章
1719浏览量
32020
原文标题:【RT-Thread开发之路】使用at_device软件包通过ESP8266连接到网络
文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) ESP8285/ESP8266芯片案例
ESP8266和ESP32开发板常见的2种下载方式
元服务发布选择待发布软件包
在蜂鸟处理器上进行RT-Thread+ESP8266 wifi模块开发
ESP8266和ESP32开发板常见的2种下载方式
at_device 包 ml307长时间运行有内存泄漏问题怎么解决?
esp8266 udp server 端口监听错误的原因?
at_device(8266)不支持web服务器吗?
请问一下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
rtt连接ESP8266报错(AT+CIPDNS_CUR?),固件版本为2.3.0.0,是什么原因导致的?
STM32+esp8266连接机智云,上传温湿度数据并控制继电器开关(平台配置、代码生成、代码移植)
ESP8266烧录与机智云一键配网教程

使用at_device软件包通过ESP8266连接到网络
评论