准备工作
确保已安装ESP-IDF开发环境,版本建议v4.4或更高。下载Speex编解码库源代码(官方仓库或1.2.0稳定版本)。准备ESP32-C2开发板和LLCC68模组硬件连接。
硬件连接配置
ESP32-C2与LLCC68通过SPI通信,接线如下:
- SCK → GPIO6
- MISO → GPIO2
- MOSI → GPIO7
- CS → GPIO10
- RST → GPIO5
- DIO0 → GPIO4
修改menuconfig中的SPI设置:
CONFIG_SPI_MASTER_IN_IRAM=y
CONFIG_SPI_MASTER_ISR_IN_IRAM=y
Speex库移植
解压Speex源码至工程components目录,创建CMakeLists.txt:
idf_component_register(SRCS "libspeex/bits.c" "libspeex/cb_search.c" ...(所有.c文件)
INCLUDE_DIRS "include")
添加编译宏定义:
#define FIXED_POINT
#define USE_SMALLFT
#define EXCLUDE_VBR_SUPPORT
音频采集配置
配置I2S麦克风输入(如INMP441):
i2s_config_t i2s_config = {
.mode = I2S_MODE_MASTER | I2S_MODE_RX,
.sample_rate = 8000,
.bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
.channel_format = I2S_CHANNEL_FMT_ONLY_LEFT
};
i2s_pin_config_t pin_config = {
.bck_io_num = GPIO_NUM_15,
.ws_io_num = GPIO_NUM_16,
.data_in_num = GPIO_NUM_17
};
Speex编码实现
初始化窄带编码器:
SpeexBits bits;
void *enc_state = speex
ESP32-C2 LoRa音频传输方案

最低0.47元/天 解锁文章
961

被折叠的 条评论
为什么被折叠?



