Biến điện thoại cũ thành bảo vệ thông minh với Kotlin, CameraX, Gemini AI và Telegram
Lê Lân
0
Biến Điện Thoại Thông Minh Cũ Thành Người Bảo Vệ Thông Minh Với Kotlin, CameraX, Gemini AI và Telegram
Mở Đầu
Trong thời đại công nghệ ngày nay, việc tận dụng các thiết bị cũ thành những công cụ thông minh có thể mang lại giá trị sử dụng cao và tiết kiệm chi phí.
Bạn có một chiếc điện thoại Android cũ đang “nghỉ ngơi” đâu đó trong ngăn kéo? Tại sao không biến nó thành một hệ thống bảo mật thông minh cho ngôi nhà hoặc văn phòng nhỏ của bạn? Dự án "Storog" chính là minh chứng thực tế cho điều này, sử dụng các công nghệ hiện đại như Kotlin, CameraX, trí tuệ nhân tạo Gemini AI và Telegram để hình thành một “người bảo vệ” trực tuyến luôn sẵn sàng theo dõi và thông báo mọi biến động.
Bài viết này sẽ giới thiệu chi tiết ý tưởng, quá trình phát triển, các tính năng nổi bật, những trải nghiệm khi làm việc với AI hỗ trợ lập trình và hướng đến các kế hoạch phát triển tương lai của dự án.
Ý Tưởng: Biến Điện Thoại Cũ Thành Người Bảo Vệ Thông Minh
Nhu Cầu Và Khả Năng
Nhiều người trong chúng ta có những chiếc smartphone Android không còn sử dụng nữa, nhưng vẫn còn đầy đủ chức năng cơ bản. "Storog" khai thác ý tưởng tận dụng nguồn lực đó để biến điện thoại thành một camera giám sát theo dõi bằng hình ảnh.
Tính Năng Chính Mong Muốn
Phát hiện thay đổi hình ảnh: So sánh hình ảnh hiện tại với ảnh tham chiếu để phát hiện thay đổi.
Độ nhạy tùy chỉnh: Người dùng có thể điều chỉnh ngưỡng thay đổi để quyết định khi nào cần cảnh báo.
Phân tích thông minh: Sử dụng AI Gemini 1.5 Flash để nhận xét và phân tích ảnh dựa trên prompt do người dùng thiết lập.
Thông báo qua Telegram: Gửi hình ảnh và kết quả phân tích đến kênh Telegram do người dùng chỉ định.
Giao diện thân thiện: Hiển thị khung camera, điều chỉnh độ nhạy và điều khiển bắt đầu/dừng dễ dàng.
Quá Trình Phát Triển: AI Hỗ Trợ Từ Đầu Đến Cuối
Bước 1: Khởi Tạo Dự Án
Tạo một dự án Android trống trong Android Studio.
Sử dụng Kotlin, Jetpack Compose, minSDK 26.
Áp dụng AI Gemini 2.5 Pro Preview qua IDE Trae để hỗ trợ viết mã.
Bước 2: Hiển Thị Camera
Yêu cầu: Hiển thị hình ảnh camera chiếm 1/3 phần trên màn hình.
AI đề xuất tạo file CameraView.kt riêng biệt và tích hợp vào MainActivity.
Bước 3: Giải Quyết Vấn Đề Phân Quyền
Lỗi không hiển thị hình ảnh camera vì thiếu android.permission.CAMERA trong Manifest.
Cập nhật trạng thái camera bằng mutableStateOf để ảnh hiển thị ngay sau khi xin cấp phép.
Bước 4: Thêm Logic So Sánh Hình Ảnh
Tạo hàm calculateDifferencePercentage() trong file ImageComparator.kt dùng để tính phần trăm khác biệt giữa hai ảnh.
suspendfuncalculateDifferencePercentage(
bitmap1: Bitmap,
bitmap2: Bitmap,
resizeWidth: Int? = 100,
convertToGrayscale: Boolean = true
): Double = withContext(Dispatchers.Default) {
try {
// Xử lý hình ảnh, resize, grayscale, so sánh pixel
Mỗi 5 giây, ảnh mới được chụp và so sánh với ảnh tham chiếu để phát hiện sự khác biệt.
Tính Năng Nổi Bật Của Ứng Dụng Storog
Tính Năng
Mô Tả
Camera Real-time
Hiển thị video streaming trực tiếp từ camera điện thoại
Bắt đầu/dừng giám sát
Nút bấm kiểm soát việc theo dõi
Chụp ảnh tham chiếu
Hình nền so sánh với hình ảnh mới
Đo lường mức độ thay đổi
Tính phần trăm khác biệt giữa hai ảnh
Ngưỡng kích hoạt tùy chỉnh
Người dùng chỉnh độ nhạy từ 0% đến 100%
Phân tích AI Gemini
AI đọc và phân tích hình ảnh dựa trên prompt do người dùng thiết lập
Thông báo Telegram
Gửi ảnh và kết quả phân tích đến chat/canal Telegram
Lọc báo động sai
Không gửi cảnh báo nếu AI trả lời bắt đầu bằng “No”
Lưu cấu hình
Thiết lập được giữ lại khi đóng ứng dụng
Lưu ý: Ứng dụng đã sẵn sàng chạy trên thiết bị Android nhưng đang là bản prototype, bạn có thể thoải mái fork và phát triển thêm.
Công Nghệ Sử Dụng
Ngôn ngữ: Kotlin
Giao diện người dùng: Jetpack Compose
Camera: CameraX
Xử lý bất đồng bộ: Coroutine Kotlin
AI: Google Gemini API (com.google.ai.client.generativeai)
Mạng: Ktor Client dùng để gửi yêu cầu Telegram API
Lưu cấu hình: SharedPreferences
Kinh Nghiệm Làm Việc Với Trợ Lý AI: Ưu Và Nhược Điểm
🚀 Ưu Điểm
Nhanh chóng: Sinh code hiệu quả, tiết kiệm thời gian tìm hiểu tài liệu.
Học hỏi: AI đề xuất nhiều giải pháp mới, mở rộng kiến thức.
Giảm thiểu thao tác lặp lại: Tự động tạo mã cho các thành phần tiêu chuẩn như camera, quản lý phân quyền.
Hỗ trợ debug: AI phân tích lỗi và đưa ra hướng khắc phục chính xác.
⚠️ Hạn Chế Và Lưu Ý
Thiếu bối cảnh: AI không hiểu đầy đủ dự án, cần yêu cầu cụ thể, rõ ràng từng phần nhỏ.
Không thay thế hiểu biết: Người lập trình vẫn cần nắm vững công nghệ để điều chỉnh mã.
Phải lặp lại: Thường cần trao đổi, sửa lỗi nhiều vòng với AI để hoàn thiện.
Mẹo Thực Tiễn Khi Làm Việc Với AI Trong Lập Trình
Yêu cầu rõ ràng: Thay vì nói chung chung “làm camera”, hãy mô tả chi tiết chức năng cần như “hiển thị preview camera chiếm một phần ba trên màn hình với CameraX”.
Chia nhỏ nhiệm vụ: Thay vì một yêu cầu lớn, hãy trình bày theo từng bước nhỏ để AI dễ xử lý chính xác.
Thử nghiệm mã: Luôn kiểm tra mã AI cung cấp, đặc biệt với API mới hoặc phức tạp.
Cung cấp bối cảnh: Giới thiệu về cấu trúc dự án để AI hiểu và đề xuất phù hợp.
Không ngại hỏi lại: Nếu câu trả lời không rõ ràng hoặc có lỗi, hãy yêu cầu AI giải thích hoặc sửa.
Tình Trạng Hiện Tại Và Kế Hoạch Phát Triển
Dự án "Storog" hiện đã có đầy đủ chức năng cơ bản và hoạt động ổn định trên thiết bị Android. Các hướng phát triển trong tương lai gồm:
Chạy dưới nền: Triển khai bằng Android Service để hoạt động liên tục mà không cần mở app.
Lập lịch giám sát: Cho phép thiết lập thời gian theo dõi theo khung giờ cụ thể.
Tối ưu AI: Cải tiến phần phân tích, nâng cao độ chính xác và giảm cảnh báo sai.
Mở rộng giao diện và tùy chỉnh: Giao diện người dùng thân thiện hơn, thêm các tham số cấu hình.
Kết Luận
Dự án "Storog" đã chứng minh rằng việc tận dụng các công nghệ hiện đại cùng sự trợ giúp của AI có thể biến smartphone cũ thành một hệ thống giám sát thông minh với chi phí thấp và hiệu quả cao. AI không thay thế người phát triển, nhưng như một "đồng đội lập trình", nó giúp loại bỏ các phần việc nhàm chán, tăng tốc và làm phong phú thêm quá trình học tập cũng như thực thi dự án.
Nếu bạn có một chiếc điện thoại Android cũ và đam mê thử nghiệm, hãy bắt tay với "Storog"! Mã nguồn hoàn toàn mở để bạn tự do khám phá và phát triển: https://github.com/premananda108/storog.git
Chúc bạn thành công và đừng ngại chia sẻ trải nghiệm phát triển AI của mình trong các bình luận!