【RT-Thread作品秀】智能家居的语音控制方案

2020/12/19 22:38
提供买家交流群支持
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图(2)
  • 方案介绍
  • 相关文件
  • 相关内容
  • 电子产业图谱
申请入驻 产业图谱
方案介绍

【RT-Thread作品秀】智能家居的语音控制方案。

作者:xqyjlj

 

 

概述

智能家居是现在一个很火热的方向,随着人们生活水平的提高,我们都逐渐开始希望身边的电器都可以不用手来控制,本作品就是基于这种需求,开发出来了一个基于语音控制的智能家居方案。本智能家居方案,分为联网与不联网两种版本。其中,无论是联网与不联网,语音识别功能均能正常使用。在本作品没有连上网的情况下,可以进行语音对开关的控制,进行MP3等常用音频文件的播放,以及具有拍照功能,可以将拍下来的照片储存在SD卡内,在本作品连上网的情况下,还附加了以下功能,可以将一些数据上报到云平台(onenet),并且将一些工作日志通过邮件发送给用户。

开发环境

硬件:ART_PI(主控)

LD3320(语音识别芯片)

VS1053(音频解码芯片)

OV2640(摄像头)

RT-Thread版本:RT-Thread V 4.0.3

开发工具及版本:RT-Thread Studio 2.0.0

RT-Thread使用情况概述

内核:调度器,信号量。

组件:UART,DFS,SPI,IIC,PIN。

软件包:smtp_client,btstack,netuils,fal,easyflash,littlefs,onenet。

硬件框架

主控:ART-PI

ART-Pi 是 RT-Thread 团队为嵌入式软件工程师、开源创客设计的一款极具扩展功能的 DIY 开源硬件。致力打造一个开源的软硬件平台。

    语音识别芯片:LD3320

    LD3320是非特定人(不用针对指定人)语音识别芯片,即语音声控芯片。最多可以识别50条预先内置的指令。

    音频解码芯片:VS1053

    VS1053是一款利用SPI通讯的音频解码模块,支持大部分的音频文件的解码播放和编码保存

    摄像头:OV2640

OV2640是OmniVision公司生产的一颗1/4寸的CMOS UXGA(1632*1232)图像传感器;支持自动曝光控制、自动增益控制、自动白平衡、自动消除灯光条纹等自动控制功能。

 

软件框架说明

本项目采用的是多级联控模式。将多个模块的任务分为多个级别,以语音识别为主体,摄像头和语音播报为从体,在语音识别到关键字的时候,会出发相对应的函数,实现不同的效果,而onenet是与语音识别互相独立的,会源源不断的把数据实时发送到云端。

 

软件模块说明

  1. smtp_thread_entry:邮件线程,用于发送邮件。
  2. ld3320_asr_thread:语音识别线程,用于语音识别,调用其他程序。
  3. onenet_upload_entry:onenet线程,用于向云端发送数据。

语音识别过程:

首先初始化LD3320芯片,在对其写入需要识别的关键字数据,之后启动LD3320,之后等待其信号引脚拉低,在其信号引脚拉低后,通过读取其寄存器,我们便能知道LD3320获取到了什么样的关键字。之后便从关键字调取我们的相对应的函数。使之工作于不同的功能。

演示效果

演示视频:

比赛感悟

在报名这个比赛之后,我的目标其实是比现在的功能多得多的,这一点可以从我的Gitee上面的进度表可以看出,奈何原本打算三个人做的项目,到最后,也是我一个人来完成。自己之前画的板子,也是因为自己画板功力不足,还有焊接能力不足,导致本来拥有更多功能的拓展板也没完成。

不过比赛嘛,重要的不是结果,而是过程。通过这次比赛,我最起码收货到了以下知识:

安卓开发,微信小程序设计,web开发(以上由于个人能力问题,其实并未实现),音频处理,STM32H750的众多DMA的设置,以及bootloader,同时也知道了STM32还能片外运行的神奇事情,也学会了RT-Thread Studio的使用。最重要的事情就是明白了不要过分依赖别人,自己想的计划,就要自己去实现,不要总是把任务布置给其他人。

  • 代码地址.txt
    描述:代码地址
  • 【RT-Thread作品秀】智能家居的语音控制方案.docx
    描述:【RT-Thread作品秀】智能家居的语音控制方案

更多相关内容

电子产业图谱