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

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

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

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

ESP-BOX 智能藥盒源碼解析(續(xù))

啟明云端 ? 2024-10-10 08:01 ? 次閱讀

藥盒基本概述請(qǐng)參考上一篇文章

bace28c8-869a-11ef-bb4b-92fbcf53809c.jpg

源碼解析


主函數(shù)部分___main/main.c


baf266f2-869a-11ef-bb4b-92fbcf53809c.png

初始化 NVS:初始化非易失性存儲(chǔ)(NVS),如果需要擦除和重新初始化 NVS,會(huì)進(jìn)行相應(yīng)處理。

檢查百度 API 密鑰:調(diào)用 baidu_api_key_check函數(shù)檢查是否配置了百度 API 密鑰。

初始化 I2C初始化 I2C 總線,用于觸摸和音頻設(shè)備。

啟動(dòng)顯示和 LVGL啟動(dòng)顯示并設(shè)置默認(rèn)亮度。

顯示用戶界面:調(diào)用 app_lvgl_display函數(shù)顯示用戶界面。

初始化 RainMaker:啟動(dòng) RainMaker 服務(wù),并等待其連接。

初始化驅(qū)動(dòng)和其他組件:初始化驅(qū)動(dòng)、語音識(shí)別、文本到語音轉(zhuǎn)換和 UVC 攝像頭。

輸出剩余內(nèi)存:輸出啟動(dòng)后的剩余內(nèi)存。

主循環(huán):進(jìn)入一個(gè)無限循環(huán),每秒延遲一次;等待用戶操作。

主要功能模塊


LVGL___main/ui/ui.c


從主函數(shù)的 app_lvgl_display()調(diào)用,ui.c 用于管理多個(gè)屏幕和控件的初始化和事件處理。

bb1c01d8-869a-11ef-bb4b-92fbcf53809c.png

屏幕初始化函數(shù),這個(gè)函數(shù)用于初始化所有屏幕,并設(shè)置默認(rèn)的顯示主題。最后,它將ui_Screen1作為初始屏幕加載。

bb3b44ee-869a-11ef-bb4b-92fbcf53809c.png

屏幕和控件的初始化函數(shù),這些函數(shù)用于初始化各個(gè)屏幕及其上的控件。

bb5b2106-869a-11ef-bb4b-92fbcf53809c.png

屏幕事件處理函數(shù),這些函數(shù)用于處理用戶在各個(gè)屏幕上的操作事件,如手勢(shì)和按鈕點(diǎn)擊。

bb635830-869a-11ef-bb4b-92fbcf53809c.png

事件處理函數(shù)實(shí)現(xiàn),這些函數(shù)根據(jù)事件類型和手勢(shì)方向來切換屏幕或執(zhí)行其他操作。

bb744d8e-869a-11ef-bb4b-92fbcf53809c.png

UVC攝像頭___main/app/app_uvc_camera.c

從主函數(shù)的 app_uvc_camera_init()調(diào)用,使用了樂鑫的 USB 流媒體庫(kù),能夠初始化攝像頭、處理攝像頭幀數(shù)據(jù),并提供掛起和恢復(fù)流媒體的功能。

掛起和恢復(fù)UVC流媒體函數(shù)app_uvc_suspend函數(shù)調(diào)用usb_streaming_control函數(shù)掛起流媒體,而app_uvc_resume函數(shù)恢復(fù)流媒體。

bb9cd6fa-869a-11ef-bb4b-92fbcf53809c.png

獲取當(dāng)前幀數(shù)據(jù)函數(shù),返回當(dāng)前幀數(shù)據(jù)的指針。

bbcb813a-869a-11ef-bb4b-92fbcf53809c.png

初始化UVC攝像頭

初始化UVC攝像頭函數(shù),包括以下步驟:

1.分配內(nèi)存:

為USB傳輸緩沖區(qū)分配雙緩沖區(qū)xfer_buffer_axfer_buffer_b

為幀緩沖區(qū)分配內(nèi)存frame_buffer

2.配置UVC功能:

設(shè)置UVC配置,包括幀寬度、高度、幀間隔、傳輸緩沖區(qū)大小、幀緩沖區(qū)和回調(diào)函數(shù)。

3.配置UVC流媒體:

調(diào)用uvc_streaming_config函數(shù)配置UVC流媒體,如果配置失敗,記錄錯(cuò)誤日志。

4.啟動(dòng)USB流媒體:

調(diào)用usb_streaming_start函數(shù)啟動(dòng)USB流媒體。

bbe18b74-869a-11ef-bb4b-92fbcf53809c.png

ESP_SR___main/app/app_sr.c

從主函數(shù)的 app_sr_start()調(diào)用,app_sr.c 是基于 FreeRtos的語音識(shí)別應(yīng)用,能夠檢測(cè)喚醒詞和語音命令,并將結(jié)果發(fā)送到隊(duì)列進(jìn)行處理。


應(yīng)用啟動(dòng)函數(shù),初始化語音識(shí)別系統(tǒng),包括創(chuàng)建結(jié)果隊(duì)列、加載模型、配置AFE和多網(wǎng)絡(luò)接口,并創(chuàng)建音頻饋送任務(wù)、音頻檢測(cè)任務(wù)和語音識(shí)別處理任務(wù)。

bc056e68-869a-11ef-bb4b-92fbcf53809c.png

音頻饋送任務(wù),從麥克風(fēng)讀取音頻數(shù)據(jù),并將其饋送到AFE模塊進(jìn)行處理。

bc17499e-869a-11ef-bb4b-92fbcf53809c.png

音頻檢測(cè)任務(wù),檢測(cè)喚醒詞和語音命令,并將結(jié)果發(fā)送到隊(duì)列進(jìn)行處理。

bc3fa0a6-869a-11ef-bb4b-92fbcf53809c.png

重置命令列表函數(shù),用于重置語音命令列表。

bc66f57a-869a-11ef-bb4b-92fbcf53809c.png

TTS___main/app/app_sr_tts.c

從主函數(shù)的 app_tts_init()調(diào)用,app_sr_tts.c 實(shí)現(xiàn)了一個(gè)文本到語音(TTS)轉(zhuǎn)換的應(yīng)用,能夠初始化TTS系統(tǒng)并播放給定的文本。

TTS初始化

TTS初始化函數(shù),初始化TTS系統(tǒng),包括以下步驟:

1.查找語音數(shù)據(jù)分區(qū):

使用esp_partition_find_first函數(shù)查找名為"voice_data"的分區(qū)。

如果找不到分區(qū),記錄錯(cuò)誤日志并返回錯(cuò)誤。

2.映射語音數(shù)據(jù)分區(qū):

使用esp_partition_mmap函數(shù)將分區(qū)映射到內(nèi)存。

如果映射失敗,記錄錯(cuò)誤日志并返回錯(cuò)誤。

3.初始化語音設(shè)置:

使用esp_tts_voice_set_init函數(shù)初始化語音設(shè)置。

創(chuàng)建TTS句柄,如果創(chuàng)建失敗,記錄錯(cuò)誤日志并返回錯(cuò)誤。

4.初始化揚(yáng)聲器編碼器設(shè)備:

使用bsp_audio_codec_speaker_init函數(shù)初始化揚(yáng)聲器編碼器設(shè)備。

設(shè)置默認(rèn)音量。

bc846d3a-869a-11ef-bb4b-92fbcf53809c.png

TTS播放函數(shù)

1.打開揚(yáng)聲器設(shè)備:

設(shè)置采樣率、通道數(shù)和位深度。

使用esp_codec_dev_open函數(shù)打開揚(yáng)聲器設(shè)備。

2.播放提示文本:

記錄要播放的文本。

使用esp_tts_parse_chinese函數(shù)解析中文文本。

使用esp_tts_stream_play函數(shù)獲取PCM數(shù)據(jù),并使用esp_codec_dev_write函數(shù)將數(shù)據(jù)寫入揚(yáng)聲器設(shè)備。

循環(huán)播放直到所有數(shù)據(jù)播放完畢。

3.關(guān)閉揚(yáng)聲器設(shè)備并重置TTS流:

使用esp_codec_dev_close函數(shù)關(guān)閉揚(yáng)聲器設(shè)備。

使用esp_tts_stream_reset函數(shù)重置TTS流。

bca440e2-869a-11ef-bb4b-92fbcf53809c.png

Rainmaker___main/rmker/rmker.c

從主函數(shù)的 app_rmaker_start()調(diào)用,rmker.c 主要功能是通過 Wi-Fi 連接到 RainMaker 云平臺(tái),并管理藥盒和心率檢測(cè)設(shè)備。

啟動(dòng)RainMaker任務(wù)


啟動(dòng) RainMaker 任務(wù),創(chuàng)建并啟動(dòng) RainMaker 任務(wù)。

bcaef802-869a-11ef-bb4b-92fbcf53809c.png

獲取和設(shè)置藥盒狀態(tài)參數(shù),提供了獲取和設(shè)置藥盒狀態(tài)參數(shù)的函數(shù)。

bcb667ae-869a-11ef-bb4b-92fbcf53809c.png

更新和報(bào)告藥盒和心率數(shù)據(jù),提供了更新和報(bào)告藥盒和心率數(shù)據(jù)的函數(shù)。

bcd37984-869a-11ef-bb4b-92fbcf53809c.png

重置 Wi-Fi,提供了重置 Wi-Fi 的函數(shù)。

bceec022-869a-11ef-bb4b-92fbcf53809c.png

處理來自 RainMaker 云的命令,處理來自 RainMaker 云的命令,根據(jù)命令執(zhí)行相應(yīng)的操作,如打開/關(guān)閉藥盒、通知用戶等。

bcfbe5d6-869a-11ef-bb4b-92fbcf53809c.png

事件處理函數(shù),處理 RainMaker 事件,如連接和斷開連接,并根據(jù)事件更新顯示屏。

bd24bb46-869a-11ef-bb4b-92fbcf53809c.png

創(chuàng)建藥盒和心率檢測(cè)設(shè)備,創(chuàng)建藥盒和心率檢測(cè)設(shè)備,并添加相應(yīng)的參數(shù)和回調(diào)函數(shù)。

bd49497a-869a-11ef-bb4b-92fbcf53809c.png

bd740f5c-869a-11ef-bb4b-92fbcf53809c.png

RainMaker 主任務(wù),初始化網(wǎng)絡(luò)和 RainMaker 節(jié)點(diǎn),創(chuàng)建設(shè)備,啟用時(shí)區(qū)和調(diào)度服務(wù),注冊(cè)事件處理函數(shù),啟動(dòng) RainMaker 代理,并啟動(dòng) Wi-Fi。

bd9b34b0-869a-11ef-bb4b-92fbcf53809c.png

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

    關(guān)注

    0

    文章

    187

    瀏覽量

    34232
  • 源碼
    +關(guān)注

    關(guān)注

    8

    文章

    656

    瀏覽量

    29781
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4353

    瀏覽量

    63292
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    factory demo編譯報(bào)錯(cuò)的原因?

    sdkconfig \'F:/01_ESP_STM_PRJ/ESP32/ESP-BOX/esp-box-master/examples/factory_demo/sdkconfig
    發(fā)表于 06-27 06:43

    esp-box-0.5.0\\esp-box-0.5.0\\examples\\factory_demo編譯出錯(cuò)是什么原因?qū)е碌模?/a>

    esp-box-0.5.0esp-box-0.5.0examplesfactory_demo時(shí),報(bào)錯(cuò),請(qǐng)問這是什么問題 又從Github上下載源碼esp-box-master.zip, 里面的例程
    發(fā)表于 06-27 07:04

    ESP-BOX的Git上的PCB文檔用AD打不開,說文件損壞怎么解決?

    ESP-BOX的Git上的PCB文檔用AD打不開,說文件損壞,能否提供一下AD版本的layout供參考?非常感謝!!!
    發(fā)表于 06-27 06:33

    esp-skainet的example在ESP-BOX上報(bào)錯(cuò)的原因?怎么處理?

    esp-skainet的example選擇 esp32s3,并在menuconfig中設(shè)置esp-box,編譯并燒錄,發(fā)現(xiàn)無法正常工作,報(bào)錯(cuò)如下: E (372) SPIFFS: spiffs partition could
    發(fā)表于 06-27 06:06

    ESP-BOX開發(fā)板燒錄時(shí)報(bào)錯(cuò)的原因?

    ESP-BOX開發(fā)板已經(jīng)正常使用幾個(gè)星期,今天突然開始報(bào)錯(cuò),不同固件均報(bào)錯(cuò),具體如下: Executing action: flashSerial port
    發(fā)表于 06-27 06:58

    esp-box的slint例子為啥燒錄后無法顯示怎么解決?

    設(shè)備:esp-box-3b 開發(fā)環(huán)境:esp-idf + slint 按照官方的slint開發(fā)例子,運(yùn)行和燒錄都沒問題,但是屏幕無法顯示
    發(fā)表于 07-22 08:14

    基于STM32的智能藥盒

    的今天,這些都不是問題,我們?cè)O(shè)計(jì)并開發(fā)了一款名為“健康衛(wèi)士”的智能藥盒,可以聯(lián)網(wǎng)監(jiān)測(cè)用戶的服藥情況,提示用戶服藥,并且根據(jù)用戶設(shè)定自動(dòng)提取所需藥物。哎呀!!!!!!!忘記了我是來參賽的,說下這次大賽要求
    發(fā)表于 12-07 10:09

    如何通過ESP32S3的USB進(jìn)行ESP-BOX固件升級(jí)呢?

    如果通過USB口,在不需要按IO0的情況下,進(jìn)行升級(jí)。目前測(cè)試ESP-BOX的固件可以進(jìn)行升級(jí),通過VCS的IDF創(chuàng)建的測(cè)試用例,也可以自動(dòng)完成升級(jí),但是通過micropython的固件,確無法完成。請(qǐng)問哪個(gè)大神有解決方案。
    發(fā)表于 03-03 09:06

    求助,請(qǐng)問esp-box使用的LCD規(guī)格書哪里能查看?

    請(qǐng)問esp-box使用的LCD規(guī)格書哪里能查看?
    發(fā)表于 03-09 08:38

    ESP-BOX工程的master分支下,如何定位APP的入口地址?

    我在ESP-BOX工程的master分支下,IDF是release/v4.4 commit id: 2bdea81b2a,編譯了范例(比如image-display);燒錄開機(jī)后,出現(xiàn) 如下LOG后,再?zèng)]有其它輸出了。看樣子是app_main部分引導(dǎo)不了?能否提示一下,如何定位APP的入口地址?
    發(fā)表于 03-09 08:29

    特別提醒藍(lán)牙語音智能藥盒的設(shè)計(jì)思路(一)

    一、前言隨著人口老齡化和慢性病的不斷增加,藥品的使用量也在逐年增加。而藥品的正確使用和按時(shí)服用對(duì)于病人的健康恢復(fù)至關(guān)重要。中國(guó)的智能藥盒正在進(jìn)入迅速發(fā)展階段,目前已經(jīng)有許多商業(yè)智能藥盒
    發(fā)表于 03-24 11:17

    智能藥盒電路原理圖

    藥盒提醒~~智能藥盒電路原理圖,感興趣的可以看看。
    發(fā)表于 08-30 18:11 ?14次下載

    特別提醒藍(lán)牙語音智能藥盒的設(shè)計(jì)思路(一)

    隨著人口老齡化和慢性病的不斷增加,藥品的使用量也在逐年增加。而藥品的正確使用和按時(shí)服用對(duì)于病人的健康恢復(fù)至關(guān)重要。 中國(guó)的智能藥盒正在進(jìn)入迅速發(fā)展階段,目前已經(jīng)有許多商業(yè)智能藥盒產(chǎn)品
    的頭像 發(fā)表于 03-24 11:12 ?1206次閱讀
    特別提醒藍(lán)牙語音<b class='flag-5'>智能</b><b class='flag-5'>藥盒</b>的設(shè)計(jì)思路(一)

    拿來就能用 | ESP AI音箱方案介紹

    本案例使用ESP-BOX和OpenAIAPI開發(fā)一款語音控制的聊天機(jī)器人(chatbot)。ESP-BOXAI音箱方案介紹本案例將介紹如何使用ESP-BOX和OpenAIAPI開發(fā)一款語音控制的聊天
    的頭像 發(fā)表于 03-21 08:03 ?788次閱讀
    拿來就能用 | <b class='flag-5'>ESP</b> AI音箱方案介紹

    樂鑫ESP32-S3-BOX3方案智能AI藥盒應(yīng)用,啟明云端技術(shù)支持和定制化服務(wù)

    在快節(jié)奏的現(xiàn)代生活中,健康管理變得越來越重要。但繁忙的日常往往讓我們難以時(shí)刻關(guān)注自己的健康狀況,尤其是藥物管理。今天,我們帶您一起重現(xiàn)一款的新產(chǎn)品——ESP_BOX智能藥盒,它不僅能夠提醒您按時(shí)服藥
    的頭像 發(fā)表于 09-25 08:00 ?1300次閱讀
    樂鑫<b class='flag-5'>ESP32-S3-BOX</b>3方案<b class='flag-5'>智能</b>AI<b class='flag-5'>藥盒</b>應(yīng)用,啟明云端技術(shù)支持和定制化服務(wù)
    主站蜘蛛池模板: 69ZXX少妇内射无码 | 亚洲AV精品无码成人 | 亚洲精品www久久久久久久软件 | 777久久人妻少妇嫩草AV蜜桃 | 韩国免费啪啪漫画无遮拦健身教练 | 在线 自拍 综合 亚洲 欧美 | 精品成人在线视频 | 九九在线免费视频 | 动漫美女3d被爆漫画 | 亚洲性夜夜夜色综合网 | 老阿姨才是最有味的一区二区 | 姉调无修版ova国语版 | 亚洲欧美精品无码一区二在线 | 国产午夜免费视频片夜色 | 爽爽影院免费观看 | 亚洲爆乳少妇精品无码专区 | 久久爽狠狠添AV激情五月 | 暖暖日本大全免费观看 | 啊灬啊别停灬用力啊在线观看视频 | 全黄H全肉禁乱公 | 美国一级黄色 | 国产精品第100页 | 24小时日本在线观看片免费 | 含羞草影院免费区 | 亚洲中文在线偷拍 | 日韩午夜中文字幕电影 | 亚洲 欧美 国产 在线 日韩 | 18国产精品白浆在线观看免费 | 国产短视频精品区 | 免费可以看黄的视频s色 | 男生J桶进女人P又色又爽又黄 | 欧美精品九九99久久在免费线 | 国产人妻人伦精品59HHH | 99久久精品国内 | 东北女人一级毛片 | 一色屋精品亚洲香蕉网站 | 超碰免费视频在线观看 | 国产精品欧美久久久久天天影视 | 日韩视频中文在线一区 | 性夜影院午夜看片 | 性888xxxx入欧美 |