ENSign In

수면 측정 시스템

API / SDK / 대시보드

API는 스마트폰으로 수집된 사운드 데이터를 에이슬립의 AI 기술로 분석하여 사용자의 수면 단계를 실시간으로 추적하고, 수면 중 발생하는 사운드(예: 코골이, 등)를 감지합니다. 측정이 완료된 후에는 사용자의 지난밤 수면 데이터를 바탕으로 총 수면 시간, 수면 점수, 각 수면 단계 비율, 수면 효율, 등 다양한 지표를 포함한 수면 리포트를 제공합니다.

SDK는 앱에서 API를 쉽게 활용할 수 있도록, 스마트폰의 마이크를 통해 수집된 오디오 데이터를 자동으로 처리합니다. 이 과정에서 수집된 데이터를 분석 가능한 형태로 변환한 후, 주기적으로 서버에 업로드합니다. SDK를 사용하면 클라이언트 앱에서 간단히 수면 측정 함수를 호출하는 것만으로도 수면 측정 기능을 구현할 수 있습니다.

대시보드에서는 로그인한 계정의 API Key를 이용해 측정한 수면 데이터를 시각적으로 확인할 수 있습니다. 클라이언트 앱에 리포트 UI를 작성하기 전에, 테스트 환경에서 진행한 수면 측정이 정상적으로 이루어졌는지 대시보드를 통해 쉽게 확인할 수 있습니다

수면 측정 플로우

본격적인 개발에 들어가기 전에 수면 측정 플로우를 이해하는 것은 효율적인 개발과 문제 해결을 위해 필수적입니다. 샘플 앱의 소스 코드에서 아래의 수면 측정 플로우를 확인해보세요.

  1. 초기화: SDK를 초기화 하는 단계입니다. 새로운 사용자의 아이디를 생성하거나 열려있는 이전 수면 측정 세션을 종료합니다.
  2. 측정: 오디오 녹음을 시작하고 주기적으로 멜 스펙트로그램으로 변환하여 서버로 업로드하는 단계입니다. 이 과정을 통해 실시간 수면 상태를 추적할 수 있습니다.
    1. 수면 측정이 시작되면 SDK는 클라이언트 앱에서 사용되어 사용자의 사운드 데이터를 수집하고, 이를 30초 간격으로 서버에 업로드합니다.
    2. 업로드된 데이터는 AI 서버에서 5분 간격으로 비동기적으로 분석되며, 분석이 완료된 결과는 등록된 callback URL을 통해 클라이언트의 백엔드 서버로 실시간 전송됩니다.
    3. 5분 이후 첫번째 분석이 시작되기 때문에 최소 5분 이상 측정해야 수면 분석 결과를 받아볼 수 있습니다.
  3. 리포트: 수면 분석 결과를 확인하는 단계입니다. 수면 측정 세션을 종료하고 서버에서 수면 분석이 완료된 시점부터 수면 지표(Stat Object)를 확인할 수 있습니다.

유효 세션과 무효 세션

유효 세션이란 충분한 사운드 데이터를 업로드하여 AI 수면 분석이 진행되어 유효한 수면 데이터를 제공할 수 있는 세션을 뜻합니다. 수면 분석이 이루어지기 위한 최소 조건은 아래와 같습니다.

  • 수면 분석을 위해서는 최소 5분 이상의 연속된 사운드 데이터가 필요합니다. (해당 조건을 만족하지 못할 경우,peculiarities == TOO_SHORT_FOR_ANALYSIS)
  • 전체 수면 세션중 70% 이상의 구간의 사운드 데이터가 정상적으로 업로드 되어야합니다. (해당 조건을 만족하지 못할 경우, peculiarities == TOO_MANY_DEFECTS_IN_SLEEP_STAGES)

무효 세션은 AI 수면 분석이 진행되지 않았거나, 분석 결과가 유효하지 않은 세션으로, 과금 대상에서 제외됩니다.