Chuyển tới nội dung chính
Trịnh Thị Mai
Đã hoàn thành

Smart Glasses

Lập trình viên Android xây dựng cả nền tảng ứng dụng (đăng nhập, kiến trúc ban đầu) và lớp giao tiếp thiết bị qua Bluetooth/BLE và Wi-Fi cho ứng dụng đồng hành của thiết bị kính thông minh — một giai đoạn hợp tác ngắn, ở bước đầu dự án.

Vai trò
Android Developer
Nền tảng
Android
Thời gian
2025
Khách hàng
Khách hàng bảo mật

Tổng quan dự án

Lĩnh vực
Công nghệ đeo được — ứng dụng di động đồng hành cho thiết bị kính thông minh tích hợp AI, kết hợp các tính năng ứng dụng thông thường với việc kết nối và giao tiếp trực tiếp với kính qua Bluetooth/BLE và Wi-Fi, cùng các tính năng hỗ trợ bởi AI như dịch thời gian thực và trợ lý giọng nói.
Sản phẩm
Đây là ứng dụng đồng hành Android/iOS được lên kế hoạch cho thiết bị kính thông minh tích hợp AI, dự kiến xử lý việc ghép nối và giao tiếp với kính qua Bluetooth/BLE và Wi-Fi, quản lý media/cài đặt, và các tính năng hỗ trợ bởi AI như dịch thời gian thực và trợ lý giọng nói, phối hợp với một server backend và firmware của kính.
Người dùng
Người dùng thiết bị kính thông minh, sử dụng ứng dụng đồng hành để quản lý thiết bị và truy cập các tính năng hỗ trợ bởi AI.
Lý do ra đời
Kính thông minh cần một ứng dụng di động đồng hành để ghép nối, cấu hình, và mở rộng phần cứng bằng các tính năng AI ở phía phần mềm — ứng dụng này chính là ứng dụng đồng hành đó, được xây dựng như một nỗ lực hợp tác giữa đội ngũ phần cứng và đội ngũ phần mềm.
Vấn đề
Trong giai đoạn tôi tham gia, có hai vấn đề cần giải quyết: xây dựng nền tảng của ứng dụng — một trải nghiệm đăng nhập/đăng ký hoạt động được và kiến trúc ban đầu để các tính năng khác được xây dựng dựa trên đó — và giúp ứng dụng thực sự kết nối và giao tiếp với thiết bị kính vật lý qua Bluetooth/BLE và Wi-Fi, cho việc ghép nối, truyền dữ liệu âm thanh, và truyền file.

Vai trò & đóng góp của tôi

Công việc của tôi ở đây gồm hai phần. Nền tảng ứng dụng: tôi xây dựng luồng đăng nhập và đăng ký — xác thực bằng email/mật khẩu, xác minh OTP, và đặt lại mật khẩu — cùng đăng nhập bằng Google, và thiết lập kiến trúc MVVM ban đầu của ứng dụng (các lớp domain/data/presentation, các module dependency injection, các thành phần giao diện tái sử dụng, và điều hướng). Giao tiếp với thiết bị: tôi cũng thực hiện việc kết nối và giao tiếp với kính qua Bluetooth/BLE, bao gồm truyền dữ liệu âm thanh qua Bluetooth/BLE giữa ứng dụng và kính, và kết nối Wi-Fi để tải/truyền file từ kính về ứng dụng. Đây là một giai đoạn hợp tác ngắn, ở bước đầu dự án, và tôi không xây dựng toàn bộ sản phẩm: riêng phần xác thực nằm trên các nhánh tính năng và chưa được merge vào nhánh chính của ứng dụng tại thời điểm tôi kết thúc tham gia, vì vậy toàn bộ phần việc này nên được hiểu là công việc nền tảng và giao tiếp thiết bị trên một phần của một sản phẩm lớn hơn đang được lên kế hoạch. Các tính năng hỗ trợ bởi AI của sản phẩm, như dịch thời gian thực và trợ lý giọng nói, là một phần của kế hoạch đó, không phải phần tôi tự triển khai.

Thách thức & giải pháp

  1. Thách thức kỹ thuật

    Có hai loại thách thức. Thứ nhất là thiết lập một luồng xác thực đầy đủ (đăng nhập, đăng ký, xác minh OTP, đặt lại mật khẩu, đăng nhập Google) từ đầu đến cuối cho một ứng dụng hoàn toàn mới, cùng với kiến trúc phân lớp và cấu hình dependency injection mà phần còn lại của ứng dụng sẽ dựa vào. Thứ hai, và mang tính đặc trưng hơn, là ứng dụng không đơn thuần là một ứng dụng di động giao tiếp qua API thông thường: nó còn phải giao tiếp với một thiết bị kính thông minh vật lý qua hai phương thức truyền không dây khác nhau cho hai loại dữ liệu khác nhau — Bluetooth/BLE cho việc kết nối với kính và truyền dữ liệu âm thanh, và Wi-Fi để tải/truyền file từ kính.

    Cách tôi tiếp cận

    Luồng xác thực được xây dựng dựa trên cấu trúc phân tách domain/data/presentation ngay từ đầu, cùng với các module Koin cho networking và dispatcher được thiết lập song song, để các tính năng sau này có thể kết nối vào cùng kiến trúc đó thay vì mỗi màn hình tự khởi tạo dependency riêng. Đối với kính, ứng dụng kết nối và giao tiếp với kính qua Bluetooth/BLE cho việc kết nối thiết bị và trao đổi dữ liệu âm thanh, và sử dụng kết nối Wi-Fi riêng cho việc tải/truyền file từ kính — công việc có yêu cầu băng thông cao hơn — giữ cho đường kết nối/âm thanh và đường truyền file đi trên phương thức không dây phù hợp với từng loại, thay vì dồn tất cả qua một kết nối duy nhất.

Kiến trúc & công nghệ

Ứng dụng đồng hành là một ứng dụng Android Kotlin xây dựng bằng Jetpack Compose, có cấu trúc MVVM với phân tách domain/data/presentation, sử dụng Koin để inject dependency và Retrofit/OkHttp cùng kotlinx.serialization cho networking với server backend. Bên cạnh việc giao tiếp app-server thông thường đó, ứng dụng sử dụng các API Bluetooth/BLE của Android để kết nối và giao tiếp với kính — bao gồm truyền dữ liệu âm thanh — và Wi-Fi để giao tiếp với kính cho việc truyền/tải file. Các chi tiết triển khai của lớp giao tiếp thiết bị này ngoài phạm vi trên không được ghi lại ở đây.

Công nghệ

  • Kotlin
  • Jetpack Compose
  • Koin
  • Retrofit
  • OkHttp
  • Google Sign-In
  • Bluetooth
  • Bluetooth Low Energy (BLE)
  • Wi-Fi

Dự án này thể hiện

Điều này thể hiện hai điều cùng lúc: khả năng khởi tạo luồng xác thực và kiến trúc ban đầu của một ứng dụng mới từ con số không, và khả năng xây dựng những phần của một ứng dụng di động vượt ra ngoài một thiết kế chỉ giao tiếp qua server thông thường — kết nối và giao tiếp với một thiết bị phần cứng vật lý qua Bluetooth/BLE và Wi-Fi cho các loại dữ liệu khác nhau. Cả hai đều được mô tả trung thực là công việc nền tảng, ở giai đoạn đầu, trên một phần của một sản phẩm lớn hơn đang được lên kế hoạch, không phải một tính năng đã phát hành cho người dùng cuối.

  • Phát triển Android
  • Xác thực
  • Tích hợp bên thứ ba

Bạn có dự án tương tự?

Chia sẻ sản phẩm hoặc vấn đề bạn đang gặp. Tôi sẽ trao đổi để tìm hướng hỗ trợ phù hợp.

Làm việc cùng tôi