


Preview text:
Proposal Dự án IoT: Thiết bị phát hiện ngã/va chạm cho xe máy (ESP32 +
IMU + GPS + ML)
1. Giới thiệu
Tai nạn/ngã xe máy thường xảy ra đột ngột và có thể không có người chứng
kiến. Dự án này xây dựng hệ thống IoT gắn trên xe để phát hiện sớm dấu hiệu
ngã/va chạm và rung bất thường.
Khi nghi ngờ sự cố, thiết bị sẽ phát còi/LED và cho phép chủ xe hủy tại chỗ; đồng
thời gửi sự kiện qua Wi-Fi (MQTT) về gateway/server. 2. Mục tiêu
Phát hiện ngã/va chạm < 3 giây với tỉ lệ báo nhầm thấp.
Có đếm ngược 30 giây + nút Cancel tại thiết bị.
Gửi event + tọa độ lên MQTT → dashboard bản đồ + lịch sử.
Tích hợp ML để phân biệt: đi bình thường / ổ gà / phanh gấp / dựng xe / ngã thật. 3. Phần cứng ESP32 DevKit (Wi-Fi 2.4GHz).
MPU6050 (gia tốc + con quay). Cảm biến rung: SW-420. GPS: NEO-6M/7M (UART). Còi/Buzzer + LED; nút Hủy. Nguồn:12V→5V.
Hộp: nhựa nhỏ IP5x, cao su giảm chấn. 4. Phần mềm
Mobile App (chỉ chủ xe)
Đăng nhập/ghép thiết bị, xem dashboard bản đồ & lịch sử, cấu hình danh bạ
người thân (số điện thoại), nhận FCM, gửi ACK.
5. Cách hệ thống hoạt động Luồng hoạt động :
1. ESP32 đọc IMU + rung + GPS theo khung thời gian (ví dụ 50–100 Hz với IMU, 1 Hz với GPS).
2. Module Heuristic/ML nhẹ: tính đặc trưng (|a| tổng, góc/nghiêng, jerk, đỉnh rung, tốc độ GPS).
3. Khi nghi ngã hoặc rung bất thường:
Bật buzzer/LED + đếm ngược (ví dụ 10 giây). Gửi EVENT qua MQTT. 4. Server nhận EVENT:
Lưu InfluxDB (telemetry) & Events DB (chi tiết sự kiện).
Gửi FCM → App chủ xe hiện cảnh báo + nút ACK.
5. Nếu không nhận ACK trong T giây (ví dụ T=15s) hoặc chính sách “Gửi ngay”:
Node-RED gọi API SMS (cloud) → nhắn cho người thân kèm tọa độ + link bản đồ.
6. Nếu ESP32 mất mạng tạm thời, lưu buffer ngắn và gửi bù khi online.
Sơ đồ tổng quát :
Hình 1. Kiến trúc tổng quát
Sơ đồ luồng dữ liệu : Hình 2. Sơ đồ luồng dữ liệu
Telemetry/Event → Backend → ghi DB; đẩy FCM; nếu không ACK thì gửi SMS.
7. Kế hoạch triển khai
Tuần 1–2: Lắp phần cứng, test IMU/GPS; firmware khung (Wi-Fi, MQTT, gửi telemetry).
Tuần 3–4: Rule-engine v1 + đếm ngược/Cancel; dựng Mosquitto + Node-
RED + InfluxDB; dashboard bản đồ/lịch sử.
Tuần 5–6: Thu thập & gán nhãn 5 kịch bản; train ML baseline → xuất
model.h; tích hợp ML (on-device hoặc gateway).
Tuần 7–8: Field test ngắn; tinh ngưỡng/ML giảm báo nhầm; hoàn thiện vỏ, tài liệu, video demo.
8. Kết quả mong đợi
Thiết bị phát hiện ngã < 3s, đếm ngược và gửi vị trí chính xác.
Dashboard hiển thị được điểm sự kiện trên bản đồ và biểu đồ gia tốc/độ nghiêng.
ML phân biệt được ổ gà/phanh gấp với ngã thật tốt hơn so với chỉ dùng ngưỡng.
Báo cáo: kiến trúc, dữ liệu, mô hình, kết quả thử nghiệm, video demo.