Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ART-Pi
easyflash
AP6212
Art_Pi学习笔记3:学习驱动wifi模块AP6212
发布于 2020-12-22 11:47:33 浏览:8766
订阅该版
开发环境: 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
国产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组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
8
个答案
2
次被采纳
KunYi
8
个答案
1
次被采纳
三世执戟
7
个答案
1
次被采纳
winfeng
2
个答案
1
次被采纳
chenyaxing
2
个答案
1
次被采纳
本月文章贡献
catcatbing
2
篇文章
5
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
3
次点赞
YZRD
1
篇文章
2
次点赞
阳光的掌控者
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部