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

描述

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

模组

测试成功!

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分