<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x
    查看: 2408|回復: 0
    打印 上一主題 下一主題

    實用教程 | 安信可離線語音VC系列二次開發,實現語音控制LED燈

    [復制鏈接]
    跳轉到指定樓層
    樓主
    發表于 2022-6-20 14:06:41 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
    關鍵詞: 離線語音 , LED燈 , 二次開發
    一、RGB品類產品生成
    二、SDK下載和固件下載
    三、代碼修改及編譯
    四、其它

    本文將從產品創建開始講起,一步一步實現語音控制LED的功能。

    RGB品類產品生成

    在【燈具】品類選擇【RGB燈】,【選擇場景】里選擇純離線方案,【選擇模組】可以根據自己實際的硬件選擇,我這里選擇VC-02!咎顚懏a品信息】中的產品名稱按需填寫,語言選擇中文即可。下拉到最底部,點擊【保存】。

    1.產品功能定義
           在語音SDK選項中,前端信號處理、Pin腳配置保持默認


    2.定義控制LED的喚醒詞及回復語


    3.定義命令詞及回復語
           在基礎信息中
    • 行為:即action,用于代碼內部識別,必填
    • 命令詞:即語音命令詞,需要給模組寫入的指令,多個命令用 “ | ”隔開,必填
    • 回復語:即命令詞對應的回復語,多個回復語用 “ | ”隔開,必填


    4. 添加控制
    在控制詳情中添加命令詞對應做的控制:
    在開發板中,默認引出了三個LED燈,對應的GPIO分別是:
    可以添加喚醒狀態燈,例如:藍色燈為喚醒狀態燈、暖光燈為被命令詞控制燈。
    5.完整的制作過程(包含SDK生成)
    https://aithinker.blog.csdn.net/article/details/124098329
    或點擊閱讀原文查看
    二、
    SDK下載和固件下載
    SDK的生成需要時間,不用著急。
           如果不需要再外加功能,可以直接選擇固件下載,可生成和定制功能一致的固件,之后燒錄即可。
           如需外加別的功能,比如退出喚醒關閉藍色燈。就下載SDK,修改源碼實現功能。
    1.固件下載
           固件下載是通過遠程服務器編譯當前SDK后生成的固件,一般有四個固件,它們分別是:
    • uni_app_debug.bin: 調試版固件,有調試信息輸出,需要用專門的調試器進行燒錄
    • uni_app_debug_update.bin: 調試版的串口升級固件,可以使用UART進行燒錄
    • uni_app_release.bin: 正式版固件,需要用專門的調試器進行燒錄
    • uni_app_release_update.bin:正式版的串口升級固件,可以使用UART進行燒錄


    2.SDK下載
           SDK下載的文件是壓縮格式,推薦使用Linux系統進行解壓,解壓指令:

    tar -xzvf uni_hb_m_solution-xxxxx-xxxxxxxx.tar.gz
    三、
    代碼修改及編譯
           我們需要在這個SDK中添加一個退出喚醒關閉藍色LED燈的功能,所以需要看一下代碼。我們定制的SDK的功能默認是在user/src/examples/hb_auto_gpio.c中,所使用的Demo是USER_DEMO_AUTO_GPIO :
    注冊退出喚醒事件及其回調
           在源代碼中。默認已經注冊了喚醒事件的回調。并且在回調中點亮了藍色LED燈(GPIO_A25高電平),需要添加的功能:退出喚醒時關閉藍色LED燈,修改步驟:
    • 注冊退出喚醒事件
    • 添加退出喚醒時間回調的功能


    //退出喚醒回調static void _goto_sleeping_cb(USER_EVENT_TYPE event, user_event_context_t* context){  event_goto_sleeping_t* sleeping = NULL;  if (context)   {    sleeping = &context->goto_sleeping;   user_gpio_set_value(GPIO_NUM_A25, 0);    user_player_reply_list_random(sleeping->reply_files);     }}

    static void _register_event_callback(void) { ....  //注冊退出喚醒回調 user_event_subscribe_event(USER_GOTO_SLEEPING, _goto_sleeping_cb);}
           為了方便燒錄我們使用串口方式進行燒錄,在路徑uni_hb_m_solution/unione_lite_app_hb_m執行編譯命令:

    ./build.sh update
    之后,使用串口升級即可驗證功能。


    微信圖片_20220620135955.png (46.37 KB)

    微信圖片_20220620135955.png
    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規則

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷