Tag: 헬스데이터

  • 웨어러블 앱 개발 – 갤럭시 워치와 백엔드 연동하는 법

    웨어러블 앱 개발 – 갤럭시 워치와 백엔드 연동하는 법

    한국전자통신연구원(ETRI) 프로젝트로 삼성 갤럭시 워치4 데이터 수집 앱을 개발했습니다. 연구 목적으로 만든 앱이지만, WearOS 개발의 핵심 도전들은 상용 헬스케어 앱에도 그대로 적용됩니다.


    WearOS 앱이 일반 모바일 앱과 다른 점

    스마트워치는 스마트폰을 작게 만든 것이 아닙니다. 하드웨어 제약이 완전히 다릅니다.

    • 화면이 작다: 480×480px 수준. 스크롤 대신 스와이프. 텍스트 최소화
    • 배터리가 작다: 일반 앱처럼 개발하면 하루도 못 갑니다
    • 연산 능력이 제한적: 무거운 처리는 스마트폰이나 클라우드에 위임해야
    • 항상 착용: 백그라운드에서 지속적으로 데이터를 수집해야 하는 경우가 많음

    이 모든 제약을 고려한 설계가 WearOS 앱 개발의 핵심입니다.


    ETRI 프로젝트: 무엇을 만들었나

    연구 목적으로 사용자의 신체 데이터를 장기간 수집하는 앱입니다.

    수집 데이터:

    • 걸음 수, 이동 거리, 속력 (위치 데이터)
    • 심박수 (건강 데이터)
    • 가속도, 자이로 (자세 데이터)

    조건:

    • 포그라운드(앱 켜진 상태)와 백그라운드(앱 꺼진 상태) 모두에서 지속 수집
    • 분 단위로 클라우드 데이터베이스에 자동 전송
    • 관리자가 실시간으로 수집 현황 조회

    이 요구사항을 만족시키는 것이 생각보다 훨씬 어려웠습니다.


    핵심 도전 1 — 백그라운드 센서 수집

    WearOS에서 앱이 백그라운드로 전환되면 센서 접근이 제한됩니다. 배터리 절약을 위한 시스템 정책 때문입니다.

    이를 극복하기 위해:

    • Foreground Service: 알림 표시 상태로 앱이 항상 실행 중임을 시스템에 알림
    • WorkManager: 주기적인 데이터 전송 스케줄링
    • Wake Lock: 화면이 꺼져도 CPU가 계속 작동하도록 (배터리 소모 주의)

    이 세 가지를 조합해 백그라운드에서도 안정적으로 센서 데이터를 수집했습니다.


    핵심 도전 2 — 배터리 최적화

    백그라운드에서 GPS, 심박수 센서를 계속 켜두면 배터리가 반나절도 못 버팁니다.

    최적화 접근:

    • GPS 수집 주기 조절: 초 단위가 아닌 분 단위로 위치 업데이트
    • 센서 배치(Batching): 센서 데이터를 개별 전송이 아닌 배치로 모아서 한 번에 처리
    • 적응형 데이터 수집: 사용자가 움직이지 않을 때 수집 빈도 낮추기
    • 클라우드 전송 최적화: Wi-Fi 연결 시에만 대량 전송, 블루투스로 폰을 경유

    결과적으로 하루 종일 착용해도 배터리 50% 이상 유지되는 수준을 달성했습니다.


    핵심 도전 3 — 스마트폰-워치-클라우드 3단 연동

    데이터 흐름: 갤럭시 워치4 → 갤럭시 폰 → 클라우드

    워치가 직접 인터넷에 연결하는 것보다, 블루투스로 페어링된 스마트폰을 통해 클라우드에 업로드하는 방식이 배터리 효율이 좋습니다.

    이를 위한 설계:

    • 워치 앱과 폰 앱이 블루투스로 실시간 통신 (Wearable Data Layer API)
    • 폰 앱이 워치에서 받은 데이터를 클라우드에 업로드
    • 워치 단독으로도 LTE 연결 시 직접 업로드 가능하도록 폴백 구현

    핵심 도전 4 — 실시간 관리자 모니터링

    연구자들이 실시간으로 피험자의 데이터를 확인할 수 있어야 했습니다.

    • 피험자별 실시간 데이터 대시보드
    • 데이터 수집 상태 확인 (정상/비정상)
    • 특정 시간대 데이터 조회 및 CSV 내보내기

    Firebase Realtime Database를 활용해 분 단위로 업데이트되는 실시간 대시보드를 구현했습니다.


    WearOS 앱 개발 시 기술 스택 선택

    언어: Kotlin (Android/WearOS 공식 언어)

    센서 API: Samsung Health Sensor SDK — 갤럭시 워치 특화 센서에 접근하기 위해 필수

    네트워크: Retrofit + Firebase. 분 단위 업로드에는 Retrofit, 실시간 대시보드에는 Firebase Realtime Database

    백그라운드 처리: Android WorkManager + Foreground Service 조합


    헬스케어 상용 앱에 적용할 때 추가 고려사항

    ETRI 프로젝트는 연구 목적이라 규제에서 비교적 자유로웠습니다. 상용 헬스케어 앱이라면 추가로 고려해야 합니다.

    개인정보: 심박수, 위치 같은 민감 정보는 더 엄격한 동의와 보안이 필요합니다.

    앱스토어 심사: 건강 데이터를 수집하는 앱은 구글 플레이 스토어와 갤럭시 스토어에서 별도 심사를 받습니다. 승인 기준을 사전에 확인해야 합니다.

    Samsung Health 연동: 상용 앱이라면 삼성 헬스 앱과 연동해 기존 건강 데이터를 활용할 수 있습니다. 이 경우 Samsung Health SDK 개발자 등록과 심사 과정이 필요합니다.


    마치며

    WearOS 앱 개발은 일반 모바일 앱 대비 제약이 많지만, 그만큼 “항상 몸에 붙어있는 기기”라는 강력한 강점이 있습니다.

    헬스케어, 피트니스, 산업 안전(위험 지역 작업자 모니터링) 등 지속적인 신체 데이터가 필요한 서비스에서 웨어러블은 스마트폰을 대체할 수 없는 포지션을 가집니다. 배터리와 화면 제약을 잘 설계하면, 그 가치는 충분히 실현됩니다.