一个基于云端语音识别的智能控制设备,类似于天猫精灵,小爱同学 采用的芯片为stm32f407,wm8978,esp8266

上传者: 2401_89610374 | 上传时间: 2026-02-27 11:32:31 | 文件大小: 9.02MB | 文件类型: ZIP
这是一个基于云端语音识别的智能音箱,你可以理解为类似于亚马逊Echo或者小爱同学、天猫精灵的设备,与之不同的是它并非基于嵌入式Linux,而是仅仅基于单片机和FreeRTOS实现。 该设备的核心芯片为stm32f407vet6,wm8978,esp8266,这三者分别扮演主控,音频DA/ADC以及网络通信的角色。另外还需要SD卡来提供存储录音和音乐的功能。 该项目目前的瓶颈在于由于esp8266是一款物联网wifi芯片,其网络带宽有限,导致识别的速度偏低, PS:其实也还说的过去,毕竟录音的文件也不是很大:),并且导致在线播放音乐的功能无法实现(这是最伤的)。 但这应该也是目前基于单片机的最好的实现方案了 Description Audio目录下主要存放音频相关的代码,比如wm8978的驱动,解码,播放以及录制音频的功能。其中包含了一个第三方的mp3解码库“HelixMP3Decoder"。 Fatfs目录下主要存放Fatfs文件系统的代码,它需要基于SD卡实现。 File目录下存放系统的原理图,同时还是有一个“SmartSpeaker”目录,需要将这个目录拷贝到SD卡根目录下,这个目录里都是些用来提示的wav文件。 FreeRTOS目录下存放的是FreeRTOS的代码。 Led目录下存放的是一个根据识别的结果操作Led的实例,在播放音乐的时候,还会对音乐进行频谱分析,从而改变Led的颜色。 Libraries目录下存放是是stm32f4系列的一些库文件。 MDK为工程文件的目录。 Network目录下存放的是与网络操作相关的代码,比如esp8266的串口驱动的封装,编解码,网络通信等等。 Peripherals目录下存放的是stm32f4相关的外设的驱动代码,其中一些与FreeRTOS结合相当紧密,例如串口的驱动。 Public目录下存放的是一些基础的功能函数,比如日志

文件下载

资源详情

[{"title":"( 249 个子文件 9.02MB ) 一个基于云端语音识别的智能控制设备,类似于天猫精灵,小爱同学 采用的芯片为stm32f407,wm8978,esp8266","children":[{"title":"ansok <span style='color:#111;'> 45.08KB </span>","children":null,"spread":false},{"title":"ffunicode.c <span style='color:#111;'> 1.87MB </span>","children":null,"spread":false},{"title":"ff.c <span style='color:#111;'> 218.92KB </span>","children":null,"spread":false},{"title":"tasks.c <span style='color:#111;'> 156.93KB </span>","children":null,"spread":false},{"title":"stm32f4xx_rcc.c <span style='color:#111;'> 130.84KB </span>","children":null,"spread":false},{"title":"stm32f4xx_tim.c <span style='color:#111;'> 118.53KB </span>","children":null,"spread":false},{"title":"stm32f4xx_rtc.c <span style='color:#111;'> 98.09KB </span>","children":null,"spread":false},{"title":"queue.c <span style='color:#111;'> 88.81KB </span>","children":null,"spread":false},{"title":"stm32f4xx_dfsdm.c <span style='color:#111;'> 82.65KB </span>","children":null,"spread":false},{"title":"stm32f4xx_adc.c <span style='color:#111;'> 65.75KB </span>","children":null,"spread":false},{"title":"stm32f4xx_can.c <span style='color:#111;'> 63.38KB </span>","children":null,"spread":false},{"title":"sdio_sd.c <span style='color:#111;'> 62.55KB </span>","children":null,"spread":false},{"title":"stm32f4xx_flash.c <span style='color:#111;'> 60.66KB </span>","children":null,"spread":false},{"title":"stm32f4xx_fmc.c <span style='color:#111;'> 59.63KB </span>","children":null,"spread":false},{"title":"stm32f4xx_dsi.c <span style='color:#111;'> 58.78KB </span>","children":null,"spread":false},{"title":"system_stm32f4xx.c <span style='color:#111;'> 58.23KB </span>","children":null,"spread":false},{"title":"stm32f4xx_usart.c <span style='color:#111;'> 55.14KB </span>","children":null,"spread":false},{"title":"stm32f4xx_fmpi2c.c <span style='color:#111;'> 55.08KB </span>","children":null,"spread":false},{"title":"stm32f4xx_cryp_aes.c <span style='color:#111;'> 54.99KB </span>","children":null,"spread":false},{"title":"stm32f4xx_i2c.c <span style='color:#111;'> 51.72KB </span>","children":null,"spread":false},{"title":"stm32f4xx_dma.c <span style='color:#111;'> 50.41KB </span>","children":null,"spread":false},{"title":"stm32f4xx_spi.c <span style='color:#111;'> 50.26KB </span>","children":null,"spread":false},{"title":"stm32f4xx_sai.c <span style='color:#111;'> 47.24KB </span>","children":null,"spread":false},{"title":"stm32f4xx_fsmc.c <span style='color:#111;'> 44.01KB </span>","children":null,"spread":false},{"title":"stm32f4xx_pwr.c <span style='color:#111;'> 41.40KB </span>","children":null,"spread":false},{"title":"stream_buffer.c <span style='color:#111;'> 40.86KB </span>","children":null,"spread":false},{"title":"hufftabs.c <span style='color:#111;'> 40.63KB </span>","children":null,"spread":false},{"title":"timers.c <span style='color:#111;'> 37.92KB </span>","children":null,"spread":false},{"title":"stm32f4xx_ltdc.c <span style='color:#111;'> 37.77KB </span>","children":null,"spread":false},{"title":"stm32f4xx_sdio.c <span style='color:#111;'> 37.06KB </span>","children":null,"spread":false},{"title":"stm32f4xx_cryp.c <span style='color:#111;'> 33.75KB </span>","children":null,"spread":false},{"title":"stm32f4xx_lptim.c <span style='color:#111;'> 32.75KB </span>","children":null,"spread":false},{"title":"stm32f4xx_qspi.c <span style='color:#111;'> 30.69KB </span>","children":null,"spread":false},{"title":"port.c <span style='color:#111;'> 27.18KB </span>","children":null,"spread":false},{"title":"imdct.c <span style='color:#111;'> 27.02KB </span>","children":null,"spread":false},{"title":"stm32f4xx_dma2d.c <span style='color:#111;'> 25.76KB </span>","children":null,"spread":false},{"title":"stm32f4xx_dac.c <span style='color:#111;'> 25.48KB </span>","children":null,"spread":false},{"title":"stm32f4xx_hash.c <span style='color:#111;'> 25.30KB </span>","children":null,"spread":false},{"title":"stm32f4xx_gpio.c <span style='color:#111;'> 24.02KB </span>","children":null,"spread":false},{"title":"stm32f4xx_cec.c <span style='color:#111;'> 23.60KB </span>","children":null,"spread":false},{"title":"event_groups.c <span style='color:#111;'> 23.42KB </span>","children":null,"spread":false},{"title":"wb_vad.c <span style='color:#111;'> 21.10KB </span>","children":null,"spread":false},{"title":"stm32f4xx_dcmi.c <span style='color:#111;'> 17.82KB </span>","children":null,"spread":false},{"title":"usart.c <span style='color:#111;'> 17.37KB </span>","children":null,"spread":false},{"title":"stm32f4xx_spdifrx.c <span style='color:#111;'> 17.00KB </span>","children":null,"spread":false},{"title":"mp3play.c <span style='color:#111;'> 16.71KB </span>","children":null,"spread":false},{"title":"stm32f4xx_syscfg.c <span style='color:#111;'> 16.38KB </span>","children":null,"spread":false},{"title":"huffman.c <span style='color:#111;'> 16.15KB </span>","children":null,"spread":false},{"title":"mp3dec.c <span style='color:#111;'> 15.87KB </span>","children":null,"spread":false},{"title":"heap_5.c <span style='color:#111;'> 15.46KB </span>","children":null,"spread":false},{"title":"bitstream.c <span style='color:#111;'> 14.50KB </span>","children":null,"spread":false},{"title":"trigtabs.c <span style='color:#111;'> 14.36KB </span>","children":null,"spread":false},{"title":"stm32f4xx_rng.c <span style='color:#111;'> 14.08KB </span>","children":null,"spread":false},{"title":"heap_4.c <span style='color:#111;'> 13.71KB </span>","children":null,"spread":false},{"title":"scalfact.c <span style='color:#111;'> 13.35KB </span>","children":null,"spread":false},{"title":"croutine.c <span style='color:#111;'> 12.63KB </span>","children":null,"spread":false},{"title":"dqchan.c <span style='color:#111;'> 11.76KB </span>","children":null,"spread":false},{"title":"misc.c <span style='color:#111;'> 10.93KB </span>","children":null,"spread":false},{"title":"esp8266.c <span style='color:#111;'> 10.47KB </span>","children":null,"spread":false},{"title":"stproc.c <span style='color:#111;'> 10.24KB </span>","children":null,"spread":false},{"title":"stm32f4xx_cryp_tdes.c <span style='color:#111;'> 10.20KB </span>","children":null,"spread":false},{"title":"dct32.c <span style='color:#111;'> 10.15KB </span>","children":null,"spread":false},{"title":"stm32f4xx_wwdg.c <span style='color:#111;'> 9.95KB </span>","children":null,"spread":false},{"title":"heap_2.c <span style='color:#111;'> 9.66KB </span>","children":null,"spread":false},{"title":"stm32f4xx_cryp_des.c <span style='color:#111;'> 9.48KB </span>","children":null,"spread":false},{"title":"stm32f4xx_exti.c <span style='color:#111;'> 9.34KB </span>","children":null,"spread":false},{"title":"urlencode.c <span style='color:#111;'> 9.33KB </span>","children":null,"spread":false},{"title":"stm32f4xx_hash_sha1.c <span style='color:#111;'> 9.25KB </span>","children":null,"spread":false},{"title":"stm32f4xx_hash_md5.c <span style='color:#111;'> 9.06KB </span>","children":null,"spread":false},{"title":"stm32f4xx_iwdg.c <span style='color:#111;'> 8.87KB </span>","children":null,"spread":false},{"title":"spi_i2s.c <span style='color:#111;'> 8.87KB </span>","children":null,"spread":false},{"title":"list.c <span style='color:#111;'> 8.12KB </span>","children":null,"spread":false},{"title":"buffers.c <span style='color:#111;'> 7.66KB </span>","children":null,"spread":false},{"title":"rtc.c <span style='color:#111;'> 7.59KB </span>","children":null,"spread":false},{"title":"wm8978.c <span style='color:#111;'> 7.34KB </span>","children":null,"spread":false},{"title":"iflash.c <span style='color:#111;'> 7.19KB </span>","children":null,"spread":false},{"title":"mp3tabs.c <span style='color:#111;'> 6.73KB </span>","children":null,"spread":false},{"title":"stm32f4xx_dbgmcu.c <span style='color:#111;'> 6.48KB </span>","children":null,"spread":false},{"title":"dequant.c <span style='color:#111;'> 6.47KB </span>","children":null,"spread":false},{"title":"recorder.c <span style='color:#111;'> 6.41KB </span>","children":null,"spread":false},{"title":"wavplay.c <span style='color:#111;'> 5.54KB </span>","children":null,"spread":false},{"title":"led.c <span style='color:#111;'> 5.26KB </span>","children":null,"spread":false},{"title":"netlsn.c <span style='color:#111;'> 5.19KB </span>","children":null,"spread":false},{"title":"stm32f4xx_flash_ramfunc.c <span style='color:#111;'> 5.16KB </span>","children":null,"spread":false},{"title":"stm32f4xx_it.c <span style='color:#111;'> 4.94KB </span>","children":null,"spread":false},{"title":"heap_1.c <span style='color:#111;'> 4.89KB </span>","children":null,"spread":false},{"title":"ffsystem.c <span style='color:#111;'> 4.85KB </span>","children":null,"spread":false},{"title":"netvoc.c <span style='color:#111;'> 4.74KB </span>","children":null,"spread":false},{"title":"cmd.c <span style='color:#111;'> 4.60KB </span>","children":null,"spread":false},{"title":"read-line.c <span style='color:#111;'> 4.52KB </span>","children":null,"spread":false},{"title":"wdog.c <span style='color:#111;'> 4.46KB </span>","children":null,"spread":false},{"title":"netcmd.c <span style='color:#111;'> 4.26KB </span>","children":null,"spread":false},{"title":"diskio.c <span style='color:#111;'> 4.19KB </span>","children":null,"spread":false},{"title":"subband.c <span style='color:#111;'> 3.78KB </span>","children":null,"spread":false},{"title":"main.c <span style='color:#111;'> 3.48KB </span>","children":null,"spread":false},{"title":"stm32f4xx_crc.c <span style='color:#111;'> 3.38KB </span>","children":null,"spread":false},{"title":"heap_3.c <span style='color:#111;'> 2.86KB </span>","children":null,"spread":false},{"title":"main.c <span style='color:#111;'> 2.80KB </span>","children":null,"spread":false},{"title":"sotf_iic.c <span style='color:#111;'> 2.30KB </span>","children":null,"spread":false},{"title":"serial_AT.c <span style='color:#111;'> 2.18KB </span>","children":null,"spread":false},{"title":"......","children":null,"spread":false},{"title":"<span style='color:steelblue;'>文件过多,未全部展示</span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明