반응형

지난번에는 Samsung Gear S3에서 지원하는 모든 Sensor들의 값을 받고 출력했다.


지난번 포스팅 : http://refrin.tistory.com/4

                http://refrin.tistory.com/5


이번에 진행할 부분은 지난번 포스팅에서 얻은 값을 패킹하여 앱으로 보내고 앱에서 이를 파싱하여 출력하는 프로그램을 만들 것이다.


앱에 관한 것은 지난번 포스팅 참고


- 사용 샘플


지난번 샘플 참고



- 네트워크 환경


Gear - Computer Wifi(같은 네트워크)

Gear - Smartphone : BLE



- 사용툴

Tizen studio 1.2, werable SDK 2.3.1 (3.0도 가능), Android studio 2.3.1, Android SDK 4.2



- 순서


1. 위의 프로젝트의 네트워크 환경을 구축하고 저번 포스팅까지 진행한다.


2. 메시지 패킷을 설계한다.


 - 먼저 메시지 패킷으로 사용할 센서들의 길이를 알아보자.



 - 센서들의 값은 모두 실수형(float)이므로 소수점 한자리까지 포함하여 계산하였다.(소수점 포함, String 값으로 패킷을 넘길 것이기 때문에)


 - 필자는 센서들의 값 사이 그리고 센서 사이를 "," 를 사용하여 구분하였다. 따라서 38 + 6 = 44


 - Sensor의 값이 들어오는 순서는 Gear 2개를 통해 실험해도 위의 Order 순서와 같았다. (이유를 알 수 없다 혹시 다른 결과가 나온다면 그 결과에 맞게 코드를 수정)


3. 메시지 패킷을 생성한다.


 - 코드를 보면 알겠지만 이벤트 리스너이기 때문에 이벤트가 생성될 때마다 코드에 진입하는 방식이다. 따라서 필자는 각 센서들에 bool 변수를 주고 모든 센서들의 값이 들어왔을 때 전송하는 방법을 사용하였다. 중간에 이미 받은 센서의 값이나 오류가 들어오면 초기화하도록 하였다.


 - 코드 수정 후 프로젝트 빌드 및 앱 설치


4. 이제 안드로이드 앱을 작성하자.


 - 값이 들어오는 부분은 onReceive 부분이다. 해당 부분에서 값을 받도록 하자. 모든 값들이 ","로 구분되기 때문에 split 을 통해 sensor 값을 구분한다. 구분된 센서들의 인덱스는 다음과 같다.



 - 해당 값들을 다 사용해도 좋고 원하는 것만 사용해도 좋다. 각자 원하는 방식으로 코딩하자.


 - UI나 기능을 수정한다. 필자는 SEND 기능이 필요 없기 때문에 해당 코드와 UI를 삭제하였다.


5. 테스트


 - 안드로이드 앱 테스트 결과 화면




 ※TIP : 혹시나 새로운 프로젝트를 만들어서 작업하는사람들은 샘플의Samsung 관련 lib 들을 가져가야 빌드가 된다. 



< - Error - >


딱히 Error 랄 것은 없지만 안드로이드에서 새롭게 프로젝트를 만들 경우 샘플의 여러가지 파일이 필요하게 된다. 패키지 경로와 파일들을 적절하게 옮겨주는 것이 중요하다.


반응형
블로그 이미지

Refrin

일상생활 끄적 IT 프로젝트 끄적