Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QR Motion Tracker

QR 코드의 실시간 움직임을 추적하고 그래프로 시각화하는 Flutter 앱

📱 주요 기능

  • 실시간 QR 코드 감지: 카메라를 통해 QR 코드를 실시간으로 감지
  • 움직임 추적: QR 코드의 X, Y 좌표를 매 프레임마다 추적
  • 속도 계산: 실시간으로 X, Y 축의 이동 속도 계산
  • 그래프 시각화:
    • 위치 그래프 (X, Y 좌표)
    • 속도 그래프 (X, Y 속도)
  • 반응형 UI: Sizer를 사용한 모든 기기 대응
  • 상태 관리: GetX를 사용한 효율적인 상태 관리

🛠️ 기술 스택

  • Framework: Flutter 3.0+
  • 상태 관리: GetX
  • 반응형 UI: Sizer
  • QR 스캔: mobile_scanner
  • 차트: fl_chart
  • 카메라: camera
  • 권한 관리: permission_handler

📦 설치 방법

1. Flutter 설치 확인

flutter --version

2. 의존성 설치

cd qr_motion_tracker
flutter pub get

3. 실행

# Android
flutter run

# iOS
flutter run -d ios

# 특정 디바이스
flutter devices
flutter run -d [device-id]

🏗️ 프로젝트 구조

lib/
├── main.dart                          # 앱 진입점
├── app/
│   ├── routes/
│   │   ├── app_pages.dart            # 라우팅 설정
│   │   └── app_routes.dart           # 라우트 정의
│   ├── data/
│   │   └── models/
│   │       └── qr_motion_data.dart   # 움직임 데이터 모델
│   └── modules/
│       ├── home/
│       │   ├── home_view.dart        # 홈 화면
│       │   ├── home_controller.dart  # 홈 컨트롤러
│       │   └── home_binding.dart     # 홈 바인딩
│       └── camera/
│           ├── camera_view.dart      # 카메라 화면
│           ├── camera_controller.dart # 카메라 컨트롤러
│           └── camera_binding.dart   # 카메라 바인딩

🎯 사용 방법

  1. 앱 실행: 홈 화면에서 "추적 시작" 버튼 클릭
  2. 카메라 고정: 휴대폰을 고정된 위치에 배치
  3. QR 코드 이동: QR 코드를 카메라 앞에서 이동
  4. 실시간 추적: 화면에서 실시간으로 위치와 속도 확인
  5. 그래프 확인: 하단 그래프에서 움직임 패턴 분석

📊 데이터 표시

상단 카메라 뷰

  • 실시간 QR 코드 감지
  • 현재 위치 (X, Y)
  • 데이터 포인트 개수

통계 패널

  • X 위치 (파란색)
  • Y 위치 (빨간색)
  • X 속도 (초록색)
  • Y 속도 (주황색)

그래프

  • 위치 그래프: 시간에 따른 X, Y 좌표 변화
  • 속도 그래프: 시간에 따른 X, Y 속도 변화

🔧 기능 버튼

  • 플래시: 어두운 환경에서 조명 사용
  • 카메라 전환: 전면/후면 카메라 전환
  • 데이터 초기화: 수집된 데이터 초기화
  • 일시정지/시작: 추적 일시정지 및 재개

📱 권한 요구사항

Android

  • android.permission.CAMERA: 카메라 접근
  • android.permission.FLASHLIGHT: 플래시 사용

iOS

  • NSCameraUsageDescription: 카메라 접근

🚀 빌드

Android APK

flutter build apk --release

iOS IPA

flutter build ios --release

Android App Bundle

flutter build appbundle --release

💡 개발 팁

최대 데이터 포인트 조정

camera_controller.dart에서 maxDataPoints 값을 수정:

final int maxDataPoints = 100; // 원하는 값으로 변경

그래프 스타일 변경

camera_view.dart_buildPositionChart()_buildVelocityChart() 메서드에서 색상과 스타일 수정 가능

감지 속도 조정

camera_controller.dart에서 DetectionSpeed 변경:

detectionSpeed: DetectionSpeed.normal, // normal, noDuplicates, unrestricted

🐛 문제 해결

카메라가 작동하지 않는 경우

  1. 권한이 허용되었는지 확인
  2. 에뮬레이터가 아닌 실제 디바이스에서 테스트
  3. AndroidManifest.xml 및 Info.plist 권한 확인

그래프가 표시되지 않는 경우

  1. QR 코드가 올바르게 감지되는지 확인
  2. 충분한 조명이 있는지 확인
  3. QR 코드가 카메라 시야 내에 있는지 확인

📄 라이선스

이 프로젝트는 MIT 라이선스 하에 있습니다.

👨‍💻 개발자

GenSpark AI Developer

🙏 감사의 말

  • Flutter Team
  • GetX Package
  • mobile_scanner Package
  • fl_chart Package
  • Sizer Package

About

QR code motion tracking app with real-time camera and graph visualization. Built with Flutter, GetX, and Sizer.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages