色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

零基礎開發小安派-Eyes-S1 進階篇 ——通過屏幕輸入連接 Wi-Fi

AIoT行業洞察 ? 來源:AIoT行業洞察 ? 作者:AIoT行業洞察 ? 2025-01-16 09:47 ? 次閱讀

AiPi-Eyes-S1是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組具有豐富的外設接口,具體包括 DVP、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太網 (EMAC)、SD/MMC(SDH)、SPI、UART、I2C、I2S、PWM、GPDAC、GPADC、ACOMP 和 GPIO 等。

AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。

從零開始學習小安派:

1、零基礎開發小安派-Eyes-S1【入門篇】——初識小安派-Eyes-S1

2、零基礎開發小安派-Eyes-S1【入門篇】——安裝VMware與Ubuntu

3、入門篇:零基礎開發小安派-Eyes-S1——新建工程并燒錄調試

4、零基礎開發小安派-Eyes-S1入門篇——Win下SSH連接Linux

5、零基礎開發小安派-Eyes-S1【入門篇】——Samba共享文件夾

6、零基礎開發小安派-Eyes-S1【入門篇】——工程文件架構

7、零基礎開發小安派-Eyes-S1【外設篇】——GPIO 輸入輸出

8、零基礎開發小安派-Eyes-S1【外設篇】——GPIO中斷編程

9、零基礎開發小安派-Eyes-S1【外設篇】——PWM

10、零基礎開發小安派-Eyes-S1【外設篇】——UART

11、零基礎開發小安派-Eyes-S1【外設篇】——I2C

12、零基礎開發小安派-Eyes-S1【外設篇】——ADC

13、零基礎開發小安派-Eyes-S1【外設篇】——I2S

14、零基礎開發小安派-Eyes-S1【外設篇】——TIMER

15、零基礎開發小安派-Eyes-S1【外設篇】——DAC

16、零基礎開發小安派-Eyes-S1【進階篇】——初識 LVGL 并搭建最小工程

17、功德+1,用小安派-Eyes-S1做一個電子木魚

本篇教大家通過屏幕輸入連接 Wi-Fi網絡協議道阻且長,得慢慢啃,先從簡簡單單連接 Wi-Fi 開始,當然在這基礎上得實現通過屏幕輸入連接,同時將Wi-Fi 連接后的消息保存在Flash中,以保存Wi-Fi名稱和密碼。

01UI 設計

打開 GuiGuider,依舊是熟悉的新建工程,不熟悉的伙伴可以看之前的教程復習一下。這里設計兩個界面,第一個界面為一個日歷(擺飾)。

wKgZPGeIZTuAcudRAACkoCE6ppE932.jpg

第二個界面才是重頭戲,連接 Wi-Fi 的界面。這里添加了幾個控件,重點的幾個控件:

led(改變顏色來顯示Wi-Fi的狀態)

buttun(按下按鈕獲取輸入框內容同時連接 Wi-Fi)

兩個輸入框(分別輸入ssid 和 password)

wKgZO2eIZTuAdUFHAACPT9P6Mw0826.jpg

wKgZPGeIZTyAYtSSAACVSn8Zits547.jpg

wKgZO2eIZTyAfqL4AACkNFS6km8242.jpg

wKgZPGeIZT2AdizKAACTUos6cRM704.jpg

界面UI設計成功后,為界面添加兩個事件,分別為左劃和右劃來切換不同的界面。這里點擊界面2(Wi-Fi 連接界面)——添加事件——選擇 GestureLeft(左劃),在通用這里勾選 load screen——加載界面,選擇界面1(日歷界面)。

wKgZO2eIZT2AHPeQAACwHuyO8-k481.jpg

保存后同樣的步驟,點擊界面1(日歷界面)——添加事件,選擇 GestureRight(右劃),同樣的加載界面選擇界面 2(Wi-Fi 連接界面)。

wKgZPGeIZT6AYQ66AACihjlmpWg033.jpg

在界面 2(Wi-Fi 連接界面)的屬性設置這里,選擇顯示鍵盤,這樣UI設計就基本完成了。

wKgZO2eIZT6AQxrtAACdx1HZSdk038.jpg

設計完成后記得模擬看一下效果。

wKgZPGeIZT6AQqs_AAAsgJU-l2w142.jpg

02文件移植和編程

新建一個工程,命名為 WiFi_Connect。添加的 components 組件(功能作為模塊分類),添加 config(一些系統配置),main(主函數)。主要在 components 中添加,記得將所有鏈接下的文件夾添加到 CMakeLitst.txt 中。

commponents 中添加了部分庫,包括 easyflash,UI(設計的 UI,屏幕與觸摸的配置),Voice(8388 的驅動庫),Wi-Fi(一個WiFi連接的庫,在 Project_base 中可以copy 過來)。準備好需要的驅動后,配置 CMakeLitst.txt(可以參考以下截圖中的方式)。

wKgZO2eIZT-AU5MOAAEj7GLstpY139.jpg

wKgZPGeIZT-AKjYYAAAzdqaBl-w490.jpg

在本程序中主要的流程就是通過圖片上的按鈕來實現其它的 Wi-Fi 連接,所以需要在按鈕中添加事件獲取輸入框的內容,同時將這些內容作為參數傳輸給連接Wi-Fi的函數。

由于LVGL全是依靠一個lv_ui的結構體來保存成員,其定義在 WiFi_Connect/components/UI/generated/gui_guider.h 下,在main 中會定義一個guider_ui的全局變量,

該.h 中也是通過extern來聲明該結構體已在外部定義,可以在 lv_ui 中添加 ssid 和 password 數組來暫存我們的 Wi-Fi 名稱和密碼。

wKgZO2eIZT-AXegoAAEYv74V4Ls907.jpg

在 WiFi_Connect/components/UI/generated/events_init.c 中注冊一個按鈕事件,這里面可以看到左劃右劃切換界面的事件,區域中顯示的是界面 2,對應Wi-Fi 連接界面,在文件中注冊一個事件,對應按鈕btn_1,可以參考筆者寫的方式,可以看到 case 中對應的枚舉類型是 CLICKED(點擊)。

這里使用防御性編程,先判斷獲取框中的內容是否為空,添加 if 和 else if 語句,隨后清空緩存ssid和passsword數組,將輸入框中的內容通過 strcpy 輸入到緩存中。這里調用Wi-Fi庫中已經編寫好的wifi_connect 連接Wi-Fi。記得將 wifi_event.h 添加到頭文件中。注意這里面的 ui 全是一個結構體指針,指向 guider_ui 這個全局的結構體。注意完成后將編寫的函數在頁面 2 的初始化中,使用 lv_obj_add_event_cb 添加事件。

wKgZPGeIZUCACho3AAEFtWxXtJM836.jpg

wKgZO2eIZUCAEMTQAAFYygnrZcI430.jpg

在 Wi-Fi 庫中可以看到 wifi_start_firmware_task,該任務已經配置好了Wi-Fi,而 wifi_event_handler 對應了Wi-Fi的各種狀態,這里對應著底層的Wi-Fi狀態機,有掃描、斷連、獲取 IP 等等狀態,小伙伴可以自行查閱。

在wifi_connect 函數中,這里面也有一些Wi-Fi的連接狀態,都是基于這個 sta_ConnectStatus來判斷。在連接失敗時修改“LED”燈狀態,對應 lv_led_set_color,這里的 ui 定義了臨時變量并將全局的 guider_ui 的地址賦予它。同樣在成功連接后,也就是獲取 IP 時修改 LED 的顏色,同時將Wi-Fi的ssid 和password寫入Flash中,通過字段保存。字段定義在easy_flash 的 user_esflash.h 中。在其它文件中使用 Flash 注意將頭文件也添加。

wKgZPGeIZUGAKe2AAAEJRcYmzeE649.jpg

wKgZO2eIZUGAEH0sAAElBDtJSIA163.jpg

最后在WiFi_Connect/components/UI/generated/setup_scr_screen_2.c 中,也就是對應界面2初始化內容來修改,通過Flash 判斷上一次成功輸入Wi-Fi且被儲存的內容是否存在,來顯示上一次連接的Wi-Fi名稱和密碼,就不用重復輸入。

wKgZPGeIZUKAITo8AACeMB4cFPY519.jpg

03最終效果展示

上電的初始界面,如果是第一次燒錄應該是ssid和星號隱藏的password。這里筆者連接過了,顯示的是本人的Wi-Fi名稱和密碼。

未連接時左上角的燈為紅色,滑動顯示下一個日歷界面。

wKgZO2eIZUKAUCzDAAERDBrBD1E618.jpg

wKgZPGeIZUKADUExAADHkPr0Vo8907.jpg

輸入正確的Wi-Fi名稱和密碼后,點擊連接按鈕,成功連接 Wi-Fi 后,左上角的燈變為綠色,可以通過LOG口查看連接的過程。正確連接一次 Wi-Fi 后,以后每次復位或者燒錄顯示的都是上一次連接的 Wi-Fi 名稱和密碼。

wKgZO2eIZUOAHrctAADcKQSV5Ss198.jpg

wKgZPGeIZUSAL2cwAAHAy6UPouk856.jpg

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51157

    瀏覽量

    426862
  • wi-fi
    +關注

    關注

    14

    文章

    2169

    瀏覽量

    124942
  • 音頻編解碼
    +關注

    關注

    0

    文章

    19

    瀏覽量

    3028
收藏 人收藏

    評論

    相關推薦

    零基開發AiPi-Eyes-S1——通過屏幕輸入連接Wi-Fi

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 01-15 09:27 ?170次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b>AiPi-<b class='flag-5'>Eyes-S1</b>——<b class='flag-5'>通過</b><b class='flag-5'>屏幕</b><b class='flag-5'>輸入</b><b class='flag-5'>連接</b><b class='flag-5'>Wi-Fi</b>

    零基開發小安-Eyes-S1進階篇】——初識 LVGL 并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 01-06 16:14 ?172次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【<b class='flag-5'>進階篇</b>】——初識 LVGL 并搭建最小工程

    零基開發小安-Eyes-S1——初識LVGL并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 01-03 14:09 ?393次閱讀

    零基開發小安-Eyes-S1 外設——DAC

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 12-27 10:55 ?895次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 外設<b class='flag-5'>篇</b>——DAC

    零基開發小安-Eyes-S1外設——I2S

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 12-13 18:02 ?1142次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設<b class='flag-5'>篇</b>——I2<b class='flag-5'>S</b>

    零基開發小安-Eyes-S1【外設】——FLASH

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 12-05 14:31 ?288次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【外設<b class='flag-5'>篇</b>】——FLASH

    零基開發小安-Eyes-S1 外設 ——I2C

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 11-27 16:39 ?308次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 外設<b class='flag-5'>篇</b> ——I2C

    Wi-Fi 7與Wi-Fi 6E有什么區別

    也許很多人還在考慮是否要將使用的Wi-Fi設備升級到Wi-Fi 6或Wi-Fi 6E,而這些標準的繼任者卻已經開始“登堂入室”了。Wi-Fi 7是新一代
    的頭像 發表于 11-07 11:38 ?1166次閱讀

    零基開發小安-Eyes-S1【入門】——工程文件架構

    零基開發小安-Eyes-S1入門——Win下SSH
    的頭像 發表于 11-06 16:10 ?218次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【入門<b class='flag-5'>篇</b>】——工程文件架構

    零基開發小安-Eyes-S1【外設】——PWM

    燒錄調試4、零基開發小安-Eyes-S1入門——Win下SSH
    的頭像 發表于 11-06 16:10 ?209次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【外設<b class='flag-5'>篇</b>】——PWM

    零基開發小安-Eyes-S1外設——GPIO中斷編程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 產品資料:https://docs.ai-thinker.com/eyes
    的頭像 發表于 10-29 14:56 ?802次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設<b class='flag-5'>篇</b>——GPIO中斷編程

    零基開發小安-Eyes-S1外設——GPIO 輸入輸出

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 10-25 13:50 ?1080次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設<b class='flag-5'>篇</b>——GPIO <b class='flag-5'>輸入</b>輸出

    開發教程 零基開發小安-Eyes-S1入門——Win下SSH連接Linux

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 為了方便大家更好的開發,在Windows下使用VScode建立遠程
    的頭像 發表于 09-24 14:31 ?341次閱讀
    <b class='flag-5'>開發</b>教程 <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>入門<b class='flag-5'>篇</b>——Win下SSH<b class='flag-5'>連接</b>Linux

    IR900 Wi-Fi聯網的配置過程

    , 通過SSID掃描可以查看;輸入密碼,點擊保存; 在SSID掃描頁面中查看是否連接成功, 如果沒有請檢查認證方式、加密方式、密碼是否輸入正確;
    發表于 07-25 06:09

    AIROC? Wi-Fi和藍牙組合連接掉線的原因?怎么解決?

    我最近購買了一臺配備 AIROC? Wi-Fi 和藍牙組合模塊的筆記本電腦。 大多數時候,Wi-Fi 連接都能正常使用圖書館創世紀網站ePUB 轉換工具、在線書店和學術出版物,但我注意到藍牙
    發表于 05-24 07:48
    主站蜘蛛池模板: 99久久99久久久精品齐齐鬼色 | 亚洲xxxx动漫 | 亚洲色爽视频在线观看 | 娇妻让壮男弄的流白浆 | 一区二区三区高清视频 | 秋霞网在线伦理免费 | 影视先锋男人无码在线 | 精品精品国产自在现拍 | 国产精品久久大陆 | 亚洲 欧美 国产在线视频 | 亚洲国产cao | 午理论理影片被窝 | 一个人免费观看完整视频日本 | 欧美黑人经典片免费观看 | 中文无码字慕在线观看 | 果冻传媒在线看免费高清 | 久久久99精品成人片中文 | 久热在线这里只有精品7 | 久久精品熟一区二区三区 | 免费的黄直播 | 欧美日韩一区二区三区四区 | 99青草青草久热精品视频 | 综合久久久久久久综合网 | 色中色论坛网站 | 美女大本营 | 国产AV无码成人黄网站免费 | 热久久综合这里只有精品电影 | 久久99精品国产麻豆婷婷 | 青青青伊人 | 欧美z000z猪| 亚洲香蕉视频在线播放 | 人禽l交视频在线播放 视频 | 天天槽任我槽免费 | 中文国产成人精品久久免费 | 中国女人内谢69XXXXXA片 | 国内精品久久久久影院亚洲 | 九九九色成人网 | 無码一区中文字幕少妇熟女H | 依恋影院在线观看 | 亚洲国产欧美国产综合在线 | 国产精品成人免费视频99 |