Đang tải quảng cáo...

Hướng dẫn tự làm chatbot AI Xiaozhi trên ESP32-S3 — phần cứng, ESP-IDF và nạp firmware

adminQuản trị viên
👁️ 44👍 0
Tự làm Xiaohi Ai

Tự làm loa chatbot AI Xiaozhi trên ESP32-S3: linh kiện cần có, cài ESP-IDF 5.4.2, clone xiaozhi-esp32, menuconfig màn hình & wake word, build flash và cấu hình Wi-Fi. Có ảnh từng bước.

Đang tải quảng cáo...

Bài viết biên soạn lại từ hướng dẫn DevIoT, bổ sung liên kết tài liệu Loa AI và tối ưu SEO.

Xiaozhi chatbot AI là gì?

Xiaozhi là dự án chatbot AI mã nguồn mở chạy trên chip ESP32, hỗ trợ đánh thức bằng giọng nói, nhận diện tiếng Việt, gọi mô hình ngôn ngữ lớn (LLM) và phát âm thanh trả lời. Bạn có thể tự lắp một chiếc loa thông minh Xiaozhi từ linh kiện rời — chi phí thấp hơn mua sẵn và dễ tùy biến màn hình, wake word hay board phần cứng.

Bài viết này hướng dẫn tự làm chatbot AI Xiaozhi trên ESP32-S3 theo quy trình: chuẩn bị phần cứng → cài ESP-IDF → clone xiaozhi-esp32 → cấu hình menuconfig → build, nạp firmware và cấu hình Wi-Fi.

Tự làm chatbot AI Xiaozhi trên ESP32-S3 — tổng quan phần cứng

Chuẩn bị phần cứng

Để tự làm một bộ Xiaozhi DIY cơ bản, bạn cần các linh kiện sau:

  • ESP32-S3 — khuyến nghị bản có PSRAM, đủ mạnh cho ASR và giao diện màn hình
  • Mic I2S — thu âm giọng nói (INMP441 hoặc tương đương)
  • Loa mini + module khuếch đại âm thanh (MAX98357A hoặc PAM8403)
  • Màn hình — tròn hoặc vuông, SPI/RGB tùy board bạn chọn trong firmware
  • Dây Dupont, breadboard, nguồn 5V ổn định, cáp USB để nạp chương trình

Nếu muốn lắp nhanh hơn, xem thêm danh sách phần cứng DIY Xiaozhi ESP32-S3hướng dẫn đấu dây breadboard trên Loa AI.

Danh sách linh kiện tự làm loa Xiaozhi: ESP32-S3, mic I2S, loa, màn hình

Sơ đồ ghép nối module ESP32-S3 cho chatbot Xiaozhi

Module khuếch đại âm thanh và mic I2S cho Xiaozhi DIY

Cài đặt môi trường lập trình trên Windows

Trước khi biên dịch firmware, cài các công cụ sau:

  1. Visual Studio Codetải VS Code để mở và sửa mã nguồn
  2. ESP-IDF — dùng bộ cài Espressif, khuyến nghị phiên bản 5.4.2: ESP-IDF Installer
  3. Git for Windows (tùy chọn) — nếu clone repo thay vì tải ZIP: git-scm.com

Khi cài ESP-IDF, nên đặt thư mục trên ổ D: (tránh đường dẫn quá dài trên ổ C). Sau khi cài xong, trên Desktop sẽ có shortcut ESP-IDF PowerShell — đây là terminal dùng để build và nạp code.

Video hướng dẫn cài ESP-IDF trên Windows (tham khảo): YouTube — cài ESP-IDF.

Cài đặt ESP-IDF 5.4.2 trên Windows cho dự án xiaozhi-esp32

Tải mã nguồn xiaozhi-esp32

Có hai cách lấy code:

  • Vào github.com/78/xiaozhi-esp32Code → Download ZIP, giải nén vào cùng thư mục với ESP-IDF (ví dụ D:\esp32\xiaozhi-esp32)
  • Hoặc mở ESP-IDF PowerShell, cd vào thư mục làm việc rồi chạy:
git clone https://github.com/78/xiaozhi-esp32.git

Mở project trong VS Code: File → Open Folder → chọn thư mục xiaozhi-esp32.

Tải mã nguồn xiaozhi-esp32 từ GitHub

Mở project xiaozhi-esp32 bằng Visual Studio Code

Chọn chip và cấu hình menuconfig

Trong ESP-IDF PowerShell, vào thư mục code:

cd D:\esp32\xiaozhi-esp32
idf.py set-target esp32s3

Lệnh set-target báo cho ESP-IDF biết bạn dùng ESP32-S3. Firmware cũng hỗ trợ ESP32, ESP32-C3 — đổi target tương ứng nếu board khác.

Tiếp theo mở giao diện cấu hình:

idf.py menuconfig

Trong menu, bạn cần chỉnh hai nhóm chính:

  • Loại màn hình — tick đúng driver màn bạn đang dùng (danh sách rất dài, chọn đúng model SPI/LCD/RGB)
  • Wake word — chọn từ khóa đánh thức, ví dụ Hi, Lily (dễ gọi, nhạy)

Xong thì nhấn ESCSave để lưu cấu hình.

Lệnh idf.py set-target esp32s3 trong ESP-IDF PowerShell

Menuconfig Xiaozhi — chọn loại màn hình phù hợp board

Menuconfig Xiaozhi — chọn wake word Hi Lily

Chỉ dùng Wi-Fi (bỏ 4G)

Mặc định một số board hỗ trợ cả 4G và Wi-Fi. Nếu bạn không gắn module 4G, cần ép firmware chỉ kết nối Wi-Fi bằng cách sửa file dual_network_board.cc — thêm dòng khởi tạo chế độ Wi-Fi-only theo hướng dẫn trong repo (xem ảnh minh họa bên dưới).

Sửa dual_network_board.cc để chỉ dùng Wi-Fi

Build và nạp firmware xuống board

Biên dịch toàn bộ project:

idf.py build

Xác định cổng COM của board (Device Manager trên Windows), rồi nạp và mở log:

idf.py -p COM12 flash monitor

Thay COM12 bằng cổng thực tế. Nếu chỉ muốn nạp bản phát hành có sẵn mà không build, dùng Flash Tool web / ESP-Launchpad.

Build và nạp firmware Xiaozhi bằng idf.py flash monitor

Ghép nối phần cứng

Với custom board tự chế, sửa chân GPIO trong mã nguồn board cho khớp sơ đồ của bạn, rồi idf.py build flash lại. Tham khảo sơ đồ đấu dây phổ biến trên mạng — mic I2S, loa qua module amp, màn hình SPI — và nối theo đúng chân đã khai báo trong firmware.

Sơ đồ đấu dây mic I2S và loa cho board Xiaozhi tự chế

Ghép nối màn hình tròn hoặc vuông với ESP32-S3

Đấu dây module khuếch đại âm thanh cho loa Xiaozhi

Hoàn thiện mạch chatbot AI Xiaozhi trên breadboard

Cấu hình Wi-Fi và kích hoạt thiết bị

Sau khi nạp firmware thành công, thiết bị vào chế độ cấu hình Wi-Fi (thường phát hotspot hoặc hiện mã QR). Kết nối điện thoại, nhập mật khẩu Wi-Fi nhà bạn, rồi đăng ký thiết bị lên server Xiaozhi.

Hướng dẫn chi tiết từng bước:

Mẹo và lỗi thường gặp

  • Build lỗi thiếu target — chạy lại idf.py set-target esp32s3idf.py fullclean nếu đổi chip
  • Không nghe wake word — kiểm tra mic I2S, chọn đúng wake word trong menuconfig; xem thêm đổi wake word / âm thanh P3
  • Màn hình trắng — chọn sai driver trong menuconfig hoặc đấu nhầm chân SPI
  • Chỉ có 4G, không vào Wi-Fi — sửa dual_network_board.cc như mục trên

Tóm tắt

Tự làm chatbot AI Xiaozhi trên ESP32-S3 gồm: chuẩn bị ESP32-S3 + mic + loa + màn hình → cài ESP-IDF 5.4.2 → clone xiaozhi-esp32menuconfig (màn hình + wake word) → build → flash → đấu dây → cấu hình Wi-Fi. Toàn bộ mã nguồn mở trên GitHub; bạn có thể mở rộng qua MCP endpoint hoặc mua Loa AI đã hoàn thiện sẵn firmware tiếng Việt.

Đang tải quảng cáo...
👁️44 lượt xem