物联网系统RT-Thread学习---软件包使用(ESP8266)

前文回顾

《物联网系统RT-Thread学习—开发环境搭建》
《物联网系统RT-Thread学习—内核学习》
《物联网系统RT-Thread学习—设备和驱动学习》
《物联网系统RT-Thread学习—组件使用(一)》
《物联网系统RT-Thread学习—组件使用(二)》
《物联网系统RT-Thread学习—软件包使用(按键)》

本集预告

学习RTT组件及软件包的使用,但是没有网络,总感觉不够高级,所以斥巨资购置了ES8266模块,作为上网的通道,学习一下RTT网络这块的内容。
在这里插入图片描述

开发过程

准备模块

刚到手的ESP8266模块,默认没有烧录软件,所以还需要自己烧写版本进去。从卖家提供的资料中找到了烧录工具。
在这里插入图片描述
其实官方也提供了烧录工具,不过不是一键烧录,需要配置各个模块的烧录地址
在这里插入图片描述
看上去就麻烦,要是只烧一个打包好的整体固件还好。
在这里插入图片描述

这里主要说一下接线

在这里插入图片描述
单独找一个开发板给ESP8266供电

  • VCC -----------3.3V
  • CH_PD -----------3.3V
  • CPIO2 -----------3.3V
  • GND -----------GND
  • CPIO0 -----------GND

然后用USB转串口连接ESP8266

  • URXD 接串口TTL TX
  • UTXD 接串口TTL RX

再打开串口烧写工具。直接烧录,内部包含了默认的透传模块。
一键烧录下载地址

然后去掉CPIO0和CPIO2的接线,串口配置115200,即可测试ESP8266模块的AT命令。

与STM32连接

这里用到的只有供电和串口,STM32F103C8T6的串口2为
在这里插入图片描述
与ESP8266的串口TX与RX连接。其他连接:

  • VCC -----------3.3V
  • CH_PD -----------3.3V
  • GND -----------GND
    其余引脚悬空即可。
    在这里插入图片描述

软件准备

这里要使用的软件包名称为at_device。这里面集成了一个AT命令的客户端,并且给各种常用wifi模块都提供了测试用例。
在这里插入图片描述

添加之后,配置如下
在这里插入图片描述
硬件要添加串口支持。
在这里插入图片描述

如果要查看AT命令的交互过程,可以打开组件中的调试
在这里插入图片描述

开始调试

编译工程,烧写。
调试结果

msh >
 \ | /
- RT -     Thread Operating System
 / | \     4.1.0 build Jan 23 2022 13:44:15
 2006 - 2021 Copyright by rt-thread team
[I/sal.skt] Socket Abstraction Layer initialize success.
[I/at.clnt] AT client(V1.3.1) on device uart2 initialize success.
[D/at.dev.esp] network interface device(esp0) set up status
[D/at.dev.esp] esp0 device initialize start.
msh >[I/at.dev.esp] esp0 device wifi is disconnect.
[D/at.dev.esp] AT version:1.7.1.0(Jul 15 2019 16:58:04)
[D/at.dev.esp] SDK version:3.0.1(78a3e33)
[D/at.dev.esp] compile time:Feb 14 2020 09:19:42
[I/at.dev.esp] esp0 device wifi is connected.
[I/at.dev.esp] esp0 device network initialize successfully.

msh >ifcon
ifconfig
msh >ifconfig
network interface device: esp0 (Default)
MTU: 1500
MAC: ec fa bc dd 33 5f 
FLAGS: UP LINK_UP INTERNET_UP DHCP_ENABLE
ip address: 192.168.101.87
gw address: 192.168.101.1
net mask  : 255.255.255.0
dns server #0: 192.168.101.1
dns server #1: 0.0.0.0
msh >

完美。
在这里插入图片描述

问题解决

其实前面只是展示了最好的结果,中间层尝试了多重版本,都是各种问题。就像人生一样
在这里插入图片描述

默认版本问题

用烧录工具的默认版本,就会报错,
execute command (ATE0) failed!
执行ATE0报错,然后就会打印device initialize retry…,直到重试失败
是因为默认的版本并不是标准AT命令,命令响应没有OK字样,所以会失败。

内存问题

串口内存必须分配大于等于256,否则会出现分配内存失败,网口初始化就会失败

解析配置失败

device prase "AT+CIPSTA?" cmd error.

有的版本,这个命令只返回IP地址,没有掩码和网关,所以会报错

配置DNS失败

please check and update xxx device firmware to support the "AT+CIPDNS_CUR?" cmd.

版本不支持配置DNS,也是版本过低导致的。

接收消息不完整

这里需要打开串口的DMA,否则在接收IP配置的时候,无法读取完整的AT响应,就无法得到掩码。

解决版本问题

隆重推荐可以用的版本,能够解决上述所有问题的1Mflash版本。适合于野火的1Mflash版本的esp8266模块。

!!!ESP8266透传固件,1Mflash版本
在这里插入图片描述

这个模块的连接,测试了整整一天,其中尝试了各种版本,不过还是被我发现了可用的版本,如果是4Mflash的模块,可能会比较好找。

结束语

耗时一天,终于解决这个问题,舒服。
在这里插入图片描述
听闻“干净又卫生的”刘庸也得了新冠,这位大佬可是能抗住印度美食的绝世高手,没想到连他都倒下了,看来病毒真的不可小觑。
在这里插入图片描述
昨天刚下了一场大雪,回了趟老家,结果差点困在天津,进天津随意,出来就麻烦了,大路小路都要看一个离津证明,还是唐山人民好说话,查了我的行程,才让出来了。

所以告诫所有经过天津的人,千万不可下高速。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖哥王老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值