Project

General

Profile

Actions

User Story #6

closed
DL

Epic #4: Ticket check nội dung Wi-Fi

[WINDY] Lưu tối đa 4 Wi-Fi, tự động chọn mạng mạnh và hiển thị cường độ

User Story #6: [WINDY] Lưu tối đa 4 Wi-Fi, tự động chọn mạng mạnh và hiển thị cường độ

Added by Dew Luong about 2 months ago. Updated about 1 month ago.

Status:
Done
Assignee:
-
Start date:
08/11/2026
Due date:
Dev:
Tester:

Description

Bối cảnh

Windy có thể di chuyển giữa các khu vực như phòng sinh hoạt chung, phòng họp, hội trường và phòng đọc thư viện. Robot cần ghi nhớ các mạng Wi-Fi của những khu vực thường xuyên sử dụng, tự động chọn mạng phù hợp và cho người dùng biết chất lượng kết nối hiện tại.

Hiện trạng được ghi nhận

  • Khi lưu Wi-Fi mới, profile Wi-Fi cũ có thể bị ghi đè.
  • Sau mỗi lần khởi động, robot phải bắt/kết nối Wi-Fi lại.
  • Robot đang ưu tiên mạng theo thứ tự tên SSID, nên có thể kết nối vào mạng yếu hơn.
  • Màn hình robot chưa hiển thị cường độ Wi-Fi.

Các điểm trên là bối cảnh nghiệp vụ cần được đội firmware/sản phẩm xác minh trong bước triển khai; ticket này được phân loại là User Story cải tiến, chưa coi là defect đã xác minh từ source.

User Story

Với tư cách là người dùng Windy, tôi muốn robot lưu các Wi-Fi tại những địa điểm thường sử dụng, tự động kết nối vào mạng đã lưu có tín hiệu phù hợp nhất và hiển thị cường độ kết nối để robot tiếp tục hoạt động khi di chuyển giữa các phòng mà không cần thiết lập lại nhiều lần.

Quy tắc nghiệp vụ

  1. Windy phải lưu cục bộ tối đa 4 profile Wi-Fi khác nhau.
  2. Khi cấu hình lại một SSID đã tồn tại, robot cập nhật đúng profile đó, không tạo bản trùng và không xóa profile khác.
  3. Khi đang có dưới 4 profile, thêm Wi-Fi mới không được ghi đè profile hiện có.
  4. Khi đã đủ 4 profile, việc thêm Wi-Fi thứ 5 không được tự động ghi đè. Luồng provisioning phải yêu cầu người dùng chọn rõ profile cần thay thế trên ứng dụng di động.
  5. Danh sách profile phải được giữ nguyên qua reboot, tắt/mở nguồn và khởi động lại phần mềm.
  6. Khi khởi động, mất kết nối hoặc đi vào khu vực mới có mạng đã lưu, robot phải quét và thử kết nối theo thứ tự cường độ tín hiệu giảm dần.
  7. Thứ tự chữ cái của SSID không được ảnh hưởng đến mức ưu tiên kết nối.
  8. Nếu ứng viên mạnh nhất kết nối thất bại, robot thử các profile đã lưu còn lại với timeout và retry giới hạn.
  9. Màn hình robot phải hiển thị cường độ của kết nối Wi-Fi hiện tại bằng chỉ báo dễ hiểu và có thể tiếp cận.
  10. Chính sách lựa chọn mạng phải định nghĩa ngưỡng cải thiện tối thiểu và hysteresis/thời gian giữ để tránh đổi mạng liên tục.
  11. Nếu không có profile đã lưu nào có thể truy cập, robot phải giữ trạng thái có thể phục hồi qua luồng cấu hình Wi-Fi hiện có trên ứng dụng di động/BLE.
  12. Mật khẩu Wi-Fi phải được lưu an toàn trên robot và không được gửi lên backend, cloud, log hoặc telemetry.

Tiêu chí nghiệm thu

  • Khi có dưới 4 profile, Wi-Fi mới được thêm thành công mà không xóa profile cũ.
  • Khi cấu hình lại SSID đã tồn tại, profile được cập nhật mà không tạo bản trùng.
  • Khi đã có 4 profile, Wi-Fi thứ 5 không làm profile nào bị ghi đè âm thầm và người dùng phải chọn rõ profile cần thay thế.
  • Sau reboot hoặc tắt/mở nguồn, cả 4 profile vẫn còn và có thể dùng để tự động kết nối.
  • Khi nhiều mạng đã lưu cùng khả dụng lúc khởi động, robot thử mạng đủ điều kiện mạnh nhất trước, không phụ thuộc tên SSID.
  • Khi ứng viên mạnh nhất xác thực thất bại hoặc timeout, robot thử profile khả dụng tiếp theo mà không xóa profile lỗi.
  • Khi Windy di chuyển giữa phòng sinh hoạt chung, phòng họp, hội trường và phòng đọc thư viện, robot tự động kết nối theo chính sách đã định nghĩa.
  • Khi đã kết nối Wi-Fi, màn hình robot hiển thị cường độ hiện tại và cập nhật khi tín hiệu thay đổi.
  • Khi không có mạng đã lưu nào khả dụng, robot vẫn có thể được cấu hình lại bằng ứng dụng di động/BLE.
  • Mật khẩu Wi-Fi không xuất hiện trong request backend, cloud storage, log, telemetry hoặc nội dung chẩn đoán hiển thị cho người dùng.
  • Có automated test cho giới hạn 4 profile, thêm/cập nhật, xử lý profile thứ 5, lưu qua reboot, strongest-first, fallback khi lỗi, cập nhật chỉ báo cường độ, không có mạng đã lưu và chống flapping.

Liên quan tới lệnh thoại

User Story lệnh thoại thuộc cùng ticket cha #4 sẽ sử dụng capability này khi người dùng nói: Windy ơi, hãy kết nối với Wi-Fi mạnh hơn. Ticket này phụ trách lưu profile, chính sách lựa chọn, kết nối fallback và hiển thị tín hiệu; ticket lệnh thoại phụ trách nhận diện intent và phản hồi bằng giọng nói.

Ngoài phạm vi

  • Đồng bộ mật khẩu Wi-Fi qua cloud.
  • API backend mới để lưu mật khẩu Wi-Fi.
  • Hiển thị mật khẩu Wi-Fi trên robot hoặc ứng dụng.
  • Chi tiết nhận diện Voice/NLU, thuộc User Story lệnh thoại riêng.

Tham chiếu khi chuyển lên hệ thống chính thức

Actions

Also available in: PDF Atom