에어컨과 TV 등을 제어하는 방법 중 일반적인 것은 적외선으로 제어하는 방법이다. 이걸 안드로이드앱으로 개발하기 위해서는 안드로이드폰에 적외선송신기가 있어야 하며 해당 제조사가 제공하는 SDK를 활용해서 구현해야한다. 킷캣 4.4 부터는 제조사에 관계 없이 ConsumerIrManager라는 클래스로 적외선 송신을 구현할 수 있다. 하지만 적외선 송신기가 달려있음에도 ConsumerIrManager클래스 또는 제조사SDK로 적외선 송신 구현이 불가능한 경우가 있으며 대표적인 사례로 지프로가 있다. 아래의 소스를 지프로에서 돌리면 hasIrEmitter() 함수에서 적외선 송신기가 없다는 false가 반환된다. 지프로는 제조사SDK를 활용해도 LG Qremote RawIR가 지원되지 않기 때문에 적외선 앱을 개발할 수 없다. 아래의 소스코드를 G2에서 돌리면 잘 된다.
public void send() { consumerIrManager = (ConsumerIrManager) getSystemService(CONSUMER_IR_SERVICE); if(consumerIrManager == null){ Toast.makeText(MainActivity.this, "이 휴대폰은 사용할 수 없습니다.", Toast.LENGTH_SHORT).show(); Log.d(TAG, "서비스를 정상적으로 가져오지지 못함"); return; } if(!consumerIrManager.hasIrEmitter()){ Toast.makeText(MainActivity.this, "이 휴대폰은 적외선 송신기가 없습니다.", Toast.LENGTH_SHORT).show(); Log.e(TAG, "적외선 송신기 없음"); return; } if (Build.VERSION.SDK_INT == 19) { int lastIdx = Build.VERSION.RELEASE.lastIndexOf("."); int VERSION_MR = Integer.valueOf(Build.VERSION.RELEASE.substring(lastIdx+1)); if (VERSION_MR < 3) { // Before version of Android 4.4.2 consumerIrManager.transmit(SAMSUNG_FREQ, SAMSUNG_POWER_TOGGLE_COUNT); } else { // Later version of Android 4.4.3 consumerIrManager.transmit(SAMSUNG_FREQ, SAMSUNG_POWER_TOGGLE_DURATION); } } }
각 제조사의 SDK와 관련 문서는 아래에 정리하였다. 실제 테스트를 해보니
LG Qremote : http://developer.lge.com/resource/mobile/RetrieveDocDevLibrary.dev
HTC IR API : https://www.htcdev.com/devcenter/opensense-sdk/legacy-apis/htc-ir-api/htc-ir-installation/
삼성은 별도로 SDK가 제공되지 않는 관계로 샘플앱을 분석하는 것을 추천한다.
삼성 샘플코드 : https://github.com/jmandawg/SamsungIRRemote
지원되는 단말기 종류
지원되는 단말기는 정말 많으며 위키피디아에 잘 정리되어 있다.
지원되는 단말기 목록 링크 : https://en.wikipedia.org/wiki/List_of_devices_with_IR_blaster
Samsung Galaxy S4, S5 , S6, Note 3 , Note 4 , Note 5 , Tab Pro
HTC One m7 , m8 , m9 ,
LG G2 , G3 , G4 , V10
2017-03-29 내용추가
적외선 송신기 성능이 휴대폰마다 차이가 심각하게 난다. 신호세기나 거리 등 여러모로 봤을 때 적외선 앱이 가장 잘 작동했던 안드로이드폰은 갤럭시S 시리즈였다.
'IT·전자기기 > 구글 안드로이드, 갤럭시' 카테고리의 다른 글
삼성 갤럭시탭 S6 Wi-Fi를 구매한지 10개월이 지났다. (0) | 2021.01.19 |
---|---|
페이스북이 인수한 PUSH 서비스 Parse의 서비스가 2017년에 종료됩니다. (0) | 2016.02.24 |
안드로이드가 탑재된 PMP - Archos 5 Android (2) | 2010.04.13 |
99달러 안드로이드 태블렛PC '모비' 나온다 (0) | 2010.04.13 |
삼성 스마트폰 갤럭시s는 아이폰의 3배의 그래픽성능을내준다 (0) | 2010.04.13 |
댓글