Newert

SDK · Development

SDK 연결과 데이터 수신을 여섯 단계로 구현하세요

패키지 확인부터 Bluetooth 권한, 장치 검색·연결, PPG·움직임 수신, 자체 저장과 실제 측정 검증까지 순서대로 진행합니다.

개발 가이드

패키지와 수신 범위를 먼저 확인하세요

모바일

Flutter · Android/iOS

하나의 공개 샘플에 Android와 iOS 프로젝트가 포함됩니다.

데스크톱

Python · Windows

현재 ZIP은 CPython 3.9 Windows 바이너리로 확인됩니다. Linux는 확인이 필요합니다.

검증 대상

연결 · 샘플 · 시간축

UI보다 먼저 누락 샘플, 이벤트와 PPG·IMU 시간 정렬을 확인합니다.

이 가이드를 사용할 개발자

Android·iOS 개발자

모바일 권한과 앱 생명주기를 고려해 장치 연결과 측정을 구현합니다.

Windows 개발자

현재 확인된 CPython 3.9 Windows 예제로 장치 연결과 데이터 처리를 구현합니다. Linux 도입은 별도 확인이 필요합니다.

데이터 엔지니어

수신 스트림의 스키마, 시간축, 이벤트와 저장·전송 무결성을 검증합니다.

개발 방법

연결부터 검증까지 여섯 단계로 구현합니다

함수 이름은 버전별 문서를 따르되 상태 전이와 데이터 검증 순서는 동일하게 유지합니다.

시작 전 확인 · 코드를 붙이기 전에 배포물과 실행 환경을 맞추세요

모바일 문서의 런타임 표기와 데스크톱 ZIP 구성이 완전하지 않으므로 실제 내려받은 파일을 기준으로 먼저 확인합니다.

01

모바일 샘플

공식 VitalTrack-SDK 저장소와 pubspec을 기준으로 Flutter·Dart 환경을 맞춥니다. README와 pubspec의 Dart 최소 버전은 서로 다릅니다.

02

데스크톱 패키지

현재 ZIP의 CPython 3.9 Windows 바이너리와 PySide6·qasync·bleak·SciPy·NumPy 의존성을 확인합니다.

03

기기·Bluetooth

EmoConnect 또는 VitalTrack 이름이 검색되는지 확인하고 대상 OS의 Bluetooth 권한을 준비합니다.

04

일반 SDK·PRO

두 버전 모두 PPG·IMU 원시 신호를 받습니다. 스마트 필터링된 정제 신호 또는 HR 지표가 필요하면 EmoConnect PRO를 선택합니다.

  1. STEP 1

    내려받은 패키지와 런타임을 맞춥니다

    모바일은 Android·iOS가 포함된 Flutter 샘플을 빌드합니다. 데스크톱은 현재 확인된 Windows CPython 3.9 예제로 시작하며 Linux 파일은 담당자에게 확인합니다.

    • SDK 커밋·ZIP 버전과 아키텍처 기록
    • 모바일 pubspec 또는 데스크톱 의존성 확인
    • Linux가 필요하면 배포 파일과 실행 절차 문의
  2. STEP 2

    Bluetooth와 운영체제 권한을 설정합니다

    앱이 장치를 검색하기 전에 필요한 Bluetooth·주변 기기 권한을 요청하고, 거부·재요청 상태를 UI에서 처리합니다.

    • OS 버전별 권한 확인
    • 권한 거부 안내
    • Bluetooth 꺼짐 상태 처리
  3. STEP 3

    장치를 검색하고 연결 상태를 관리합니다

    검색 결과에서 지원 기기만 구분하고 연결 중·연결됨·연결 끊김·재연결 상태를 명확하게 관리합니다.

    • 중복 장치 제거
    • 사용자가 선택한 식별값 저장
    • 앱 종료·백그라운드·재연결 처리
  4. STEP 4

    PPG와 움직임 스트림을 분리해 받습니다

    PPG, ACC, Gyro, Mag 값을 각각 수신합니다. 모바일 문서는 각 신호를 50Hz로 안내하지만 실제 필드·단위와 타임스탬프 방식은 사용 버전에서 확인합니다.

    • 수신 값과 샘플 수 증가 확인
    • 수신 순서와 버퍼 크기 기록
    • UI 갱신과 저장 처리를 분리
  5. STEP 5

    이벤트와 세션 저장을 직접 구현합니다

    현재 SDK 예제는 CSV를 자동 생성하지 않습니다. 자체 프로그램에서 참여자 코드, 세션 시작·종료와 실험 이벤트를 수신 데이터에 연결해 저장합니다.

    • 직접 식별정보 제외
    • 애플리케이션 수신 시각과 이벤트 기록
    • 정상 종료·중단 시 파일 무결성 확인
  6. STEP 6

    실제 측정 조건에서 검증합니다

    짧은 테스트와 장시간 측정에서 샘플 누락, 중복, 시간 역전, PPG·IMU 정렬, 연결 끊김과 복구를 검증합니다.

    • 예상 샘플 수와 실제 행 수 비교
    • 이벤트와 실제 과제 시점 대조
    • 연결 끊김 후 파일·상태 무결성 확인

다운로드

저장 구조를 먼저 정하세요

SDK는 센서 값을 전달하며 CSV 파일을 자동으로 만들지 않습니다. 아래 구조 샘플로 자체 저장 로직과 분석 파이프라인을 설계하세요.

애플리케이션 저장 구조 CSV 샘플

PPG와 ACC·Gyro·Mag, 이벤트를 한 시간축으로 저장하는 구조 예시입니다. SDK가 자동 생성하는 파일은 아닙니다.

포함 컬럼

Time · PPG · ACC x/y/z · Gyro x/y/z · Mag x/y/z · event

EmoConnect 앱 Raw CSV를 바탕으로 한 구조 설명용 샘플입니다. SDK의 실제 API·필드·단위·타임스탬프와 일치한다고 단정할 수 없으며 사용 버전에서 확인해야 합니다.

개발용 CSV 구조 다운로드

구현 결과

개발 완료 기준은 화면이 아니라 데이터 무결성입니다

연결 성공 화면만 확인하지 말고 실제 연구에 전달할 수 있는 세션 파일과 재현 가능한 로그를 남겨야 합니다.

명확한 연결 상태

검색·연결·측정·끊김·재연결 상태가 UI와 로그에서 일치합니다.

신호별 스트림

PPG, ACC, Gyro, Mag가 구분되고 수신 수가 로그에서 확인됩니다.

세션·이벤트 기록

참여자 코드와 실험 이벤트가 측정 시간축에 연결됩니다.

직접 만든 저장 파일

자체 저장 로직으로 헤더, 단위, 결측과 인코딩을 확인한 CSV 또는 데이터 파일을 생성합니다.

PRO 정제 신호·HR 지표

EmoConnect PRO에서는 원시 신호와 함께 스마트 필터링된 정제 신호와 HR 지표를 받을 수 있습니다.

검증 로그

버전, 기기, 측정 조건과 누락·재연결 결과를 재현할 수 있습니다.

PPG·IMU 수신 데이터 예시

같은 시각 행에서 PPG, ACC, Gyro, Mag와 실험 이벤트를 함께 보존하는 예시입니다.

Time (seconds)PPG (dB)ACC x (m/s²)ACC y (m/s²)ACC z (m/s²)Gyro x (°/s)Gyro y (°/s)Gyro z (°/s)Mag x (µT)Mag y (µT)Mag z (µT)event
0.0224119.000-0.1050.8589.727-0.022-0.011-0.010-50.531-7.3488.3980
0.0424121.918-0.1060.9079.721-0.030-0.024-0.010-50.363-7.0788.2980
0.0624124.837-0.1060.9569.716-0.038-0.037-0.011-50.195-6.8098.1970

일반 SDK와 EmoConnect PRO의 차이

연결과 원시 신호 수신 방식은 같고, PRO에서 스마트 필터링된 정제 신호와 HR 지표를 추가로 받을 수 있습니다.

장치 연결
일반 SDK지원 기기 검색·연결
EmoConnect PRO동일
PPG·IMU 원시 신호
일반 SDK수신 가능
EmoConnect PRO수신 가능
스마트 필터링된 정제 신호
일반 SDK제공하지 않음
EmoConnect PRO수신 가능
HR 지표
일반 SDK제공하지 않음
EmoConnect PRO수신 가능

구매·다운로드·도입

필요한 제품과 도입 방법을 문의하세요

사용 환경과 필요한 데이터 범위를 알려주시면 적합한 제품, 다운로드와 도입 경로를 안내해 드립니다.

SDK 기술 문의하기

다음 안내도 확인하세요