【离线语音专题④】安信可VC离线语音开发板二次开发语音控制LED灯

[复制链接]
查看686 | 回复6 | 2024-1-16 11:16:50 | 显示全部楼层 |阅读模式
前言

经过前面两章的学习,相信大家已经了解开发环境的搭建流程。甚至已经编译过固件,并进行了测试。本文将从产品创建开始讲起,一步一步实现语音控制LED的功能。
安信可语音开放平台:http://voice.ai-thinker.com/#/
一、RGB品类产品生成

在灯具品类选择RGB灯,选择场景里选择纯离线方案,选择模组可以根据自己实际的硬件选择,我这里选择VC-02。填写产品信息中的产品名称随意天线,语言选择中文就好。下拉到最底部,点击保存。
1.gif
1. 产品功能定义

在语音SDK选项中,前端信号处理、Pin脚配置保持默认
2-.png
2. 定义控制LED的唤醒词及回复语
3.png
3. 定义命令词及回复语
在基础信息中
· 行为:即action,用于代码内部识别,必填

· 命令词:即语音命令词,需要给模组写入的指令,多个命令用 “ | ”隔开,必填
· 回复语:即命令词对应的回复语,多个回复语用 “ | ”隔开,必填
4.png
4. 添加控制

在控制详情中添加命令词对应做的控制:
0.png
在开发板中,默认引出了三个LED灯,对应的GPIO分别是:

5.png
可以添加唤醒状态灯,例如:蓝色灯为唤醒状态灯、暖光灯为被命令词控制灯。
6.png
5. 完整的制作过程(包含SDK生成)
7.gif

二、SDK下载和固件下载
8.png

SDK的生成需要时间,不用着急。

如果不需要再外加功能,可以直接选择固件下载,可生成和定制功能一致的固件,之后烧录即可。
如需外加别的功能,比如退出唤醒关闭蓝色灯。就下载SDK,修改源码实现功能。
1. 固件下载
固件下载是通过远程服务器编译当前SDK后生成的固件,一般有四个固件,它们分别是:
uni_app_debug.bin: 调试版固件,有调试信息输出,需要用专门的调试器进行烧录
uni_app_debug_update.bin: 调试版的串口升级固件,可以使用UART进行烧录
uni_app_release.bin: 正式版固件,需要用专门的调试器进行烧录
uni_app_release_update.bin: 正式版的串口升级固件,可以使用UART进行烧录
9.png

2. SDK下载
SDK下载的文件是压缩格式,推荐使用Linux系统进行解压,解压指令:
  1. tar -xzvf uni_hb_m_solution-xxxxx-xxxxxxxx.tar.gz
复制代码
11.png

三、代码修改及编译

我们需要在这个SDK中添加一个退出唤醒关闭蓝色LED灯的功能,所以需要看一下代码。我们定制的SDK的功能默认是在user/src/examples/hb_auto_gpio.c 中,所使用的Demo是USER_DEMO_AUTO_GPIO :
12.png

注册退出唤醒事件及其回调
在原代码中。默认已经注册了唤醒事件的回调。并且在回调中点亮了蓝色LED灯(GPIO_A25高电平),需要添加的功能:退出唤醒时关闭蓝色LED灯,修改步骤:
· 注册退出唤醒事件
· 添加退出唤醒事件回调的功能
  1. //退出唤醒回调
  2. static void _goto_sleeping_cb(USER_EVENT_TYPE event, user_event_context_t* context)
  3. {
  4.   event_goto_sleeping_t* sleeping = NULL;
  5.   if (context)
  6.   {
  7.     sleeping = &context->goto_sleeping;
  8.     user_gpio_set_value(GPIO_NUM_A25, 0);
  9.     user_player_reply_list_random(sleeping->reply_files);
  10.   }

  11. }

  12. static void _register_event_callback(void) {
  13. ....
  14.   //注册退出唤醒回调
  15.   user_event_subscribe_event(USER_GOTO_SLEEPING, _goto_sleeping_cb);
  16. }
复制代码
为了方便烧录我们使用串口方式进行烧录,在路径uni_hb_m_solution/unione_lite_app_hb_m执行编译领命:
  1. ./build.sh update
复制代码
之后,使用串口升级即可验证功能,
四、更多资料
安信可语音开放平台:http://voice.ai-thinker.com
官方官网:https://www.ai-thinker.com
开发DOCS:https://docs.ai-thinker.com
技术支持:support@aithinker.com

5.png
用心做好保姆工作
回复

使用道具 举报

1084504793 | 2024-1-16 11:19:31 | 显示全部楼层
回复

使用道具 举报

lazy | 2024-1-16 11:31:28 | 显示全部楼层
  每日必读
回复 支持 反对

使用道具 举报

bzhou830 | 2024-1-16 13:47:09 | 显示全部楼层
打卡,学习
选择去发光,而不是被照亮
回复

使用道具 举报

干簧管 | 2024-1-16 15:52:14 | 显示全部楼层
给园长点赞
回复 支持 反对

使用道具 举报

timo | 2024-1-16 16:43:59 | 显示全部楼层
打开学习
回复

使用道具 举报

WT_0213 | 2024-1-17 08:42:49 | 显示全部楼层
给园长点赞
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则