使用ESP32与INMP441麦克风模块实现音频传输

本教程展示了如何使用ESP32开发板与INMP441麦克风模块进行音频采集,并通过UDP将音频数据传输到Windows主机进行播放。通过简单的代码,你可以实时接收和播放麦克风输入的音频。

小提示:确保ESP32和Windows主机连接在同一个WiFi网络下,以便成功传输数据。
1. 硬件连接
  • 材料

    • ESP32开发板
    • INMP441麦克风模块
    • 连接线
  • 连接方式

    • INMP441 VCC → ESP32的3.3V
    • INMP441 GND → ESP32的GND
    • INMP441 SCK → ESP32的GPIO 17
    • INMP441 WS → ESP32的GPIO 18
    • INMP441 SD → ESP32的GPIO 16
2. 硬件端代码

开发板:ESP32S3 Dev Module
IDE:Arduino IDE

#include <Arduino.h>
#include <WiFi.h>
#include <driver/i2s.h>
#include <WiFiUdp.h>

#define I2S_WS 18
#define I2S_SD 16
#define I2S_SCK 17
#define I2S_PORT I2S_NUM_0
#define bufferLen 1024  // 增加缓冲区大小以适应更多音频数据

const char* ssid = "你的wifi名称";           
const char* password = "你的wifi密码";    
const char* host = "接收音频端的IP地址"; // 电脑的IP地址
const int port = 8888; // 监听的端口

WiFiUDP udp;  // 使用 UDP 协议进行数据传输
int16