Wake Word Detection Với ESP32-S3: Thiết Bị Phản Hồi Khi Nghe Lệnh
Nâng cao13/6/2026

Wake Word Detection Với ESP32-S3: Thiết Bị Phản Hồi Khi Nghe Lệnh

Dự án này, sẽ giúp bạn chế tạo một thiết bị có khả năng luôn lắng nghe âm thanh từ microphone với ESP32-S3 và microphone INMP441 I2S, khi người dùng nói đúng tên wake word đã lập trình thiết bị sẽ tự động tỉnh giấc và phản hồi.

ESP32-S3Wake WordWakeNetESP-SRAIoTI2SINMP441
0 lượt thích0 người đã làm1 giờ6 bước7 linh kiện
← Quay lại dự án
Hướng dẫn chi tiết

Lập trình firmware Wake Word Detection cho ESP32-S3

Cập nhật 13/06/2026

Dự án này sử dụng ESP32-S3 kết hợp với microphone INMP441 I2S để phát triển một thiết bị có khả năng lắng nghe và phản hồi khi nhận diện wake word. Dưới đây là hướng dẫn chi tiết để lập trình firmware cho dự án này.

1. Chuẩn bị phần cứng

  • ESP32-S3: Vi điều khiển với khả năng xử lý mạnh mẽ, hỗ trợ AI và I2S.

  • Microphone INMP441: Micro hỗ trợ giao thức I2S, cho phép thu âm chất lượng cao.

  • Cáp kết nối: Để kết nối microphone với ESP32-S3.

2. Cài đặt môi trường phát triển

Để lập trình cho ESP32-S3, bạn cần cài đặt ESP-IDF vì WakeNet/ESP-SR chỉ được hỗ trợ chính thức trong môi trường này. Nếu bạn sử dụng Arduino IDE, chỉ có thể thực hiện các chức năng thu âm cơ bản mà không hỗ trợ nhận diện wake word nâng cao.


// Cài đặt thư viện ESP32
#include <Arduino.h>
#include <driver/i2s.h>

3. Cấu hình microphone INMP441

Microphone INMP441 sử dụng giao thức I2S để truyền tải dữ liệu âm thanh. Cấu hình I2S cho microphone như sau:


i2s_config_t i2s_config = {
    .mode = I2S_MODE_MASTER | I2S_MODE_RX,
    .sample_rate = 44100,
    .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
    .channel_format = I2S_CHANNEL_FMT_ONLY_LEFT, // Sử dụng định dạng mono
    .communication_format = I2S_COMM_FORMAT_I2S,
    .intr_alloc_flags = 0,
    .dma_buf_count = 8,
    .dma_buf_len = 1024,
    .tx_desc_auto_clear = false,
    .use_apll = false
};

4. Kết nối microphone INMP441

Microphone INMP441 yêu cầu nguồn 3.3V và cần được kết nối đúng với các chân WS, SD và SCK của ESP32-S3. Đảm bảo rằng bạn sử dụng các chân phù hợp và không cung cấp điện áp cao hơn 3.3V để tránh hư hỏng microphone.

5. Lập trình Wake Word Detection

Chương trình cần sử dụng một mô hình học máy để nhận diện wake word. Bạn có thể tham khảo tài liệu ESP-SR để biết thêm chi tiết về cách sử dụng.

Tip: Đảm bảo rằng microphone được kết nối chính xác và nguồn cấp cho ESP32-S3 ổn định để tránh lỗi trong quá trình thu âm. Ngoài ra, ESP-SR/WakeNet yêu cầu RAM đáng kể, vì vậy nên sử dụng board ESP32-S3 có PSRAM để có kết quả tốt nhất.