🤖 Xiaozhi OTA Studio

Build firmware & nạp vào board qua WiFi — không cần cáp

📦 Trạng thái

Version source
Trạng thái build
Bản OTA đang phát
Kích thước
Phát hành lúc

🚀 Thao tác

Sau khi phát hành, khởi động lại board (rút cắm nguồn hoặc bấm RST) — board sẽ tự tải firmware mới qua WiFi khi bật lên.

📱 Thiết bị

Device ID (MAC)BoardVersionIPLần cuốiKết quảChủ sở hữu

Chưa có board nào. Hãy trỏ Custom OTA URL của board về server này (xem hướng dẫn cuối trang), khởi động lại board, rồi thêm board bằng Device ID bên dưới.

👤 Quản lý tài khoản

IDTài khoảnRoleSố boardNgày tạo

📧 Thông báo Gmail theo board

Device IDBoardLần cuối gọi vềTrạng thái

Chưa có board nào cấu hình thông báo email.

Nhập Device ID của board bạn để cấu hình thông báo email (hoặc bấm vào 1 dòng trong bảng trên). Device ID hiện trên màn hình board khi vào chế độ cấu hình WiFi (dòng "Device ID: xx:xx:xx:xx:xx:xx"). Hướng dẫn tạo URL Apps Script ở cuối trang ↓

🧩 Tính năng hiện có trên firmware (MCP tools)

ToolMô tảFile

Muốn thêm tính năng mới (thời tiết, tin tức...)? Sửa hàm InitializeTools() trong file board (hoặc nhờ Claude Code thêm giúp), sau đó bấm Build & Phát hành OTA ở trên.

🖥️ Log build

Chưa có log. Bấm nút Build để bắt đầu.

📖 Cách tạo URL Web app đọc Gmail (mỗi người dùng làm 1 lần, ~5 phút)

  1. Đăng nhập Google, mở script.google.comNew project, dán code sau (xóa code mẫu cũ):
    function doGet() {
      // Chỉ lấy email tab Chính (Primary) - bỏ qua Quảng cáo & Mạng xã hội
      var threads = GmailApp.search('is:unread in:inbox category:primary', 0, 100);
      var mails = threads.slice(0, 5).map(function(t) {
        var m = t.getMessages()[t.getMessageCount() - 1];
        return {
          id: m.getId(),
          from: m.getFrom().replace(/<.*>/, '').trim(),
          subject: m.getSubject(),
          date: m.getDate().toISOString()
        };
      });
      return ContentService
        .createTextOutput(JSON.stringify({ unread: threads.length, mails: mails }))
        .setMimeType(ContentService.MimeType.JSON);
    }
  2. Bấm Deploy → New deployment → chọn loại Web app: Execute as = Me, Who has access = AnyoneDeploy.
  3. Cấp quyền đọc Gmail khi Google hỏi (Authorize access).
  4. Lấy Device ID của board: đưa board vào chế độ cấu hình WiFi, Device ID hiện ngay trên màn hình board (dòng Device ID: xx:xx:xx:xx:xx:xx).
  5. Trong mục 📧 Thông báo Gmail theo board ở trên: nhập Device ID → bấm 🔍 Kiểm tra → dán URL Web app (dạng https://script.google.com/macros/s/.../exec) → bấm 💾 Lưu.
  6. Bấm ▶ Thử ngay — hiện số email chưa đọc là thành công. Board sẽ nhận thông báo trong vòng 1 phút.

📖 Cách trỏ board về server này (làm 1 lần, không cần cáp)

  1. Đưa board vào chế độ cấu hình WiFi (nói "cấu hình WiFi" hoặc theo cách của board), điện thoại kết nối vào WiFi Xiaozhi-xxxx của board.
  2. Mở trang cấu hình 192.168.4.1 → mục Advanced → điền Custom OTA URL:
  3. Lưu lại, board khởi động — từ giờ mỗi lần bật lên board sẽ hỏi server này và tự cập nhật khi có bản mới.