Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ART-Pi
easyflash
AP6212
Art_Pi学习笔记3:学习驱动wifi模块AP6212
发布于 2020-12-22 11:47:33 浏览:6322
订阅该版
开发环境: RT-Thread Studio 开发板: Art-Pi OS版本: 4.0.3 承接前面的学习笔记,继续研究Art_Pi开发板的板载资源。今天来试试驱动板上的WIFI模块AP6212。 首先要感谢大佬的贴子,以及官方例程文档的说明。 [大佬的参考贴子] (https://blog.csdn.net/sinat_31039061/article/details/109763903) [EasyFlash开发文档] (https://www.bookstack.cn/read/EasyFlash-v4.0/docs-zh-design.md) **笔记内容** 参考官方例程的配置,软件包依赖于fal和easyflash  硬件勾选AP6212  保存配置退出,编译通过,下载即可,打开终端查看调试信息 通过终端调试WIFI  网卡设备已经注册成功。这时候就可以通过wifi提供的调试工具来试试网络是否已经联通。首先是查询当前可用热点信息wifi scan  然后是连接热点wifi join 热点名称 密码  然后可以试试ping一下百度  还可以看看当前wifi状态wifi status  遇到不清楚的可以wifi help查询一下指令  到此,意味着AP6212已经成功驱动起来了。但是这样只是第一步,因为板卡重启之后是不会自动重新连接的。  要实现保存配置信息,并且开机自动连接,需要参考官方例程art_pi_wifi **学习art_pi_wifi例程** 通过rtt-studio新建一个art_pi_wifi的项目,然后编译下载到板卡上,先运行一下效果。 烧录固件之后第一次启动,wifi没有连接,因为此时并没有保存热点配置信息,不过“Auto Connect status”的状态是“Enable”。 通过wifi join指令连接热点,ping通baidu之后,使用reboot指令重启板卡。 板卡第二次启动之后,在wifi注册完毕之后,自动连接上了之前配置好的热点,不需要在用wifi join指令,直接ping就可以通baidu。 下面就来看看这个过程是如何实现的。  对比一下自建项目和官方项目的文件差异,主要的差别在于port目录下多了一个wifi_config.c的文件。虽然官方例程中还有一个ef_fal_port.c的文件,不过我是放在EasyFlash的包中了。下次还是要学习官方的做法,放在port目录下,这样可以有效防止更新工具包的时候把ef_fal_port.c文件给搞丢了。  **学习wifi_config.c文件** 在文件的最底下,有一个wlan_autoconnect_init的函数,先看看这个函数会在哪里被调用。查找一下原来是在main.c中被调用。也就是说在主线程上先配置了wifi自动重连的一些信息,然后又使能了自动重连。以此来实现重启之后wifi自动重新的功能。   下面来看看这个wlan_autoconnect_init函数到底做了什么配置 一开始是两个初始化函数  接下来的rt_wlan_cfg_set_ops函数位于wlan_cfg.c文件中,主要是调用了rt_wlan_cfg_init函数。这里应该是申请一段内存来保存配置信息吧。  那到底这些配置信息是保存在什么地方呢?注意rt_wlan_cfg_set_ops函数传入的参数是指针,指向哪里呢?  这三个是什么呢?  这三个函数的具体实现用到了两个函数ef_get_env_blob和ef_set_env_blob,这两个函数位于ef_env.c文件中   再结合easyflash的开发文档说明 https://www.bookstack.cn/read/EasyFlash-v4.0/docs-zh-api.md 就清楚了,这里就是调用了easyflash的api来保存和获取环境变量。 **移植到自己的项目中实验** 既然清楚了整个处理流程,那就是将文件复制到自己的工程中,验证一下  编译通过,下载到板卡上验证,可以,自动重连了。  **相关文章:** [Art-Pi学习笔记10:优化多媒体扩展板的音频驱动添加录音功能](https://club.rt-thread.org/ask/article/2872.html) [Art-Pi学习笔记9:如何使用art-pi的多媒体扩展板播放TF卡中的音乐文件](https://club.rt-thread.org/ask/article/2849.html) [Art-Pi学习笔记9:如何为Art-pi的内部flash设置读保护](https://club.rt-thread.org/ask/article/2568.html) [Art_Pi学习笔记8:使用AHT10温湿度模块](https://club.rt-thread.org/ask/article/2543.html) [Art_Pi学习笔记7:自己添加硬件定时器设备HWTIMER](https://club.rt-thread.org/ask/article/2492.html) [Art_Pi学习笔记6:驱动PWM输出](https://club.rt-thread.org/ask/article/2483.html) [Art-Pi学习笔记5_4:在littlevgl中显示二维码](https://club.rt-thread.org/ask/article/2698.html) [Art-Pi学习笔记5_3:在littlevgl软件包中显示中文字体](https://club.rt-thread.org/ask/article/2695.html) [Art_Pi学习笔记5.2:LVGL模拟器安装在VS2019上的避坑指南](https://club.rt-thread.org/ask/article/2470.html) [Art_Pi学习笔记5.1:优化LVGL软件包提高刷屏的速度](https://club.rt-thread.org/ask/article/2464.html) [Art_Pi学习笔记5:移植LittleVGL2RTT软件包驱动多媒体扩展屏](https://club.rt-thread.org/ask/article/2434.html) [Art_Pi学习笔记4:驱动多媒体扩展版的LCD和触摸功能](https://club.rt-thread.org/ask/article/2436.html) [Art_Pi学习笔记3:学习驱动wifi模块AP6212](https://club.rt-thread.org/ask/article/2429.html) [Art_Pi学习笔记2:驱动片外SPI_FLASH_W25Q128](https://club.rt-thread.org/ask/article/2423.html) [Art-Pi学习笔记1:驱动SDIO和USB设备做TF读卡器](https://club.rt-thread.org/ask/article/2417.html)
7
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
adaphoto
这家伙很懒,什么也没写!
文章
25
回答
44
被采纳
5
关注TA
发私信
相关文章
1
easyflash 用来存储 传感器定时采样的数据适不适合?
2
easyflash存放于fat文件系统中,但是会擦除文件系统
3
EasyFlash移植失败,硬件发生错误?
4
easyflash demo擦写完数据后再上电就挂了?
5
easyflash初始化env无法自动写入默认环境变量?
6
有在STM32L4上用easyflash的么?请教个问题
7
[已解决] easyflash 使用内部 flash 无法保存参数
8
FAL 上的FlashDB、EasyFlash、EasyLogger调试经历
9
easyflash存储问题
10
easyflash可以用来存储300个小文件且能够按照日期分类检索吗?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
LWIP
Env
AT
SPI
Bootloader
FinSH
ART-Pi
CAN总线
Hardfault
USB
文件系统
RT-Thread
DMA
SCons
线程
MQTT
RT-Thread Nano
STM32
RTC
rt-smart
ESP8266
flash
ota在线升级
WIZnet_W5500
FAL
I2C
packages_软件包
UART
cubemx
freemodbus
潘多拉开发板_Pandora
定时器
BSP
PWM
ADC
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
SDIO
Debug
AB32VG1
MicroPython
编译报错
C++_cpp
msh
ulog
QEMU
本月问答贡献
出出啊
1501
个答案
338
次被采纳
小小李sunny
1390
个答案
276
次被采纳
张世争
715
个答案
157
次被采纳
crystal266
522
个答案
153
次被采纳
whj467467222
1216
个答案
146
次被采纳
本月文章贡献
出出啊
1
篇文章
12
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
2
篇文章
2
次点赞
crystal266
2
篇文章
5
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部