본 프로젝트는 아두이노 센서, Flutter 앱, 그리고 Firebase 백엔드를 활용하여
사용자의 낙상 사고를 감지하고, 보호자에게 자동으로 문자 알림을 전송하는 시스템입니다.
또한 사용자의 훈련 모드, 기록 조회 기능을 통해 실생활에 적용 가능성을 높였습니다.
- 아두이노와 Bluetooth 통신
- 자이로 센서 데이터 수신 및 낙상 판단
- 낙상 경고 알림 및 UI 팝업
- 훈련 모드 및 버틴 시간 기록 기능
- 최근 훈련 기록 표시
- MPU6050 센서를 통한 자이로 및 가속도 측정
- BLE 모듈(HC-06 등)을 통한 Flutter 앱과의 통신
- Firebase Functions:
- 낙상 발생 시 문자 자동 전송
- 보호자 응답 처리 로직 포함
- 권한 요청 (Bluetooth, 위치 등)
- BLE 디바이스 검색 및 연결
- 메인 대시보드 진입
- 센서로부터 받은 자이로/가속도 데이터를 분석
- 낙상 판단 기준 충족 시:
- 사용자 위치 정보 획득
- 보호자 전화번호 확인
- Firebase Functions 호출 → 문자 전송
- 앱 내 UI 경고 + 알림음 발생
- 사용자가 균형 유지 훈련 시작
- 자이로 값이 기준 이상이면 자동 종료
- 훈련 시간(초) 저장
- 최근 훈련 기록 3개를 앱에서 카드 형태로 즉시 확인 가능
- 기록 다이얼로그로 전체 확인도 가능
항목 | 기술 |
---|---|
프론트엔드 | Flutter (Dart) |
하드웨어 | Arduino + MPU6050 + BLE Module |
백엔드 | Firebase Functions, Firebase Firestore |
문자 전송 | 외부 SMS API 또는 커스텀 메시징 서버 |
위치 서비스 | GPS 센서 |
- Bluetooth 미연결 시: 연결 재시도 안내
- 위치 미수신 시: 주소 없이 보호자에게 알림 전송
- 권한 거부: 앱 내 설정 안내 및 이동 유도
- 자이로 파싱 오류: 콘솔에 로그 출력
- 훈련 중 기준 이상 흔들림 감지 시: 훈련 자동 종료 + 스낵바 알림
- 보호자 앱 연동 → 보호자도 앱에서 실시간 확인 가능
- 음성 명령 인식 기능 → “넘어졌어요” 감지
- AI 기반 낙상 예측 → 머신러닝으로 사전 감지
- 실시간 모니터링 웹 대시보드 개발
- 응급 서비스 호출 기능 추가 (119 등)
⚙️ 이 프로젝트는 실제 낙상 상황에서 골든타임 확보를 목표로 하며,
빠른 인지와 대응을 통해 사용자의 생명과 안전을 보호하고자 설계되었습니다.