Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
网络学习营
【网络编程学习】+ shao526688 + ESP8266学习和下载文件
发布于 2018-08-12 14:35:36 浏览:2750
订阅该版
* 本帖最后由 shao526688 于 2018-8-12 14:35 编辑 * 1. 软件环境 (1)MDK5 (2)env_0.7.0 (3)RT-Thread_3.1.0 2. 硬件环境 (1)原子stm32f407探索者开发板 。 (2)ESP8266模块。 (3)串口转USB线一条。 3. AT模块连网实验 (1)首先通过调试助手和ESP8266进行AT命令测试,确保ESP8266模块是可以用的。如下: ![微信截图_20180812143439.png](/uploads/201808/12/143450zp2r92php28a6r9y.png) (2)通过教程来使用ESP8266生成MDK工程。大概配置总结如下: 开启AT组件 ![微信截图_20180811144854.png](/uploads/201808/11/162729uyyra1aaak1zk9br.png) 通过menuconfig进入到开启AT组件界面如下: ![微信截图_20180811145505.png](/uploads/201808/11/162739b5o2knoote12b9b0.png) 开启AT之后,后面的配置就出来了。如下: ![微信截图_20180811145657.png](/uploads/201808/11/162747ylgollknp63lpbkk.png) Enable debug log output:开启调试日志; Enable AT commands server:开启 AT 服务端; Enable AT commands client:开启 AT 客户端; Enable command‐line interface for AT commands:开启和关闭 AT CLI 模式; Enable print RAW format AT command communication data: 开启收发数据实时打印功能。 因为我们要连接服务器并下载文件到本地。所以相应的菜单下配置为客户端模式。 因为需要调试日志来报告AT代码执行了什么,遇到什么问题,所以也要打开。 到这里我发现AT CLI模式就可以使用AT指令来测试模块。所以不方便用调试助手测试的可以开启CLI模式来测试。 开启客户端模式之后,又多出了三个配置如下: ![微信截图_20180811160733.png](/uploads/201808/11/162806v5f1yl56i5uwprz5.png) 第一个就是配置AT模块使用的是哪个串口。 第二个就是配置每次能接受的最大数据长度。 第三个就是配置是否使用socket,不选上这个,后面就没有办法选择AT组件实现的协议栈。 默认选的是串口2,我将干脆也用串口2.接受数据长度也按默认512来。 开启SAL组件,这样可以使用socket来使用AT模块了。 第一步当然是开启SAL组件 空格选中 如下: ![微信截图_20180811153122.png](/uploads/201808/11/162824f000v45l5s75whhh.png) 第二步开启标准 BSD socket 如下: ![微信截图_20180811153228.png](/uploads/201808/11/162837cp9s8p108ul69tnl.png) 第三步开启AT组件实现的协议栈,如下: ![微信截图_20180811161117.png](/uploads/201808/11/162857j0suoojdzdm0bbww.png) 开启AT DEVICE软件包 ![微信截图_20180811163153.png](/uploads/201808/11/163214it0eoo8sdfxseobd.png) 开启 AT DEVICE 之后对其进行具体的配置,配置 AT Socket device modules 为 ESP8266 设备,配置 wifi ssid 和 wifi password 用于设备联网。 ![微信截图_20180811163749.png](/uploads/201808/11/163811ixevccrx85eee1xe.png) 注意:wifi ssid是AT模块需要连接的热点名字或者是家里wifi的名字。 wifi password 就是热点密码或者是wifi密码。 还有就是要注意 rt_kprintf控制台要配置为串口1.配置路径和结果如下: ![微信截图_20180811164543.png](/uploads/201808/11/164754wwoxai5tdn2a4xhw.png) ![微信截图_20180811164938.png](/uploads/201808/11/164956kk3zqte4ee9m2ffy.png) 到这里就保存配置,退出啦,然后scons --target=mdk5来生成MDK工程。 编译链接发现有错误,出现函数没有定义的错误: ![微信截图_20180811173129.png](/uploads/201808/11/173212ecjczp229wbjlppp.png) 最后解决方法就是将版本换成如下: ![微信截图_20180811172332.png](/uploads/201808/11/172359suztez1u3e3be6ut.png) 运行成功但是没有命令中没有at_ping命令。最后发现少添加了一些文件,通过自己再当前目录下搜索,我发现有的,可是就是不自动加载到项目中,我删除,重新menuconfig,再scons --target=mdk5 都没有用。最后自己添加,就这样成功了。第二天发生了我重新scons --target=mdk5竟然添加上去了。现在总结结论就是生成工程的时候最好先把工程关掉。生成工程后再打开就没有问题。还有就是发生上述情况也可能电脑当时出啥问题了。 4. 构建文件系统,并通过AT模块下载文件 (1)文件系统搭建 文件系统的配置需要打开如下选项: Enable elm-chan fatfs (4096) Maximum sector size to be handled. Using SPI Bus/Device device drivers Using W25QXX SPI NorFlash (我用的是W25QXX外部flash) Using SPI1 (75) SPI NOR Flash CS pin index(查看原理图得知,如下:) ![微信截图_20180812140112.png](/uploads/201808/12/140127zhtf4wjwiv1jpid1.png) (spi1) SPI NOR Flash Spi bus name (设置spi总线的名字) 通过配置这些选项就可以使用文件系统,但是烧录到开发板上打印的结果如下: ![微信截图_20180812124200.png](/uploads/201808/12/140348tv8mmxe4jhmxjaxh.png) 任何自己检查代码的引脚定义发现不对,修改过来就Ok了,修改的地方在drv_spi.c的HAL_SPI_MspInit(SPI_HandleTypeDef *spiHandle)下。 成功之后就可以在list_device下看到如下: ![微信截图_20180812140710.png](/uploads/201808/12/140732efde555ttp1e1266.png) 然后在main函数中添加如下代码就可以将flash挂在在文件系统下: ![微信截图_20180812140908.png](/uploads/201808/12/140924oldlqnijr7sh5yls.png) 到这里通过ls就可以看到如下: ![微信截图_20180812141017.png](/uploads/201808/12/141034bntehllmttilppr5.png) (2)配置wget,使用其下载文件 打开如下选项就可以使用wget了。 WebClient: A HTTP/HTTPS Client for RT-Thread Enable webclient GET/POST samples Version (v1.0.0) 生成工程后编译链接,然后下载到开发板中。执行wget [http://183.193.243.90:9012/www/rt-thread.txt](http://183.193.243.90:9012/www/rt-thread.txt) /shao.txt。发生了如下错误: ![微信截图_20180812131508.png](/uploads/201808/12/141830jxxiumik1gdki9gh.png) 解决方法:看是已经配置lwip相关选项,配置了将其关闭。我关闭之后又发现了错误如下: ![微信截图_20180812142105.png](/uploads/201808/12/142118jp6zuwdnnnid1ddm.png) 这个是我之前发生了at_scoket_device_register没有定义的错误,我将在at_socket_esp8266.c中将其屏蔽了。我重新打开之后wget成功,如下: ![微信截图_20180812142421.png](/uploads/201808/12/142435chigjriiuwzupd8h.png) 到这里就成功的完成了作业。
查看更多
1
个回答
默认排序
按发布时间排序
armink
2018-08-12
这家伙很懒,什么也没写!
出现 at_client_wait_connect 的原因是,你的 RT-Thread 源代码偏旧,里面的 AT 组件版本比较低,所以没有这个函数,更新至最新版即可。
撰写答案
登录
注册新账号
关注者
0
被浏览
2.8k
关于作者
shao526688
这家伙很懒,什么也没写!
提问
3
回答
0
被采纳
0
关注TA
发私信
相关问题
1
【LWIP学习营】第一关开发环境搭建
2
LWIP学习营第一周入门移植问题汇总贴
3
【LWIP学习营】f407+lan8720A小结
4
【LwIP学习营】【第一周】仅零散记录,无主题
5
【LWIP学习营】正点原子探索者F407+LAN8720第一周小结
6
【LwIP学习营】【第一周】网络通信基础及实现TCP 聊天客户端
7
【LwIP学习营】【第一周】LWIP移植
8
【LwIP学习营】【第一周】LWIP移植
9
【LwIP学习营】【第一周】开发板适配
10
【LwIP学习营】【第一周】环境搭建和配置验证
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
STM32H7R7运行CherryUSB
2
RT-Smart首次线下培训,锁定2024 RT-Thread开发者大会!
3
使用RC522软件包驱动FM1722
4
常量数据类型和表达式陷阱分享
5
进行i2c驱动移植的经验总结
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部