Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

재훈재훈

삼성 Gear에서 Android 스마트폰으로 센서 데이터 보내기 - 환경설정편 본문

Computer Engineering/Tizen

삼성 Gear에서 Android 스마트폰으로 센서 데이터 보내기 - 환경설정편

jaehoonx2 2019. 1. 2. 22:00

이번 시리즈에서는 삼성 Gear에서 Android OS 스마트폰으로

센서 데이터를 전송하는 실습을 할 것이다.

실습에 사용되는 센서는 Gear에 내장된 심박센서이다.

Gear와 스마트폰 간 블루투스 연결을 통해 이 심박센서 데이터를 전송하는

간단한 기어 앱을 만드는 것이 이번 시리즈의 최종 목표이다.


실습에 사용된 기어 기종은 삼성 Gear Fit 2 ProGear S2이며,

각각의 Tizen 버전은 3.0 (Fit 2 Pro) 및 2.3.2 (S2)이다.

본 실습은 최소 Tizen 2.3.1 이상 환경에서만 유효하다. (Sensor API 지원 최소 사양)

따라서 이 기종들 뿐만 아니라 S3, Galaxy Watch 등에도 이 예제를 적용할 수 있다.


소스 코드는 삼성 개발자 홈페이지 및 타이젠 홈페이지에 있는 다음 Sample을 사용한다.


심박센서값 추출 :  hrmsensorapp

(출처 : https://developer.tizen.org/community/tip-tech/accessing-heart-rate-monitor-hrm-sensor-data-native-applications?langswitch=en)


안드로이드로 데이터 전송 : HelloAccessory Provider(Tizen)

(출처 : https://developer.samsung.com/galaxy-watch/develop/samples/companion/hello-native)



기본적인 구조는 HelloAccessory 홈페이지에 나와있는

Provider(Gear) -> Consumer(Android) 그림과 같다.

단지, 여기서는 시간과 timestamp 대신 심박 센서값을 전송하는 것이 차이점이다.

다만 Android side의 경우, HelloAccessory(C) 앱을 그대로 사용하므로

이 포스트에서는 안드로이드는 다루지 않는다.

(출처 : Samsung Developers)



실습에 들어가기에 앞서 우선 다음과 같은 환경을 만들어주어야 한다.


1. Tizen Studio에 hrmsensorapp과 HelloAccessory의 Provider(Tizen)를 import한다. (File - Import)

        

Project Version의 경우 사용하는 기종의 타이젠 버전이 2.3.2 및 3.0이므로 2.3.2에 맞추어 Import 하였다.



2. Provider 프로젝트에서 필요한 것은 inc 폴더에 있는 helloaccessory.h와 src 폴더에 있는 sap.c이다.

이 두 파일을 hrmsensorapp 프로젝트 내 각자 디렉토리에 복사한다.

또한 res 폴더 안에 있는 xml 폴더를 hrmsensorapp 내 res 폴더로 그대로 복사한다.

        



3. Project Explorer의 HRMSensorApp 폴더를 우클릭 후 Properties 메뉴로 들어간다.

C/C++ Build - Tizen Settings - Framework 에서 samsung-sap 을 체크한다.


참고로, 여기서의 sap이란 Samsung Accessory Protocol의 약자인데,

Gear와 같은 Tizen Wearable 기기들을 다른 기기와 연동하게 해주는 일종의 API이다.

즉, 우리는 이 sap을 이용해 심박수 데이터를 블루투스로 Android 스마트폰으로 전송할 수 있는 것이다.



4. tizen-manifest.xml 파일을 수정해야 한다. 안드로이드 manifest처럼

타이젠 manifest를 통해 앱에 sap를 사용할 수 있는 privilege를 부여할 수 있기 때문이다.

tizen-manifest.xml - Privileges 탭에서 accessoryprotocol을 체크한 후 OK를 클릭한다.



그리고 Source 탭에 들어가서 아래 블럭친 코드를 삽입한다.


이제 Provider에서 할 일은 모두 끝났기 때문에 Provider 프로젝트를 삭제해도 상관 없다.



다음 실습편에서는 hrmsensorapp 내의 코드를 수정하여 심박수를 전송하는 작업을 할 것이다.