모름

Fitbit 앱 개발시 기억할만한 내용을 정리한 글입니다.

 

우선 요구사항은 가속도, 자이로, 심박수, 수면 등에 대한 센서 데이터를 뽑는 것이었고, 시중에 나온 전자시계 중 해당 센서와 친절한 개발 커뮤니티가 구성된 곳은 핏빗 뿐이었습니다.

 

다시 생각해도 개발자가 참 가지고 놀기 좋게 만들어놨다는게 핏빗 앱 만들면서 들었던 생각입니다.

 

일단 대충 기억의 단서가 되도록 글을 정리할 것이기 때문에 디테일하고 세부적인 내용은 핏빗 개발자 가이드 페이지를 확인해주시기 바랍니다. 저는 저만의 요약을 적을 것입니다. 참고해주세요. 

 

 

 

1. 핏빗 앱 개발 구조

 

핏빗 앱 아키텍쳐는 시계앱-모바일앱-서버와 같은 구조로 이루어져 있습니다. 시계앱은 말 그대로 핏빗 시계에 설치되는 앱입니다. 모바일앱은 모바일에 설치하는 핏빗 앱 내에서 사이드로 로드되는 앱을 의미합니다. 핏빗에서는 이 앱을 콤패니언 앱이라고 부릅니다. 시계의 파트너 앱인 것이지요. 그렇기에 시계앱과 파트너앱은 거의 필수적으로 서로 연결되어야 하고 커뮤니케이션이 이루어져야 합니다. 앞으로 이 글에선 콤패니언 앱(파트너 앱)을 모바일 앱으로 부르도록 하겠습니다. 

 

핏빗 스튜디오에서 앱 개발을 할 때에 개발자는 정해진 폴더 구조에 따라 시계앱모바일앱을 함께 구현하여 빌드해야합니다. 그리고 이 때 시계 앱과 모바일 앱 간 커뮤니케이션은 핏빗의 메세지 API 를 통해 간단하게 데이터를 주고 받을 수 있습니다.

 

만약에 개발자가 시계 센서 데이터를 서버로 보내고 싶다면 이 순서로 진행되게 됩니다. 시계앱에서 모바일앱으로 데이터를 보냅니다. 그리고 모바일앱에서 서버로 데이터를 전송합니다. 즉, 시계 앱 -> 모바일 앱 -> 서버 순서로 데이터가 이동하게 됩니다. 반대의 경우도 마찬가지입니다. 서버의 콜백을 받으면 서버 -> 모바일 앱 -> 시계 앱의 형태로 데이터가 들어오게 됩니다. 개발 언어는 JavaScript 입니다.

 

 

 

2. 핏빗에서 받을 수 있는 데이터

 

심박수 데이터를 초당 1회까지 받을 수 있습니다.

 

가속도계 데이터를 초당 100회까지 받을 수 있습니다.

 

자이로 센서 데이터를 초당 30회까지 받을 수 있습니다. (다만 Sense 부터 지원됩니다)

 

수면 데이터를 '깨어남' or '자고있음'으로 받을 수 있습니다. (수면 분석 데이터의 경우 핏빗 클라우드 서버를 거쳐서 데이터를 받아와야 함으로 핏빗의 데이터 센터에 의존해야합니다. 때문에 수면 데이터를 상세하게 뽑고 싶을 경우 가속도계 및 자이로 센서 등을 활용하여 자체적인 수면 정보 데이터를 분석할 알고리즘이 필요하게 됩니다.)

 

착용 여부 데이터를 받을 수 있습니다.

 

등 주요한 센서는 위에서 설명한게 전부 일듯 합니다. 더 자세하게는 공식 개발자 페이지를 참고하세요.

 

 

 

 이상입니다.

 

생각보다 마땅히 생각되는 내용이 없네요. 궁금하신 내용이 있으시면 댓글 남겨주세요. 제가 도움이 될 내용을 알고 있다면 최대한 공유드리겠습니다.