Siri와 RaspberryPi의 협력으로 TV 전원 켜기 끄기

이 기사 개요



Siri 단축키의 SSH 기능을 사용하여 RaspberryPi 경유로 음성에 의해 확실한 TV의 전원 온/오프를 실현한다.
Siri를 이용하지만 SSH를 사용할 수 있는 환경이라면 iPhone 이외에서도 이용 가능하다고 생각한다.

NatureRemo 등의 적외선을 이용하는 컨트롤러로 텔레비전 전원의 온·오프를 실시하는 경우, 온·오프가 같은 적외선 신호를 이용하고 있기 때문에, 확실한 전원 온·오프를 할 수 없다.

적외선을 이용하는 경우는 전원을 오프로 하고 싶은 경우에서도, 텔레비전의 전원이 원래로부터 오프로 되어 있으면, 온이 되어 버린다고 하는 단점이 있다.

텔레비전이 전원 ON/OFF의 상황에 관계없이 항상 확실한 전원 ON/OFF를 실현하도록 한다.

환경


  • iOS 12.4.1
  • Raspberry Pi zero WH(Raspbian 10.0)
  • REGZA J8
  • Siri 바로 가기 (App Store에서 설치)

  • 전제 조건


  • 네트워크에 연결된 상태의 RaspberryPi 준비
  • HDMI CEC에 대응한 텔레비전(HDMI의 연동 기능을 갖춘 텔레비전.최근의 텔레비전이면 대부분의 것은 대응)

  • 설정 방법



    Raspberry Pi 설정



    네트워크 설정


  • DHCP가 지불 한 IP 주소 확인
  • ifconfig아래에서는 Wifi를 사용하고 있으므로 wlan0 안의inet 192.168.11.60 netmask 255.255.255.0메모해 둡니다.

    Raspbian
    pi@raspberrypi:~ $ ifconfig
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1000  (ローカルループバック)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.11.60  netmask 255.255.255.0  broadcast 192.168.11.255
            inet6 fe80::f02d:e7a5:404c:e957  prefixlen 64  scopeid 0x20<link>
            ether b8:27:eb:40:8b:b7  txqueuelen 1000  (イーサネット)
            RX packets 8516  bytes 2877130 (2.7 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 158  bytes 31002 (30.2 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
  • 기본 게이트웨이 검사route아래에서 192.168.11.1가 기본 게이트웨이에 해당합니다

  • Raspbian
    pi@raspberrypi:~ $ route
    カーネルIP経路テーブル
    受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
    default         192.168.11.1    0.0.0.0         UG    302    0        0 wlan0
    192.168.11.0    0.0.0.0         255.255.255.0   U     302    0        0 wlan0
    
  • nano /etc/dhcpcd.conf를 실행하고 텍스트 편집
  • #WLAN0interface wlan0static ip_address=192.168.11.60/24 ← 상기에서 조사한 IP와 서브넷의 기재static routers=192.168.11.1 ←위에서 조사한 디폴트 게이트웨이를 설정static domain_name=8.8.8.8static domain_name_servers=8.8.8.8
    Raspbian
    pi@raspberrypi:~ $ nano /etc/dhcpcd.conf
    
    #WLAN0
    interface wlan0
    static ip_address=192.168.11.60/24
    static routers=192.168.11.1
    static domain_name=8.8.8.8
    static domain_name_servers=8.8.8.8
    
  • 재부팅
  • sudo reboot

    SSH 설정



    Raspbian
    sudo systemctl enable ssh
    sudo systemctl start ssh
    

    cec-client 설치



    Raspbian
    sudo apt-get update
    sudo apt-get upgrade -y
    sudo apt-get install cec-utils -y
    

    Raspberry Pi와 TV 연결



    TV와 Raspberry Pi를 HDMI로 연결

    Siri 바로가기 등록



    TV 전원을 켜는 바로 가기 만들기



    명령에는 다음이 포함됩니다.echo 'on 0' | cec-client -s


    TV 전원 끄기



    TV 전원을 켜는 바로 가기 만들기



    명령에는 다음이 포함됩니다.echo 'standby 0' | cec-client -s


    참고 사이트



    Raspberry Pi와 TV를 HDMI에 연결하여 TV ON/OFF 확인

    좋은 웹페이지 즐겨찾기