수면 측정 시스템
API / SDK / 대시보드
API는 스마트폰으로 수집된 사운드 데이터를 에이슬립의 AI 기술로 분석하여 사용자의 수면 단계를 실시간으로 추적하고, 수면 중 발생하는 사운드(예: 코골이, 등)를 감지합니다. 측정이 완료된 후에는 사용자의 지난밤 수면 데이터를 바탕으로 총 수면 시간, 수면 점수, 각 수면 단계 비율, 수면 효율, 등 다양한 지표를 포함한 수면 리포트를 제공합니다.
SDK는 앱에서 API를 쉽게 활용할 수 있도록, 스마트폰의 마이크를 통해 수집된 오디오 데이터를 자동으로 처리합니다. 이 과정에서 수집된 데이터를 분석 가능한 형태로 변환한 후, 주기적으로 서버에 업로드합니다. SDK를 사용하면 클라이언트 앱에서 간단히 수면 측정 함수를 호출하는 것만으로도 수면 측정 기능을 구현할 수 있습니다.
대시보드에서는 로그인한 계정의 API Key를 이용해 측정한 수면 데이터를 시각적으로 확인할 수 있습니다. 클라이언트 앱에 리포트 UI를 작성하기 전에, 테스트 환경에서 진행한 수면 측정이 정상적으로 이루어졌는지 대시보드를 통해 쉽게 확인할 수 있습니다
수면 측정 플로우
본격적인 개발에 들어가기 전에 수면 측정 플로우를 이해하는 것은 효율적인 개발과 문제 해결을 위해 필수적입니다. 샘플 앱의 소스 코드에서 아래의 수면 측정 플로우를 확인해보세요.
- 초기화: SDK를 초기화 하는 단계입니다. 새로운 사용자의 아이디를 생성하거나 열려있는 이전 수면 측정 세션을 종료합니다.
- 측정: 오디오 녹음을 시작하고 주기적으로 멜 스펙트로그램으로 변환하여 서버로 업로드하는 단계입니다. 이 과정을 통해 실시간 수면 상태를 추적할 수 있습니다.
- 수면 측정이 시작되면 SDK는 클라이언트 앱에서 사용되어 사용자의 사운드 데이터를 수집하고, 이를 30초 간격으로 서버에 업로드합니다.
- 업로드된 데이터는 AI 서버에서 5분 간격으로 비동기적으로 분석되며, 분석이 완료된 결과는 등록된 callback URL을 통해 클라이언트의 백엔드 서버로 실시간 전송됩니다.
- 5분 이후 첫번째 분석이 시작되기 때문에 최소 5분 이상 측정해야 수면 분석 결과를 받아볼 수 있습니다.
- 리포트: 수면 분석 결과를 확인하는 단계입니다. 수면 측정 세션을 종료하고 서버에서 수면 분석이 완료된 시점부터 수면 지표(Stat Object)를 확인할 수 있습니다.
유효 세션과 무효 세션
유효 세션이란 충분한 사운드 데이터를 업로드하여 AI 수면 분석이 진행되어 유효한 수면 데이터를 제공할 수 있는 세션을 뜻합니다. 수면 분석이 이루어지기 위한 최소 조건은 아래와 같습니다.
- 수면 분석을 위해서는 최소 5분 이상의 연속된 사운드 데이터가 필요합니다. (해당 조건을 만족하지 못할 경우,
peculiarities == TOO_SHORT_FOR_ANALYSIS
) - 전체 수면 세션중 70% 이상의 구간의 사운드 데이터가 정상적으로 업로드 되어야합니다. (해당 조건을 만족하지 못할 경우,
peculiarities == TOO_MANY_DEFECTS_IN_SLEEP_STAGES
)
무효 세션은 AI 수면 분석이 진행되지 않았거나, 분석 결과가 유효하지 않은 세션으로, 과금 대상에서 제외됩니다.
Updated 20 days ago