【RT-Thread开发之路】使用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)
下载好后,打开压缩包,按照README.md的说明将其中的32Mbit(512KB+512KB)
固件烧录进去:
使用AT+CIPDNS_CUR?
命令测试一下,可以看到,已经支持这个指令了
五、再次启动测试
将拨码选择开关重新拨回【AT-MCU】,复位一下开发板,可以看到,已经连接成功了
然后我们使用ifconfig
命令查看一下网络信息
使用ping www.baidu.com
测试一下是否可以连接外网
测试成功!
RT-Thread论坛原创征稿活动:与RT-Thread相关即可,内容题材不限。参与即有机会赢得,RT-Thread T恤、笔记本、技术书籍、京东卡、RT-Thread能力认证优惠券等
参与入口:https://www.rt-thread.org/qa/thread-424281-1-1.html
你可以添加微信17775982065为好友,注明:公司+姓名,拉进 RT-Thread 官方微信交流群!
RT-Thread
让物联网终端的开发变得简单、快速,芯片的价值得到最大化发挥。Apache2.0协议,可免费在商业产品中使用,不需要公布源码,无潜在商业风险。
长按二维码,关注我们