posted by ShinJjang 2017. 9. 19. 01:38

기존에 하모니와 알렉사를 통해 음성으로 TV를 제어해서 사용(사실 음성제어로는 거의 TV를 끄고 켜는 정도만 사용)해 왔다. 하지만 알렉사를 통한 TV제어는 몇 가지 단점이 있다. 


첫째, 한글을 지원하지 않는다. 물론 간단한 영어기는 하지만 영어를 사용해야 한다는 것 자체가 나에게는 스트레스다.

둘째, TV의 전원 상태를 하모니나 알렉사가 알지 못한다. 

셋째, 채널 변경이 숫자로만 가능하고 방송사 이름으로 즐겨찾기가 되지 않는다.(이건 내가 모르는것 일수도 있지만 하모니에서 즐겨찾기 채널을 등록해도 되지 않았다)


하지만 쿠쿠하모니와 시리를 이용하면 위의 세가지 단점을 해결 할 수 있다. 


기본적으로 로지텍 하모니, 쿠쿠 하모니가 설치된 SmartThings 허브, Homebridge가 있어야 한다. 

쿠쿠하모니 설치는 쿠쿠하모니를 만드신 쿠쿠님 블로그를 통해서 확인 할 수 있다.

http://kuku.pe.kr/?p=6616 

http://kuku.pe.kr/?p=6584


1. TV상태 반영을 위한 트리거 만들기


자동화에 있어서 전자제품의 현재 전원상태를 아는 것은 매우 중요하다. 대부분의 IR신호를 이용하는 전자제품의 경우 단방향 통신이기 때문에 전자제품의 전원 상태를 확인할 수 없다. 그런데 쿠쿠하모니에는 이런 단점을 해결해 주는 기능(아래 사진)을 가지고 있다. 바로 스마트 플러그에서 리포팅되는 전력량을 통한 방법과 도어센서를 활용한 방법이다. 



전력량을 통한 방법은 전기를 사용하는 모든 전자제품에서 사용가능하다는 장점이 있다. 하지만 전력량을 리포팅하는 시간이 플러그에 따라 다르고 그로인한 시간차 때문에 실제 전원상태와 ST의 전원 상태가 불일치하는 시간이 발생하게 된다.

이해 비해 도어센서를 활용한 방법의 경우 전력량을 트리거로 이용하는 방법에 비해 전원상태 반영이 즉각적인 장점이 있지만 물리적인 움직임이 있는 전자제품에만 사용이 가능하다. 대표적인 예가 에어컨 도어의 열림과 닫힘을 통해 전원을 확인하는 방법이다.


나의 경우 전력량을 리포팅해주는 스마트 플러그가 없다. 그래서 방법을 고민하다 TV 측면에 USB포트가 있다는 점에 착안해 아래와 같은 방법으로 전력량 트리거를 만들었다. 참고로 아래의 트리거를 만들기전에 전원 ON/OFF시 USB포트에 전류공급의 변화가 있음을 전압계를 통해 확인했다. 


준비물-샤오미 도어센서, 5V 릴레이, 못쓰는 USB케이블, 인두, 납, 니퍼, 절연테이프 등


먼저 릴레이와 USB포트의 전원을 연결한다. 아래의  중앙에 있는 코일쪽에 USB전원선을 연결하면 된다. 참고로 USB포트의 경우 양쪽 끝 포트가 전원이고 USB충전 케이블의 피복을 벗기면 4~5개의 전선이 있는데 굵은 선(붉은색, 검은색)이 전원선이다. 

 


그리고 샤오미 도어센서를 분해한 후 아래 좌측 사진 처럼 두개의 구멍을 뚫고 우측 사진에 표시된 부위에 2개의 전선을 연결한다.

  


선선을 연결한 후에 아래와 같이 케이스를 다시 결합한다.

  


그리고 샤오미 센서에 연결한 두개의 선을 릴레이의 Com단자와 NC단자에 연결한다. NC는 코일에 전류가 흐르지 않을때 ON, 코일에 전류가 흐를때 OFF가 된다. 현재 쿠쿠하모니는 도어센서가 열렸을때 전자제품을 ON으로 인식하기 때문에 반드시 Com과 NC단자에 연결해야 한다. 그리고 아래와 같이 선을 정리하고 릴레이를 양면테잎으로 도어센서후면에 붙였다. 그리고 TV의 측면 USB포트에 연결하였다. 

  


작동영상

리모컨으로 TV를 켰을때 ST의 My Room TV의 상태가 ON으로 바뀌는 것을 확인할 수 있다.



리모컨으로 TV를 껐을때 ST의 My Room TV의 상태가 OFF로 바뀌는 것을 확인할 수 있다.




2. 시리를 통해 TV제어하기


쿠쿠하모니는 하모니에 등록된 리모컨의 개별 버튼을 트리거나 웹코어를 이용한 자동화에 사용할 수 있다. 시리에서 하모니를 사용하기위해서는 ST에서 가상스위치를 만들고 이를 시리에서 제어하는 방식으로 사용할 수 있다.


먼저 아래 좌측사진 처럼 IDE에서 방송사 이름으로 가상 스위치를 만든다. 그리고 웹코어를 이용해 특정 스위치를 켜면 하모니에서 해당 방송사 채널이 눌러지도록 세팅한다. 그리고 이렇게 만들어진 스위치를 Homebridge를 통해 홈킷에 등록한다. 그리고 관리를 편하게 하기 위해 홈킷에 'TV'라는 이름으로 방을 만들고 그 방으로 스위치들을 옮긴다.


  

 

시리를 이용한 TV 음성제어 


시리를 이용한 음성제어는 홈킷-홈브릿지-ST-하모니-TV로 연결되다보니 속도가 빠르지 않다. 그래서 메이저로 사용하기는 편하지 않다. 하지만 리모컨이 보이지 않거나 누워서 TV를 볼때 손도 까딱하기 싫을때 쓸모가 있다. 그리고 시리에 TV채널 즐겨 찾기 등록하는 과정이 나름 시행착오도 겪고 재미있었다.