IoT-For-Beginners 语音识别实战:Wio Terminal 麦克风与扬声器硬件配置指南

发布时间:2026/9/17 8:33:39
IoT-For-Beginners 语音识别实战:Wio Terminal 麦克风与扬声器硬件配置指南
IoT-For-Beginners 语音识别实战Wio Terminal 麦克风与扬声器硬件配置指南【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners本指南面向 Microsoft Learn「IoT-For-Beginners」课程第 6 项目Consumer第 1 课「用 IoT 设备识别语音」中的 Wio Terminal 硬件路线完整讲解如何为 Wio Terminal 配置麦克风与扬声器它本身内置了可用于语音采集的麦克风通过外接 ReSpeaker 2-Mics Pi Hat 扩展板获得扬声器输出能力并借助 SD 卡存储后续下载的音频。读完本文你将掌握 Wio Terminal 的音频硬件选型、GPIO 接线方法、SD 卡格式化要求并能结合仓库内配套的 PlatformIO 工程验证音频采集链路。硬件概览Wio Terminal 内置麦克风与 ReSpeaker 扩展Wio TerminalSeeed Studio 出品的基于 ATSAMD51 的微控制器开发板已经内置了一个麦克风可直接用于采集语音为后续的语音转文字Speech to Text提供音频输入。这是本课程选择 Wio Terminal 作为 Arduino 路线设备的重要原因之一——无需额外焊接或连接麦克风模块。要加入扬声器音频输出课程推荐使用ReSpeaker 2-Mics Pi Hat扩展板。这是一块外部扩展板板上包含2 个 MEMS 麦克风可作为额外麦克风输入一个扬声器连接端口JST一个 3.5mm 耳机插孔headphone socket。ReSpeaker 采用 Raspberry Pi 标准的 40 pin GPIO 排针而 Wio Terminal 背面提供了与之对应的 GPIO 插槽因此二者可以通过排线直连。扬声器选型除 ReSpeaker 扩展板本身外你还需要准备以下任意一种音频输出设备带 3.5mm 插头的耳机headphones带 3.5mm 插头的扬声器带 JST 连接线的扬声器例如 Mono Enclosed Speaker2W 6Ω。 如果你熟悉焊接操作也可以选用 40 Pin Raspberry Pi Hat Adapter Board For Wio Terminal 这类转接板来连接 ReSpeaker从而避免手工排线。连接线材与存储介质40 根 pin-to-pin 跳线也称公对公跳线用于将 ReSpeaker 的 40 pin 排针与 Wio Terminal 背面的 GPIO 插槽一一对应连接一张 SD 卡课程后续需要下载并回放音频Wio Terminal 对 SD 卡有明确限制——最大仅支持 16GB 容量且必须格式化为FAT32 或 exFAT文件系统。任务一连接 ReSpeaker Pi Hat 与 Wio Terminal在开始前请确保Wio Terminal 处于断电状态。然后按照下面的步骤用跳线将 ReSpeaker 2-Mics Pi Hat 连接到 Wio Terminal 背面的 GPIO 插槽。参考如下引脚连接示意图确定左右两侧插槽的对应关系将 ReSpeaker 与 Wio Terminal 摆放在同一方向使两侧的 GPIO 插槽朝上并位于左手边。从ReSpeaker GPIO 排针左上角第一个插孔开始取一根 pin-to-pin 跳线将其连接到Wio Terminal 左上角对应的插孔。沿 GPIO 插槽左侧一列逐孔向下重复此操作确保每个引脚都牢固插入 如果你的跳线是排线ribbon形式请保持整排跳线不要拆散这样更容易按顺序确认每根线都正确连接。用同样的方法连接右侧的 GPIO 插槽。右侧的跳线需要绕开已经接好的左侧跳线走线 若使用排线可将排线拆分为两股分别从已有跳线的两侧绕过避免相互纠缠。 接线过程中可以用胶带把插孔固定成块防止个别跳线松脱。接好跳线后将扬声器接入 ReSpeakerJST 扬声器将 JST 连接线插入 ReSpeaker 的 JST 端口3.5mm 插头扬声器或耳机直接插入 ReSpeaker 的 3.5mm 耳机插孔。 接线完成后建议再次核对左右两列是否一一对应左上对左上、左下对左下、右上对右上、右下对右下错误的错位连接可能损坏 GPIO 引脚。任务二设置 SD 卡ReSpeaker 扩展板负责音频输出而SD 卡用于存放后续从云端下载的音频文件例如语音反馈所用的提示音因此需要提前准备好并正确格式化。将 SD 卡接入电脑若电脑没有 SD 卡槽请使用外置读卡器。使用电脑上合适的磁盘工具格式化 SD 卡文件系统必须选择 FAT32 或 exFAT——这是 Wio Terminal 固件能够识别的要求容量方面请勿使用超过 16GB 的卡。将 SD 卡插入 Wio Terminal左侧、电源开关正下方的 SD 卡槽确保完全推入并听到卡扣到位的声音。必要时可用薄片工具或另一张 SD 卡辅助推入 取出 SD 卡时只需轻轻向内按压卡片会自动弹出同样需要扁平螺丝刀之类的薄工具辅助。从硬件到代码仓库中的配套录音工程硬件接线完成后你可以直接使用本仓库中已经写好的工程验证麦克风采集链路而不必从零编写底层代码。对应工程位于 code-record/wio-terminal/smart-timerplatformio.iniPlatformIO 工程配置目标板为seeed_wio_terminal框架 Arduino依赖Seeed Arduino FS 2.1.1与Seeed Arduino SFUD 2.0.2两个库并通过-DSFUD_USING_QSPI编译宏启用 QSPI 访问板载 Flashmain.cpp入口程序。setup中初始化串口、初始化 SFUDFlash 驱动并开启 QSPI 快速读取、以INPUT_PULLUP模式配置 C 键随后调用mic.init()loop中检测 C 键按下后启动 4 秒录音录音结束后调用processAudio()本阶段为空实现后续课程会在此接入语音转文字再调用mic.reset()复位mic.h封装麦克风采集的Mic类包含音频常量定义采样率RATE16000、录音时长SAMPLE_LENGTH_SECONDS4 秒、WAV 缓冲BUFFER_SIZE等、DMAC/ADC 配置函数configureDmaAdc()、WAV 文件头结构wavFileHeader与回调audioCallback()flash_writer.hFlashWriter类实现按 Flash 擦除粒度缓冲、写入与flushSfudBuffer()收尾把音频数据持久化到板载 Flash。 Wio Terminal 仅有 192KB RAM不足以缓存超过数秒的音频因此该工程借助板载 4MB Flash 存储录音DMAC 按固定采样间隔从 ADC 抓取数据写入双缓冲_adc_buf_0/_adc_buf_1缓冲满后由中断处理并转存 Flash从而在不丢数据的前提下完成长录音。构建与验证方法在 VS Code 中打开smart-timer工程用 PlatformIO 的 Build 与 Upload 烧录到 Wio Terminal打开串口监视器波特率 9600后按下 C 键左侧、靠近电源开关的那颗按键并说话串口将依次打印Ready.→Starting recording...→Finished recording表示 4 秒音频已成功采集并写入 Flash。接线与使用的注意事项断电操作所有 GPIO 跳线必须在 Wio Terminal 断电状态下连接避免带电插拔损坏引脚。SD 卡规格仅支持 ≤16GB、FAT32/exFAT 格式格式不匹配可能导致无法读写音频文件。采样率与内存的关系工程默认以 16KHz、16bit 单声道采集每秒产生约 32KB 数据如需更长录音可增大SAMPLE_LENGTH_SECONDS其余常量会自动按公式重算但要注意 Flash 空间与处理耗时的上限。后续课程衔接本节完成的是「配置麦克风与扬声器」的硬件步骤下一步的音频采集实现见 wio-terminal-audio.md语音转文字实现见 wio-terminal-speech-to-text.md课程总览与 Raspberry Pi、虚拟设备两条硬件路线见 README.md。总结通过本指南你完成了语音识别「智能厨房计时器」项目的 Wio Terminal 硬件准备确认了内置麦克风可作语音输入将 ReSpeaker 2-Mics Pi Hat 通过 40 pin 跳线与 Wio Terminal GPIO 一一对接以提供扬声器输出并准备好了符合容量与文件系统要求的 SD 卡。配合仓库中code-record工程即可按下 C 键录制 4 秒语音并写入板载 Flash为下一步接入云端语音转文字服务奠定基础。【免费下载链接】IoT-For-Beginners12 Weeks, 24 Lessons, IoT for All!项目地址: https://gitcode.com/GitHub_Trending/io/IoT-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考