目
錄
一、RGB品類產(chǎn)品生成
二、SDK下載和固件下載
三、代碼修改及編譯
四、其它
本文將從產(chǎn)品創(chuàng)建開始講起,一步一步實現(xiàn)語音控制LED的功能。
RGB品類產(chǎn)品生成
在【燈具】品類選擇【RGB燈】,【選擇場景】里選擇純離線方案,【選擇模組】可以根據(jù)自己實際的硬件選擇,我這里選擇VC-02。【填寫產(chǎn)品信息】中的產(chǎn)品名稱按需填寫,語言選擇中文即可。下拉到最底部,點擊【保存】。
1.產(chǎn)品功能定義
在語音SDK選項中,前端信號處理、Pin腳配置保持默認(rèn)
2.定義控制LED的喚醒詞及回復(fù)語
3.定義命令詞及回復(fù)語
在基礎(chǔ)信息中
行為:即action,用于代碼內(nèi)部識別,必填
命令詞:即語音命令詞,需要給模組寫入的指令,多個命令用 “ | ”隔開,必填
回復(fù)語:即命令詞對應(yīng)的回復(fù)語,多個回復(fù)語用 “ | ”隔開,必填
4. 添加控制
在控制詳情中添加命令詞對應(yīng)做的控制:
在開發(fā)板中,默認(rèn)引出了三個LED燈,對應(yīng)的GPIO分別是:
可以添加喚醒狀態(tài)燈,例如:藍(lán)色燈為喚醒狀態(tài)燈、暖光燈為被命令詞控制燈。
5.完整的制作過程(包含SDK生成)
https://aithinker.blog.csdn.net/article/details/124098329
或點擊閱讀原文查看
二、
SDK下載和固件下載
SDK的生成需要時間,不用著急。
如果不需要再外加功能,可以直接選擇固件下載,可生成和定制功能一致的固件,之后燒錄即可。
如需外加別的功能,比如退出喚醒關(guān)閉藍(lán)色燈。就下載SDK,修改源碼實現(xiàn)功能。
1.固件下載
固件下載是通過遠(yuǎn)程服務(wù)器編譯當(dāng)前SDK后生成的固件,一般有四個固件,它們分別是:
uni_app_debug.bin: 調(diào)試版固件,有調(diào)試信息輸出,需要用專門的調(diào)試器進(jìn)行燒錄
uni_app_debug_update.bin: 調(diào)試版的串口升級固件,可以使用UART進(jìn)行燒錄
uni_app_release.bin: 正式版固件,需要用專門的調(diào)試器進(jìn)行燒錄
uni_app_release_update.bin:正式版的串口升級固件,可以使用UART進(jìn)行燒錄
2.SDK下載
SDK下載的文件是壓縮格式,推薦使用
Linux系統(tǒng)進(jìn)行解壓,解壓指令:
tar -xzvf uni_hb_m_solution-xxxxx-xxxxxxxx.tar.gz
三、
代碼修改及編譯
我們需要在這個SDK中添加一個退出喚醒關(guān)閉藍(lán)色LED燈的功能,所以需要看一下代碼。我們定制的SDK的功能默認(rèn)是在user/src/examples/hb_auto_gpio.c中,所使用的Demo是USER_DEMO_AUTO_GPIO :
注冊退出喚醒事件及其回調(diào)
在源代碼中。默認(rèn)已經(jīng)注冊了喚醒事件的回調(diào)。并且在回調(diào)中點亮了藍(lán)色LED燈(GPIO_A25高電平),需要添加的功能:退出喚醒時關(guān)閉藍(lán)色LED燈,修改步驟:
注冊退出喚醒事件
添加退出喚醒時間回調(diào)的功能
//退出喚醒回調(diào)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) { .... //注冊退出喚醒回調(diào) user_event_subscribe_event(USER_GOTO_SLEEPING, _goto_sleeping_cb);} 為了方便燒錄我們使用串口方式進(jìn)行燒錄,在路徑uni_hb_m_solution/unione_lite_app_hb_m執(zhí)行編譯命令:
./build.sh update之后,使用串口升級即可驗證功能。