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

Wake Word Detection là gì và vì sao dùng ESP32-S3?

Cập nhật 13/06/2026

Wake Word Detection là gì và vì sao dùng ESP32-S3?

1. Khái niệm Wake Word Detection

Wake Word Detection (phát hiện từ khóa đánh thức) là công nghệ cho phép thiết bị nhận diện một từ hoặc cụm từ cụ thể trong âm thanh xung quanh. Khi từ khóa được phát hiện, thiết bị sẽ kích hoạt và thực hiện các chức năng đã được lập trình trước.

2. Tại sao chọn ESP32-S3 cho dự án này?

  • Hiệu suất cao: ESP32-S3 được trang bị vi xử lý Dual-core Xtensa® 32-bit LX7, cho phép xử lý âm thanh và các thuật toán AI nhanh chóng.

  • Khả năng kết nối: Hỗ trợ Wi-Fi và Bluetooth, giúp dễ dàng kết nối với các thiết bị khác trong hệ sinh thái IoT.

  • Hỗ trợ AI: ESP32-S3 hỗ trợ các tính năng AI thông qua các hướng dẫn tối ưu hóa, nhưng không có bộ tăng tốc AI chuyên dụng, rất phù hợp cho ứng dụng Wake Word Detection.

  • Tiêu thụ năng lượng thấp: Với chế độ ngủ sâu, ESP32-S3 có thể tiết kiệm năng lượng, giúp thiết bị hoạt động lâu dài.

3. Cấu hình phần cứng

Để thực hiện dự án này, cần chuẩn bị các linh kiện sau:

  • ESP32-S3

  • Microphone INMP441 I2S (cần cấp nguồn 3.3V)

  • Nguồn cung cấp 5V (cần sử dụng bộ điều chỉnh 3.3V cho ESP32-S3 và INMP441)

Tip: Đảm bảo sử dụng nguồn cung cấp ổn định để tránh ảnh hưởng đến hiệu suất của thiết bị.

4. Mã nguồn mẫu

Dưới đây là mã nguồn mẫu sử dụng ESP-IDF cho việc phát hiện từ khóa:


#include <esp_system.h>
#include <driver/i2s.h>
// ESP-SR chỉ hỗ trợ trong ESP-IDF

void setup() {
    // Khởi tạo I2S cho microphone INMP441
    i2s_config_t i2s_config = {
        .mode = I2S_MODE_MASTER | I2S_MODE_RX,
        .sample_rate = 16000, // Tốc độ mẫu cho ESP-SR
        .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
        .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,
        .communication_format = I2S_COMM_FORMAT_I2S,
        .intr_alloc_flags = 0,
        .dma_buf_count = 8,
        .dma_buf_len = 1024,
        .use_apll = false
    };
    i2s_driver_install(I2S_NUM_0, &i2s_config, 0, NULL);
    // Khởi tạo ESP-SR cho phát hiện từ khóa
}

void loop() {
    // Lắng nghe âm thanh và phát hiện từ khóa
}