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

Điều khiển GPIO bằng giọng nói trên Xiaozhi breadboard

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

Bật/tắt LED GPIO18 bằng MCP có sẵn, hoặc thêm thiết bị relay/quạt qua mã nguồn ESP-IDF.

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

Bài viết dịch và biên soạn từ tài liệu chính thức (Hướng dẫn GPIO (Feishu)), thuộc bộ tài liệu DIY Xiaozhi AI.

Tổng quan

Firmware Xiaozhi breadboard Wi-Fi (bread-compact-wifi) hỗ trợ điều khiển thiết bị bằng giọng nói qua giao thức MCP trên thiết bị. Cách nhanh nhất: nối LED (hoặc relay module) vào GPIO18 — firmware mẫu đã có sẵn. Muốn thêm đèn quạt, relay riêng: chỉnh mã nguồn và build lại.

Điều khiển thiết bị GPIO qua MCP trên Xiaozhi

Cách 1 — LED trên GPIO18 (có sẵn trong firmware)

Đấu dây

  • LED đơn + điện trở 220Ω–1kΩ
  • Anode LED → điện trở → GPIO18
  • Cathode LED → GND

Chân LAMP_GPIO trong main/boards/bread-compact-wifi/config.h mặc định là GPIO_NUM_18.

Điều khiển bằng giọng nói

Firmware đăng ký công cụ MCP:

  • self.lamp.turn_on — bật
  • self.lamp.turn_off — tắt
  • self.lamp.get_state — đọc trạng thái

Nói với Xiaozhi các câu tự nhiên, ví dụ: "Bật đèn", "Tắt đèn", "Bật đèn phòng khách" — mô hình ngôn ngữ sẽ gọi công cụ phù hợp. Cần firmware ≥ 0.9.7 (khuyến nghị bản mới từ GitHub).

Relay / thiết bị AC

GPIO18 chỉ xuất tín hiệu 3,3 V — không nối trực tiếp máy 220 V. Dùng module relay 1 kênh (IN → GPIO18, VCC/GND theo datasheet module). Nói "bật" hoặc "tắt" để điều khiển relay.

Cách 2 — Thêm thiết bị GPIO tùy chỉnh (biên dịch firmware)

Hướng dẫn cộng đồng dành cho người đã cài VS Code + ESP-IDF:

  1. Mở mã nguồn xiaozhi-esp32, chọn board ESP32-S3 và đúng thư mục board (ví dụ bread Wi-Fi).
  2. Trong thư mục board, thêm file header thiết bị (ví dụ lamp_G.h) — định nghĩa tên thiết bị và thuộc tính cho AI.
  3. Thay tên mẫu (ví dụ Green_Lamp) bằng tên thiết bị của bạn; đổi nhãn hiển thị trong file.
  4. Trong file .cc của board, đăng ký thiết bị để AI nhìn thấy qua MCP.
  5. idf.py build → flash. Thử nói "mở quạt", "bật đèn đỏ"… tùy tên đã khai báo.

Video minh họa trên Bilibili (tìm "Xiaozhi GPIO") có thêm ví dụ hẹn giờ và điều khiển đèn.

Đấu LED hoặc relay vào GPIO18 breadboard Xiaozhi

Lưu ý

  • Mỗi chân GPIO chỉ nên gánh một chức năng — tránh trùng chân mic, loa, OLED, I2S.
  • Motor cần driver (L298N, MOSFET…) — không cấp trực tiếp từ GPIO.
  • Muốn mở rộng qua máy tính (API, tìm kiếm…): xem cấu hình MCP endpoint.
Đang tải quảng cáo...
👁️37 lượt xem