一、前言
ESP32-A1S模组是安信可开发的一款WiFi+BT+BLE+音频模组,音频编解码芯片为ES8388,对应的开发板为ESP32-Audio-Kit音频开发板。可以实现录音、音频播放、离线语音识别等功能。常见应用场景有:
- 播放sd卡、flash内音频,在线升级sd卡、flash内音频;
- 通过蓝牙与手机连接,播放手机内音乐;
- 播放服务器下发音频;
- 模组录音,通过WiFi上传到服务器;
- 语音控制灯、插座等电器
二、环境搭建
2.1 获取sdk
百度网盘链接:https://pan.baidu.com/s/1KjAa0AP7XE5XBchsWhh2Eg
提取码:f9mq
下载好把sdk放到linux内。
2.2 下载工具链
先安装一堆依赖
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev
将python默认版本设置为python3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
进入sdk文件夹esp-adf/esp-idf
在终端运行工具链安装命令
./install.sh
出现这个 , 表示 安装成功!
2.3 设置SDK路径和编译环境的变量
在esp-adf文件夹内打开终端,运行命令
. ./path.sh
注意
1. 上面命令2个小数点中间有一个空格!
2. 每次打开终端进入esp-adf文件夹都要运行一次此命令
成功后,便这样提示:
2.4 编译和下载
以编译esp-adf/examples/get-started/play_mp3_control为例
cd $ADF_PATH/examples/get-started/play_mp3_control
开发板选择ESP32-AiThinker-audio V2.3 :
idf.py menuconfig
进入Audio HAL-> Audio board,选择ESP32-AiThinker-audio V2.3
编译
idf.py build
烧录固件并打开串口监控
idf.py flash monitor
注意
使用某些 Linux 版本烧写固件时,可能会出现 Failed to open port /dev/ttyUSB0 错误消息。此时,可以将当前用户增加至 :ref:Linux Dialout 组 。因为默认情况下,只有root用户和属于dialout组的用户会有读写权限,因此直接把自己的用户加入到dialout组就可以了。操作完命令后要重启一下,就永久生效了。
sudo usermod -a -G dialout $USER //$USER为您的用户名
开发板接上扬声器或者耳机,重启后就可以听见音频播放了
到这里我们的开发环境就已经搭建起来了!
三、SDK 目录结构简介
我们再来看一下example文件夹里面有什么例程
每个例程里面都有一个README文件,README文件里面有对此例程的详细介绍,使用前必看!
四、开发资料
关于音频的API:
https://docs.espressif.com/projects/esp-adf/zh_CN/latest/api-reference/index.html
关于ESP32开发的编程指南:
https://docs.espressif.com/projects/espidf/zh_CN/latest/esp32/index.html
安信可官网:
https://docs.ai-thinker.com
官方论坛:http://bbs.ai-thinker.com
技术支持:support@aithinker.com