系列文章目录

【离线语音专题①】安信可最新离线语音模组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灯相关推荐

  1. 乐鑫Esp32学习之旅 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,拍照图片通过有线串口传到上位机PC端。(附带设备端+PC端源码)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 系列一:ESP32系列模组基础学习系列笔记 1. 爬坑学习新旅程,虚 ...

  2. 乐鑫Esp32学习之旅28 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现MQTT远程拍照传输到私有服务器。(附带源码)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  3. 乐鑫Esp32学习之旅29 安信可 ESP32-Cam 摄像头开发板二次开发 C SDK编程,实现本地视频流监控。(附带源码)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  4. 【GPRS模组】 安信可A9G 基于OpenCPU的SDK二次开发

    采用安信可基于A9G的pudding开发板,支持SDK片上开发和AT指令开发,SDK开发不需要另外使用单片机作为控制板,用起来非常方便,适合开发短小精悍的产品! 一.硬件介绍 采用安信可基于A9G的p ...

  5. 【PB03F 超详细-环境搭建】蓝牙5.2安信可PB-03F-Kit开发板二次开发环境搭建

    标题 本博文介绍安信可PB-03F-Kit开发板的基本情况.开发环境搭建,以及以点亮LED为例介绍程序编写和固件烧录的操作流程. 目录 标题 0.硬件介绍 PB03模组介绍 PB-03F-Kit开发板 ...

  6. 【安信可ESP32语音开发板专题①】ESP32-A1S音频开发板之离线语音识别控制LED灯

    ---------- 本博客学习由 安信可开源团队 潜心编写,做ESP32-A1S离线语音初步入门技术交流分享.如有不完善之处,请留言,本团队及时更改. 文章目录 一.前言 二.离线语音框架 2.1 ...

  7. esp32录音功能开发_【安信可ESP32语音开发板专题①】ESP32-A1S音频开发板之离线语音识别控制LED灯...

    本博客学习由 一.前言 离线语音,顾名思义:在不连网络的状态下,产品能识别语音指令并执行相应的控制输出. 安信可基于乐鑫ESP32芯片开发的ESP32-A1S开发板智能语音助手,可支持唤醒词引擎(Wa ...

  8. LL库下STM32使用安信可VB离线语音识别

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.使用中遇到的最大问题? 二.思路 总结 前言 安信可VB系列离线语音模块搭配STM32F103ZET6使用,劝各位 ...

  9. 【离线语音专题①】安信可最新离线语音模组VC系列出厂固件使用教程——SDK开源?

    文章目录 前言 一.使用前准备 1.通讯接口连接 2.开发板硬件说明 3.烧录说明 (1)JTAG烧录接线及烧录介绍 (2)UART串口升级接线及烧录介绍 二.模组出厂固件使用 1.指令词及指令码 2 ...

最新文章

  1. matlab中实时脚本与纯代码脚本
  2. java不能修改表_java中不可修改列表的类型是什么
  3. python列表和元组的应用_python学习笔记之列表(list)与元组(tuple)详解
  4. python2使用openpyxl_使用openpyxl for Python2.6有些困难
  5. js技巧收集(200多个)
  6. 连微信红包都在催我们长大:90后首次成为红包主力军
  7. vue-cli webpack浅析
  8. java的架构有哪些,java架构有哪些?
  9. 如何实现服务器启动自动创建日志
  10. ASP.NET 创建网站地图
  11. 分享一个百度云加速下载工具
  12. Android音量系统分析
  13. 运用极域电子教室控制其他学生端(不需要教师端)
  14. 阿里、美团、Oracle等大厂的Java虚拟机面试题集锦
  15. 英国智能机器人技术和自主系统研究发展概况
  16. Java POI 导出 Excel 单元格 合并单元格 相邻的相同值 合并
  17. 微信 发送图片 服务器上,公安提醒:微信发照片,千万别传原图”!5个步骤教你隐藏位置信息...
  18. 每天听的一首歌---奔跑
  19. 金蝶apusic9.0版本安装包
  20. android红外遥控驱动

热门文章

  1. 朝花夕拾 - 卷王的自白(光头祭天,法力无边》
  2. c语言实验7字符串,C语言实验六(第七章二维数组字符串数组)
  3. 11892 - ENimEN(博弈)
  4. 基于PhalApi的DB集群拓展 V0.1bate
  5. Orbotech Introduces Symbion S36 Post-Reflow AOI System
  6. ::after后面加个空格
  7. 从微信公众平台#183;小程序内测邀请函看应用号动向
  8. LDA在资讯推荐的应用
  9. 画面单一怎么办,数字平原卡通渲染成为选择
  10. 解决the default discovery settings are unsuitable for production use; at least one of [discovery.se