0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Art_Pi学习笔记:学习驱动wifi模块AP6212

冬至子 来源:adaphoto 作者:adaphoto 2023-12-01 10:56 次阅读

开发环境:
RT-Thread Studio
开发板:
Art-Pi
OS版本:
4.0.3

笔记内容

参考官方例程的配置,软件包依赖于fal和easyflash

1.jpg

硬件勾选AP6212

1.jpg

保存配置退出,编译通过,下载即可,打开终端查看调试信息

通过终端调试WIFI

1.jpg

网卡设备已经注册成功。这时候就可以通过wifi提供的调试工具来试试网络是否已经联通。首先是查询当前可用热点信息wifi scan

1.jpg

然后是连接热点wifi join 热点名称 密码

1.jpg

然后可以试试ping一下百度

1.jpg

还可以看看当前wifi状态wifi status

1.jpg

遇到不清楚的可以wifi help查询一下指令

1.jpg

到此,意味着AP6212已经成功驱动起来了。但是这样只是第一步,因为板卡重启之后是不会自动重新连接的。

1.jpg

要实现保存配置信息,并且开机自动连接,需要参考官方例程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。

下面就来看看这个过程是如何实现的。

1.jpg

对比一下自建项目和官方项目的文件差异,主要的差别在于port目录下多了一个wifi_config.c的文件。虽然官方例程中还有一个ef_fal_port.c的文件,不过我是放在EasyFlash的包中了。下次还是要学习官方的做法,放在port目录下,这样可以有效防止更新工具包的时候把ef_fal_port.c文件给搞丢了。

1.jpg

学习wifi_config.c文件

在文件的最底下,有一个wlan_autoconnect_init的函数,先看看这个函数会在哪里被调用。查找一下原来是在main.c中被调用。也就是说在主线程上先配置了wifi自动重连的一些信息,然后又使能了自动重连。以此来实现重启之后wifi自动重新的功能。

1.jpg

下面来看看这个wlan_autoconnect_init函数到底做了什么配置

一开始是两个初始化函数

1.jpg

接下来的rt_wlan_cfg_set_ops函数位于wlan_cfg.c文件中,主要是调用了rt_wlan_cfg_init函数。这里应该是申请一段内存来保存配置信息吧。

1.jpg

那到底这些配置信息是保存在什么地方呢?注意rt_wlan_cfg_set_ops函数传入的参数是指针,指向哪里呢?

1.jpg

这三个是什么呢?

1.jpg

这三个函数的具体实现用到了两个函数ef_get_env_blob和ef_set_env_blob,这两个函数位于ef_env.c文件中

1.jpg

就清楚了,这里就是调用了easyflash的api来保存和获取环境变量。

移植到自己的项目中实验

既然清楚了整个处理流程,那就是将文件复制到自己的工程中,验证一下

1.jpg

编译通过,下载到板卡上验证,可以,自动重连了。

1.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WLAN
    +关注

    关注

    2

    文章

    643

    浏览量

    72579
  • wifi模块
    +关注

    关注

    60

    文章

    360

    浏览量

    72189
  • RT-Thread
    +关注

    关注

    31

    文章

    1148

    浏览量

    38875
  • ART-Pi
    +关注

    关注

    0

    文章

    23

    浏览量

    1215
收藏 人收藏

    评论

    相关推荐

    AP6212的SDIO通信已经正常,但是初始化出错什么原因?

    如下图所示,AP6212的SDIO通信已经正常,但是初始化出错,不知道什么原因? 我的WL_HOST_WAKE 引脚 没有用ART-Pi板子上的PE3脚,不知道是否对这个引脚有依赖?
    发表于 03-26 06:51

    AP6212不同版本软件兼容操作说明

    AP6212, 兼容操作非常简单,只是在文件系统增加固件即可,驱动可以自动识别所用的模块;具体兼容请查看附件兼容说明,若有问题,请把打开 WIFI 的 kernel log 抓出来
    发表于 05-09 20:52

    ap6212移植操作步骤

    功能:wifi station、softap、wifi direct、bt、接口类型:sdio、uart调试方案:octopus-f1,下面以A83T平台android4.4为例说明ap6212
    发表于 05-23 07:44

    AP6212 AP6210 AP6255 AP6335等模块设计指导

    AP6212 AP6210 AP6255 AP6335等模块设计指导正基授权代理商 需要技术支持请联系我们qq伍零柒零壹肆柒陆贰
    发表于 09-12 11:35

    目前 AP6212 WiFi 芯片缺货严重,大伙都有哪些替换方案?

    从2020年底开始大部分芯片都存在价格上涨严重,芯片高价难求的问题,经历过 AP6212 这款芯片从15元涨到了40元多的,后面不知道多久才能价格恢复到前面的价格。想一起讨论一下:AP6212 WiFi 芯片缺货严重,大伙都有哪
    发表于 03-16 17:10

    ART_PI与Touchgfx在原子7寸屏上相会相关资料分享

    目录1、实验平台1.1、软件环境1.2、硬件环境2、实验过程2.1、创建ART_PI项目工程2.2、屏幕参数修改2.3、触摸驱动添加3、总结1、实验平台1.1、软件环境RT_thread
    发表于 01-18 09:51

    RK3288如何添加WiFi&BT模块AP6212

    RK3288如何添加WiFi&BT模块AP6212
    发表于 03-03 07:35

    Art_Pi学习笔记汇总

    上述操作,如果开机后没有调用该指令,即使重启也不会记录次数。如果需要做到每次都自动记录,可以将指令加入到初始化代码中自动运行。3、Art_Pi学习笔记3:学习
    发表于 03-18 14:27

    RT-thread系统添加wifi和net双网卡功能步骤介绍

    一.ART-PI网络功能ART-PI中有两种网络连接方式:1.一个是他自带的wifi模块AP6212,这个
    发表于 05-19 17:46

    art-pi wifi ap失败是个什么问题?

    用的是art-pi设备,使能AP6212后,连接热点是可以的,但尝试了下创建热点,始终不成功1、在wifi初始化线程中设置为AP模式rt_wlan_set_mode
    发表于 03-07 14:09

    AP6212单通道2.4G单频率蓝牙wifi模块芯片资料下载.pdf

    AP6212单通道2.4G单频率蓝牙wifi模块
    发表于 05-25 15:38 328次下载

    正基低功耗WiFi模块AP6212A及AP6214A

    正基低功耗WiFi模块AP6212A及AP6214AAP6212A(低功耗) 封装为QFN44,最小包装是1.5K/包:是蓝牙支持BT4.2+WiF
    发表于 06-01 11:09 2991次阅读
    正基低功耗<b class='flag-5'>WiFi</b><b class='flag-5'>模块</b><b class='flag-5'>AP6212</b>A及<b class='flag-5'>AP</b>6214A

    Art_Pi学习笔记7:自己添加硬件定时器设备HWTIMER

    近期玩了一下Art_Pi的硬件定时器设备,常规的操作按照官网的说明文档操作,非常顺利。参考地址如下:[[链接]
    发表于 01-25 17:58 0次下载
    <b class='flag-5'>Art_Pi</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b>7:自己添加硬件定时器设备HWTIMER

    Art_Pi学习笔记6:驱动PWM输出

    近期瞎折腾,想使用Art_Pi的PWM输出功能,自以为轻车熟路的在RT-Thread Settings里面配置一番就可以轻松用上,没成想又一脚踩到泥坑里面...
    发表于 01-25 17:59 0次下载
    <b class='flag-5'>Art_Pi</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b>6:<b class='flag-5'>驱动</b>PWM输出

    Art_Pi学习笔记4:驱动多媒体扩展版的LCD和触摸功能

    参考例程是官方的例程:art_pi_net_player该例程功能强大,配置丰富。无耐我一时半会消化不了,还是一步一步来学习。先点亮LCD再说
    发表于 01-25 18:15 0次下载
    <b class='flag-5'>Art_Pi</b><b class='flag-5'>学习</b><b class='flag-5'>笔记</b>4:<b class='flag-5'>驱动</b>多媒体扩展版的LCD和触摸功能