【离线语音专题④】安信可VC离线语音开发板二次开发语音控制LED灯
系列文章目录
【离线语音专题①】安信可最新离线语音模组VC系列出厂固件使用教程——SDK开源?
【离线语音专题②】安信可语音开放平台的使用——VC系列SDK的获取
【离线语音专题③】安信可VC系列离线语音SDK开发环境搭建——基于Linux系统
文章目录
- 系列文章目录
- 前言
- 一、RGB品类产品生成
- 1.产品功能定义
- 2.定义控制LED的唤醒词及回复语
- 3.定义命令词及回复语
- 4. 添加控制
- 5.完整的制作过程(包含SDK生成)
- 二、SDK下载和固件下载
- 1.固件下载
- 2.SDK下载
- 三、代码修改及编译
- 注册退出唤醒事件及其回调
- 四、友情连接
前言
经过前面两章的学习,相信大家已经了解开发环境的搭建流程。甚至已经编译过固件,并进行了测试。本文将从产品创建开始讲起,一步一步实现语音控制LED的功能。
安信可语音开放平台:http://voice.ai-thinker.com/#/
一、RGB品类产品生成
在灯具
品类选择RGB灯
,选择场景
里选择纯离线方案,选择模组
可以根据自己实际的硬件选择,我这里选择VC-02。填写产品信息
中的产品名称随意天线,语言选择中文就好。下拉到最底部,点击保存
。
1.产品功能定义
在语音SDK
选项中,前端信号处理
、Pin脚配置
保持默认
2.定义控制LED的唤醒词及回复语
3.定义命令词及回复语
在基础信息
中
- 行为:即action,用于代码内部识别,
必填
- 命令词:即语音命令词,需要给模组写入的指令,多个命令用 “ | ”隔开,
必填
- 回复语:即命令词对应的回复语,多个回复语用 “ | ”隔开,
必填
4. 添加控制
在控制详情
中添加命令词对应做的控制:
在开发板中,默认引出了三个LED灯,对应的GPIO分别是:
LED | GPIO |
---|---|
蓝色灯 (React) | GPIO_A25 |
暖光灯(Warn) | GPIO_B2 |
冷光灯(Cool) | GPIO_B3 |
可以添加唤醒状态灯,例如:蓝色灯为唤醒状态灯、暖光灯为被命令词控制灯。
5.完整的制作过程(包含SDK生成)
二、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
之后,使用串口升级即可验证功能,
四、友情连接
安信可语音开放平台:http://voice.ai-thinker.com
官方官网:https://www.ai-thinker.com
开发DOCS:https://docs.ai-thinker.com
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com
【离线语音专题④】安信可VC离线语音开发板二次开发语音控制LED灯相关推荐
- 乐鑫Esp32学习之旅 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,拍照图片通过有线串口传到上位机PC端。(附带设备端+PC端源码)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...
- 乐鑫Esp32学习之旅28 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现MQTT远程拍照传输到私有服务器。(附带源码)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- 乐鑫Esp32学习之旅29 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现本地视频流监控。(附带源码)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- 【GPRS模组】 安信可A9G 基于OpenCPU的SDK二次开发
采用安信可基于A9G的pudding开发板,支持SDK片上开发和AT指令开发,SDK开发不需要另外使用单片机作为控制板,用起来非常方便,适合开发短小精悍的产品! 一.硬件介绍 采用安信可基于A9G的p ...
- 【PB03F 超详细-环境搭建】蓝牙5.2安信可PB-03F-Kit开发板二次开发环境搭建
标题 本博文介绍安信可PB-03F-Kit开发板的基本情况.开发环境搭建,以及以点亮LED为例介绍程序编写和固件烧录的操作流程. 目录 标题 0.硬件介绍 PB03模组介绍 PB-03F-Kit开发板 ...
- 【安信可ESP32语音开发板专题①】ESP32-A1S音频开发板之离线语音识别控制LED灯
---------- 本博客学习由 安信可开源团队 潜心编写,做ESP32-A1S离线语音初步入门技术交流分享.如有不完善之处,请留言,本团队及时更改. 文章目录 一.前言 二.离线语音框架 2.1 ...
- esp32录音功能开发_【安信可ESP32语音开发板专题①】ESP32-A1S音频开发板之离线语音识别控制LED灯...
本博客学习由 一.前言 离线语音,顾名思义:在不连网络的状态下,产品能识别语音指令并执行相应的控制输出. 安信可基于乐鑫ESP32芯片开发的ESP32-A1S开发板智能语音助手,可支持唤醒词引擎(Wa ...
- LL库下STM32使用安信可VB离线语音识别
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.使用中遇到的最大问题? 二.思路 总结 前言 安信可VB系列离线语音模块搭配STM32F103ZET6使用,劝各位 ...
- 【离线语音专题①】安信可最新离线语音模组VC系列出厂固件使用教程——SDK开源?
文章目录 前言 一.使用前准备 1.通讯接口连接 2.开发板硬件说明 3.烧录说明 (1)JTAG烧录接线及烧录介绍 (2)UART串口升级接线及烧录介绍 二.模组出厂固件使用 1.指令词及指令码 2 ...
最新文章
- matlab中实时脚本与纯代码脚本
- java不能修改表_java中不可修改列表的类型是什么
- python列表和元组的应用_python学习笔记之列表(list)与元组(tuple)详解
- python2使用openpyxl_使用openpyxl for Python2.6有些困难
- js技巧收集(200多个)
- 连微信红包都在催我们长大:90后首次成为红包主力军
- vue-cli webpack浅析
- java的架构有哪些,java架构有哪些?
- 如何实现服务器启动自动创建日志
- ASP.NET 创建网站地图
- 分享一个百度云加速下载工具
- Android音量系统分析
- 运用极域电子教室控制其他学生端(不需要教师端)
- 阿里、美团、Oracle等大厂的Java虚拟机面试题集锦
- 英国智能机器人技术和自主系统研究发展概况
- Java POI 导出 Excel 单元格 合并单元格 相邻的相同值 合并
- 微信 发送图片 服务器上,公安提醒:微信发照片,千万别传原图”!5个步骤教你隐藏位置信息...
- 每天听的一首歌---奔跑
- 金蝶apusic9.0版本安装包
- android红外遥控驱动
热门文章
- 朝花夕拾 - 卷王的自白(光头祭天,法力无边》
- c语言实验7字符串,C语言实验六(第七章二维数组字符串数组)
- 11892 - ENimEN(博弈)
- 基于PhalApi的DB集群拓展 V0.1bate
- Orbotech Introduces Symbion S36 Post-Reflow AOI System
- ::after后面加个空格
- 从微信公众平台#183;小程序内测邀请函看应用号动向
- LDA在资讯推荐的应用
- 画面单一怎么办,数字平原卡通渲染成为选择
- 解决the default discovery settings are unsuitable for production use; at least one of [discovery.se