91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

零基礎(chǔ)開發(fā)小安派-Eyes-S1 進(jìn)階篇 ——通過屏幕輸入連接 Wi-Fi

AIoT行業(yè)洞察 ? 來源:AIoT行業(yè)洞察 ? 作者:AIoT行業(yè)洞察 ? 2025-01-16 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

從零開始學(xué)習(xí)小安派:

1、零基礎(chǔ)開發(fā)小安派-Eyes-S1【入門篇】——初識(shí)小安派-Eyes-S1

2、零基礎(chǔ)開發(fā)小安派-Eyes-S1【入門篇】——安裝VMware與Ubuntu

3、入門篇:零基礎(chǔ)開發(fā)小安派-Eyes-S1——新建工程并燒錄調(diào)試

4、零基礎(chǔ)開發(fā)小安派-Eyes-S1入門篇——Win下SSH連接Linux

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

6、零基礎(chǔ)開發(fā)小安派-Eyes-S1【入門篇】——工程文件架構(gòu)

7、零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——GPIO 輸入輸出

8、零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——GPIO中斷編程

9、零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——PWM

10、零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——UART

11、零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——I2C

12、零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——ADC

13、零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——I2S

14、零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——TIMER

15、零基礎(chǔ)開發(fā)小安派-Eyes-S1【外設(shè)篇】——DAC

16、零基礎(chǔ)開發(fā)小安派-Eyes-S1【進(jìn)階篇】——初識(shí) LVGL 并搭建最小工程

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

本篇教大家通過屏幕輸入連接 Wi-Fi 。網(wǎng)絡(luò)協(xié)議道阻且長,得慢慢啃,先從簡簡單單連接 Wi-Fi 開始,當(dāng)然在這基礎(chǔ)上得實(shí)現(xiàn)通過屏幕輸入連接,同時(shí)將Wi-Fi 連接后的消息保存在Flash中,以保存Wi-Fi名稱和密碼。

01UI 設(shè)計(jì)

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

wKgZPGeIZTuAcudRAACkoCE6ppE932.jpg

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

led(改變顏色來顯示W(wǎng)i-Fi的狀態(tài))

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

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

wKgZO2eIZTuAdUFHAACPT9P6Mw0826.jpg

wKgZPGeIZTyAYtSSAACVSn8Zits547.jpg

wKgZO2eIZTyAfqL4AACkNFS6km8242.jpg

wKgZPGeIZT2AdizKAACTUos6cRM704.jpg

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

wKgZO2eIZT2AHPeQAACwHuyO8-k481.jpg

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

wKgZPGeIZT6AYQ66AACihjlmpWg033.jpg

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

wKgZO2eIZT6AQxrtAACdx1HZSdk038.jpg

設(shè)計(jì)完成后記得模擬看一下效果。

wKgZPGeIZT6AQqs_AAAsgJU-l2w142.jpg

02文件移植和編程

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

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

wKgZO2eIZT-AU5MOAAEj7GLstpY139.jpg

wKgZPGeIZT-AKjYYAAAzdqaBl-w490.jpg

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

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

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

wKgZO2eIZT-AXegoAAEYv74V4Ls907.jpg

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

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

wKgZPGeIZUCACho3AAEFtWxXtJM836.jpg

wKgZO2eIZUCAEMTQAAFYygnrZcI430.jpg

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

在wifi_connect 函數(shù)中,這里面也有一些Wi-Fi的連接狀態(tài),都是基于這個(gè) sta_ConnectStatus來判斷。在連接失敗時(shí)修改“LED”燈狀態(tài),對應(yīng) lv_led_set_color,這里的 ui 定義了臨時(shí)變量并將全局的 guider_ui 的地址賦予它。同樣在成功連接后,也就是獲取 IP 時(shí)修改 LED 的顏色,同時(shí)將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 中,也就是對應(yīng)界面2初始化內(nèi)容來修改,通過Flash 判斷上一次成功輸入Wi-Fi且被儲(chǔ)存的內(nèi)容是否存在,來顯示上一次連接的Wi-Fi名稱和密碼,就不用重復(fù)輸入。

wKgZPGeIZUKAITo8AACeMB4cFPY519.jpg

03最終效果展示

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

未連接時(shí)左上角的燈為紅色,滑動(dòng)顯示下一個(gè)日歷界面。

wKgZO2eIZUKAUCzDAAERDBrBD1E618.jpg

wKgZPGeIZUKADUExAADHkPr0Vo8907.jpg

輸入正確的Wi-Fi名稱和密碼后,點(diǎn)擊連接按鈕,成功連接 Wi-Fi 后,左上角的燈變?yōu)榫G色,可以通過LOG口查看連接的過程。正確連接一次 Wi-Fi 后,以后每次復(fù)位或者燒錄顯示的都是上一次連接的 Wi-Fi 名稱和密碼。

wKgZO2eIZUOAHrctAADcKQSV5Ss198.jpg

wKgZPGeIZUSAL2cwAAHAy6UPouk856.jpg

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    52481

    瀏覽量

    440582
  • wi-fi
    +關(guān)注

    關(guān)注

    14

    文章

    2259

    瀏覽量

    126962
  • 音頻編解碼
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    3171
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Wi-Fi 定位服務(wù)

    Wi-Fi 是一種著名的無線網(wǎng)絡(luò)技術(shù),用于設(shè)備的局域網(wǎng)和互聯(lián)網(wǎng)接入。Wi-Fi 通過 Wi-Fi 網(wǎng)絡(luò)為家庭、辦公室和學(xué)校等環(huán)境提供便捷的無線互聯(lián)網(wǎng)接入服務(wù)。
    發(fā)表于 04-17 15:01

    功德+1,用小安-Eyes-S1做一個(gè)電子木魚

    2024積德累功,心想事成!接下來看看如何用小安-Eyes-S1做一個(gè)電子木魚。01GUI-Guider頁面設(shè)計(jì)先新建一個(gè)工程。直接進(jìn)入U(xiǎn)I設(shè)計(jì)界面,這里用到了兩個(gè)
    的頭像 發(fā)表于 04-09 18:38 ?357次閱讀
    功德+<b class='flag-5'>1</b>,用<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>做一個(gè)電子木魚

    零基礎(chǔ)開發(fā)AiPi-Eyes-S1——通過屏幕輸入連接Wi-Fi

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開始學(xué)習(xí)小安
    的頭像 發(fā)表于 01-15 09:27 ?706次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開發(fā)</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>

    零基礎(chǔ)開發(fā)小安-Eyes-S1進(jìn)階篇】——初識(shí) LVGL 并搭建最小工程

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

    零基礎(chǔ)開發(fā)小安-Eyes-S1——初識(shí)LVGL并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開始學(xué)習(xí)小安
    的頭像 發(fā)表于 01-03 14:09 ?905次閱讀

    零基礎(chǔ)開發(fā)小安-Eyes-S1 外設(shè)——DAC

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開始學(xué)習(xí)小安
    的頭像 發(fā)表于 12-27 10:55 ?1194次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 外設(shè)<b class='flag-5'>篇</b>——DAC

    零基礎(chǔ)開發(fā)小安-Eyes-S1外設(shè)——I2S

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開始學(xué)習(xí)小安
    的頭像 發(fā)表于 12-13 18:02 ?1624次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設(shè)<b class='flag-5'>篇</b>——I2<b class='flag-5'>S</b>

    零基礎(chǔ)開發(fā)小安-Eyes-S1【外設(shè)】——FLASH

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開始學(xué)習(xí)小安
    的頭像 發(fā)表于 12-05 14:31 ?728次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【外設(shè)<b class='flag-5'>篇</b>】——FLASH

    零基礎(chǔ)開發(fā)小安-Eyes-S1 外設(shè) ——I2C

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開始學(xué)習(xí)小安
    的頭像 發(fā)表于 11-27 16:39 ?836次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 外設(shè)<b class='flag-5'>篇</b> ——I2C

    零基礎(chǔ)開發(fā)小安-Eyes-S1【入門】——工程文件架構(gòu)

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

    零基礎(chǔ)開發(fā)小安-Eyes-S1【外設(shè)】——PWM

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

    零基礎(chǔ)開發(fā)小安-Eyes-S1外設(shè)——GPIO中斷編程

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

    零基礎(chǔ)開發(fā)小安-Eyes-S1外設(shè)——GPIO 輸入輸出

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 從開始學(xué)習(xí)小安
    的頭像 發(fā)表于 10-25 13:50 ?1444次閱讀
    <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設(shè)<b class='flag-5'>篇</b>——GPIO <b class='flag-5'>輸入</b>輸出

    開發(fā)教程 零基礎(chǔ)開發(fā)小安-Eyes-S1入門——Win下SSH連接Linux

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入U(xiǎn)SB攝像頭。 為了方便大家更好的開發(fā),在Windows下使用VScode建立遠(yuǎn)程
    的頭像 發(fā)表于 09-24 14:31 ?584次閱讀
    <b class='flag-5'>開發(fā)</b>教程 <b class='flag-5'>零基</b>礎(chǔ)<b class='flag-5'>開發(fā)</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聯(lián)網(wǎng)的配置過程

    通過SSID掃描可以查看;輸入密碼,點(diǎn)擊保存; 在SSID掃描頁面中查看是否連接成功, 如果沒有請檢查認(rèn)證方式、加密方式、密碼是否輸入正確;
    發(fā)表于 07-25 06:09
    主站蜘蛛池模板: 亚洲成a人片在线观看88 | 国产婷婷色一区二区三区深爱网 | 欧美成人午夜视频 | 色噜噜噜噜噜在线观看网站 | 1024 在线观看视频免费 | 一区二区三区久久 | 六月激情婷婷 | 国模大尺度在线 | 午夜一级毛片看看 | 玖玖在线国产精品 | 国产牛牛 | 成人在线免费网站 | 久久这里只有精品任你色 | 日本一区二区三区欧美在线观看 | 五月天毛片 | 美女和帅哥在床上玩的不可描述 | 深深激情网 | 午夜影视免费完整高清在线观看网站 | 成人午夜在线观看国产 | 干人人| 色在线网| 天天干天天拍天天射天天添天天爱 | 4438x成人全国最大 | 很黄网站 | 91大神在线精品网址 | 欧美一区二区三区不卡视频 | 四虎在线永久 | 午夜免费观看 | 免费观看在线永久免费xx视频 | 天堂福利视频 | 三级精品 | www.avtt天堂网| 亚欧有色亚欧乱色视频 | 国产欧美日韩综合精品一区二区 | 天天草天天射 | 亚洲三级理论 | 色先峰| 妖精视频永久在线入口 | 性色在线播放 | 亚洲精品卡1卡二卡3卡四卡 | 在线成人看片 |