開發(fā)環(huán)境:
RT-Thread Studio
開發(fā)板:
Art-Pi
OS版本:
4.0.3
筆記內(nèi)容
參考官方例程的配置,軟件包依賴于fal和easyflash
硬件勾選AP6212
保存配置退出,編譯通過,下載即可,打開終端查看調(diào)試信息
通過終端調(diào)試WIFI
網(wǎng)卡設備已經(jīng)注冊成功。這時候就可以通過wifi提供的調(diào)試工具來試試網(wǎng)絡是否已經(jīng)聯(lián)通。首先是查詢當前可用熱點信息wifi scan
然后是連接熱點wifi join 熱點名稱 密碼
然后可以試試ping一下百度
還可以看看當前wifi狀態(tài)wifi status
遇到不清楚的可以wifi help查詢一下指令
到此,意味著AP6212已經(jīng)成功驅(qū)動起來了。但是這樣只是第一步,因為板卡重啟之后是不會自動重新連接的。
要實現(xiàn)保存配置信息,并且開機自動連接,需要參考官方例程art_pi_wifi
學習art_pi_wifi例程
通過rtt-studio新建一個art_pi_wifi的項目,然后編譯下載到板卡上,先運行一下效果。
燒錄固件之后第一次啟動,wifi沒有連接,因為此時并沒有保存熱點配置信息,不過“Auto Connect status”的狀態(tài)是“Enable”。
通過wifi join指令連接熱點,ping通baidu之后,使用reboot指令重啟板卡。
板卡第二次啟動之后,在wifi注冊完畢之后,自動連接上了之前配置好的熱點,不需要在用wifi join指令,直接ping就可以通baidu。
下面就來看看這個過程是如何實現(xiàn)的。
對比一下自建項目和官方項目的文件差異,主要的差別在于port目錄下多了一個wifi_config.c的文件。雖然官方例程中還有一個ef_fal_port.c的文件,不過我是放在EasyFlash的包中了。下次還是要學習官方的做法,放在port目錄下,這樣可以有效防止更新工具包的時候把ef_fal_port.c文件給搞丟了。
學習wifi_config.c文件
在文件的最底下,有一個wlan_autoconnect_init的函數(shù),先看看這個函數(shù)會在哪里被調(diào)用。查找一下原來是在main.c中被調(diào)用。也就是說在主線程上先配置了wifi自動重連的一些信息,然后又使能了自動重連。以此來實現(xiàn)重啟之后wifi自動重新的功能。
下面來看看這個wlan_autoconnect_init函數(shù)到底做了什么配置
一開始是兩個初始化函數(shù)
接下來的rt_wlan_cfg_set_ops函數(shù)位于wlan_cfg.c文件中,主要是調(diào)用了rt_wlan_cfg_init函數(shù)。這里應該是申請一段內(nèi)存來保存配置信息吧。
那到底這些配置信息是保存在什么地方呢?注意rt_wlan_cfg_set_ops函數(shù)傳入的參數(shù)是指針,指向哪里呢?
這三個是什么呢?
這三個函數(shù)的具體實現(xiàn)用到了兩個函數(shù)ef_get_env_blob和ef_set_env_blob,這兩個函數(shù)位于ef_env.c文件中
就清楚了,這里就是調(diào)用了easyflash的api來保存和獲取環(huán)境變量。
移植到自己的項目中實驗
既然清楚了整個處理流程,那就是將文件復制到自己的工程中,驗證一下
編譯通過,下載到板卡上驗證,可以,自動重連了。
-
WLAN
+關(guān)注
關(guān)注
2文章
657瀏覽量
73098 -
wifi模塊
+關(guān)注
關(guān)注
60文章
380瀏覽量
73495 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1289瀏覽量
40124 -
ART-Pi
+關(guān)注
關(guān)注
0文章
23瀏覽量
1302
發(fā)布評論請先 登錄
相關(guān)推薦
AP6212的SDIO通信已經(jīng)正常,但是初始化出錯什么原因?
AP6212不同版本軟件兼容操作說明
ap6212移植操作步驟
AP6212 AP6210 AP6255 AP6335等模塊設計指導
目前 AP6212 WiFi 芯片缺貨嚴重,大伙都有哪些替換方案?
ART_PI與Touchgfx在原子7寸屏上相會相關(guān)資料分享
Art_Pi學習筆記匯總
RT-thread系統(tǒng)添加wifi和net雙網(wǎng)卡功能步驟介紹
art-pi wifi ap失敗是個什么問題?
正基低功耗WiFi模塊AP6212A及AP6214A
![正基低功耗<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](https://file.elecfans.com/web1/M00/52/15/o4YBAFsQuMyAWQ41AAFZD-hfvA4171.png)
Art_Pi學習筆記7:自己添加硬件定時器設備HWTIMER
![<b class='flag-5'>Art_Pi</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>7:自己添加硬件定時器設備HWTIMER](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Art_Pi學習筆記6:驅(qū)動PWM輸出
![<b class='flag-5'>Art_Pi</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>6:<b class='flag-5'>驅(qū)動</b>PWM輸出](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Art_Pi學習筆記4:驅(qū)動多媒體擴展版的LCD和觸摸功能
![<b class='flag-5'>Art_Pi</b><b class='flag-5'>學習</b><b class='flag-5'>筆記</b>4:<b class='flag-5'>驅(qū)動</b>多媒體擴展版的LCD和觸摸功能](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論