Biến điện thoại cũ thành 'bảo vệ AI' siêu thông minh: Dự án Storog với Kotlin, CameraX, Gemini AI và Telegram
Lê Lân
1
Biến Điện Thoại Thông Minh Cũ Thành Người Bảo Vệ Thông Minh Bằng Kotlin, CameraX, Gemini AI và Telegram
Mở Đầu
Trong thời đại công nghệ phát triển không ngừng, việc tái sử dụng và tận dụng thiết bị công nghệ cũ không chỉ giúp tiết kiệm chi phí mà còn thân thiện với môi trường. Bạn có bao giờ nghĩ đến việc biến chiếc điện thoại thông minh cũ của mình thành một hệ thống giám sát an ninh thông minh chưa? Dự án "Storog" chính là câu trả lời cho ý tưởng đó, sử dụng nền tảng Android, ngôn ngữ lập trình Kotlin, thư viện CameraX, trí tuệ nhân tạo Gemini AI và Telegram để tạo ra một "người bảo vệ" luôn luôn sẵn sàng quan sát và thông báo kịp thời.
Bài viết này sẽ đưa bạn đi từ ý tưởng ban đầu, quá trình phát triển với sự trợ giúp của AI, cho đến các tính năng nổi bật của ứng dụng và những lưu ý khi làm việc với trợ lý AI trong lập trình. Đây không chỉ là câu chuyện về công nghệ mà còn là minh chứng cho sức mạnh của cộng đồng mã nguồn mở và trí tuệ nhân tạo trong việc thúc đẩy sáng tạo.
Ý Tưởng: Biến Smartphone Thành Bảo Vệ Thông Minh
Nhiều gia đình có trong tay vài chiếc điện thoại Android cũ, không còn sử dụng đến nhưng vẫn còn hoạt động tốt. Tại sao không biến chúng thành một hệ thống giám sát thông minh?
Mục Tiêu Chính
Phát hiện thay đổi hình ảnh: Giám sát liên tục camera và so sánh với ảnh tham chiếu.
Độ nhạy cấu hình được: Người dùng có quyền quyết định mức độ thay đổi được xem là "báo động".
Phân tích thông minh bằng AI: Khi phát hiện thay đổi, ảnh sẽ được gửi tới AI Gemini để phân tích dựa trên câu lệnh người dùng.
Thông báo qua Telegram: Ảnh và kết quả phân tích sẽ được gửi đến nhóm chat Telegram đã cài đặt.
Giao diện thân thiện: Xem trước camera trực tiếp, thao tác Start/Stop dễ dàng.
Thông tin quan trọng: Đây là cách tận dụng thiết bị cũ một cách sáng tạo, không chỉ tiết kiệm mà còn nâng cao an ninh cho không gian sống của bạn.
Quá Trình Phát Triển: Từ Ý Tưởng Đến Prototype Hoạt Động
Sự Hỗ Trợ Đặc Biệt Từ Trợ Lý AI Gemini
Một điểm độc đáo trong dự án này đó là toàn bộ mã nguồn được viết với sự trợ giúp của trợ lý AI Gemini 2.5 Pro Preview trong môi trường Trae IDE. Người phát triển giữ vai trò quản lý sản phẩm, đặt yêu cầu và kiểm thử kết quả.
Các Bước Phát Triển Chính
1. Khởi Tạo Dự Án
Sử dụng Android Studio với minSDK 26.
Lập trình Kotlin tích hợp Jetpack Compose.
AI được "học" cấu trúc dự án để hiểu bố cục tổng thể.
2. Hiển Thị Camera
Yêu cầu: Phần trên của hoạt động hiển thị trực tiếp camera.
AI tách riêng thành file CameraView.kt và tích hợp vào MainActivity.
3. Xử Lý Quyền Truy Cập Camera
Phát hiện lỗi không hiển thị hình ảnh camera do thiếu quyền.
AI đề xuất thêm <uses-permission android:name="android.permission.CAMERA"/> vào manifest.
Sửa lỗi hiển thị hình ảnh phải khởi động lại app bằng cách sử dụng mutableStateOf và callback registerForActivityResult.
4. So Sánh Ảnh
Tạo hàm calculateDifferencePercentage() trong file ImageComparator.kt.
Giảm kích thước ảnh, chuyển sang thang độ xám để tăng tốc xử lý.
Trả về mức độ khác biệt dưới dạng phần trăm.
5. Giám Sát Ảnh Liên Tục
Thêm nút Start trên giao diện chính.
Khi kích hoạt, lưu lại khung hình ban đầu.
Mỗi 5 giây chụp ảnh mới, so sánh với ảnh gốc.
Dữ liệu bất thường được AI phân tích rồi gửi thông báo Telegram.
Tip quan trọng: Phương pháp phát triển dựa trên đối thoại liên tục giữa lập trình viên và AI giúp hệ thống dần hoàn thiện qua các bước kiểm thử thực tế.
Tính Năng Nổi Bật Của Ứng Dụng Storog
Tính năng
Mô tả
Xem trước camera theo thời gian thực
Hiển thị ngay khi mở app, giúp dễ kiểm soát
Bắt đầu/dừng giám sát chỉ với một nút bấm
Giảm thiểu thao tác phức tạp
Chụp ảnh tham chiếu khi bắt đầu giám sát
Dữ liệu chuẩn để so sánh và phát hiện thay đổi
So sánh khung hình và báo % khác biệt
Cài đặt ngưỡng cảnh báo linh hoạt
Phân tích ảnh bằng AI Gemini theo nhắc nhở người dùng
Nâng cao độ chính xác, cảnh báo đúng mục tiêu
Gửi thông báo qua Telegram
Ảnh và phân tích được đẩy đến điện thoại hoặc nhóm
Lọc báo cáo giả (false positive)
Loại bỏ những cảnh báo không đáng tin cậy
Lưu cấu hình giữa các lần bật app
Tiện lợi cho người dùng với thiết lập cá nhân hóa
Thành Phần Công Nghệ (Tech Stack)
Ngôn ngữ: Kotlin
Giao diện: Jetpack Compose
Thư viện camera: CameraX
Bất đồng bộ: Kotlin Coroutines
Trí tuệ nhân tạo: Google Gemini API (com.google.ai.client.generativeai)
Giao tiếp mạng: Ktor Client (giao tiếp Telegram API)
Lưu trữ cài đặt: SharedPreferences
Làm Việc Với Trợ Lý AI: Ưu Điểm Và Hạn Chế
🚀 Ưu Điểm
Nhanh chóng: Các đoạn code tiêu chuẩn được tạo ra chỉ trong vài phút.
Học hỏi thêm: AI gợi ý nhiều giải pháp, thư viện mới, giúp mở rộng kiến thức.
Giảm gánh nặng viết mẫu: Như cấp quyền, cài đặt CameraX, thao tác SharedPreferences.
Hỗ trợ debug: AI phân tích thông báo lỗi và tư vấn sửa chữa cụ thể.
⚠️ Hạn Chế Cần Lưu Ý
Định hướng rõ ràng: AI chỉ hoạt động tốt khi bạn cung cấp yêu cầu cụ thể, chính xác.
Không thay thế kiến thức: Bạn vẫn cần nắm vững những công nghệ cốt lõi để điều chỉnh và sửa lỗi.
Phát triển theo từng bước: Không có giải pháp hoàn hảo ngay từ lần đầu, phải lặp đi lặp lại quá trình hỏi - chỉnh sửa.
Mẹo Thực Tiễn Khi Sử Dụng AI Trong Phát Triển
Yêu cầu chỉ rõ chi tiết: Thay vì nói “làm camera”, hãy nói “thêm camera preview ở 1/3 trên màn hình sử dụng CameraX”.
Phân nhỏ nhiệm vụ: Tạo nhiều câu hỏi nhỏ thay vì một câu lớn dễ gây nhầm lẫn.
Kiểm thử kỹ lưỡng: Mã AI viết ra có thể sai chi tiết API hoặc cú pháp.
Cung cấp bối cảnh: Giúp AI hiểu rõ cấu trúc dự án, mục đích sử dụng.
Tận dụng trao đổi: Nếu chưa hài lòng hoặc gặp lỗi, hãy hỏi lại AI để làm rõ.
Tình Trạng Hiện Tại Và Kế Hoạch Phát Triển
Ứng dụng "Storog" hiện là bản prototype còn đang phát triển nhưng đã rất khả dụng. Các tính năng như giám sát liên tục, phân tích AI và thông báo Telegram đã hoàn thiện. Kế hoạch trong tương lai gồm:
Chạy ngầm dưới dạng Service để giám sát liên tục mà không cần mở app.
Lập lịch giám sát theo thời gian cụ thể (ví dụ: ban đêm, khi vắng nhà).
Tối ưu hiệu năng, giao diện người dùng.
Kết Luận
Dự án "Storog" minh chứng cho sức mạnh của trí tuệ nhân tạo trong phát triển phần mềm hiện đại. Mặc dù AI không phải là “nút bấm thần kỳ” tạo ra thành phẩm hoàn hảo ngay lập tức, nhưng nó chính là “cặp đôi lập trình viên” cực kì hiệu quả giúp giảm thiểu thời gian và công sức cho các công việc lặp đi lặp lại. Nhờ đó, người phát triển có thể tập trung sáng tạo và phát triển ý tưởng hơn.
Lời khuyên cuối cùng: Nếu bạn có một chiếc điện thoại Android cũ và mong muốn thử nghiệm sáng tạo, đừng ngần ngại với "Storog"! Mã nguồn hoàn toàn mở và bạn có thể tham gia đóng góp ngay trên GitHub.