ES/AM/Kodi 부팅 선택기

개요

평소에 라즈베리파이를 사용하여 EmulationStation 으로 게임을 하거나 KODI로 음악을 듣곤 하는데요. ON-OFF-ON 3단 토글 스위치를 사용하여, 부팅시 원하는 기능을 바로 선택할 수 있게 만들어 보았습니다.

구현

최종적으로 구현한 설정은 다음과 같습니다.

  • 위 : KODI
  • 중간 : EmulationStation
  • 아래 : AttractMode

기본적인 구현방식은 기존에 팩에뮬레이터와 유사하게 부팅시 GPIO를 통해 연결된 단자를 읽어 구동방식을 선택하게 됩니다.
이를 위해 토글 스위치의 가운데 단자는 GPIO의 Ground에 연결하고, 양끝의 단자는 GPIO19, GPIO26에 연결하였습니다.

팩 에뮬레이터 : https://kimstar.kr/8040/

래빗케이드에 이식하기 위해 구멍을 뚷고 토글 스위치를 달았으나 모양새가 좋지 않더군요.
12파이 크기의 스위치를 개조하여 토글 스위치와 합체하여 달아 보니 그나마 만족스럽습니다.

 

설정방법

1) GPIO 제어를 위해 gpiozero 설치합니다.

$ sudo apt update
$ sudo apt install python-gpiozero

2) bootSelector.py를 적당한 위치에 작성합니다.

#!/usr/bin/python

from gpiozero import Button
import subprocess

if Button(19).is_pressed:
    subprocess.call("kodi")
elif Button(26).is_pressed:
    subprocess.call("attract")
else:
    subprocess.call("emulationstation")

3) 부팅 후 auto start에서 ES는 주석으로 막아주고, 2)에서 작성한 스크립트를 실행합니다.

$ sudo nano /opt/retropie/configs/all/autostart.sh

#emulationstation 
/usr/bin/python /home/pi/kimstar/bootSelector.py

 

조금 변형하자면..
3단 토글 스위치 대신, 일반적인 ON-OFF 스위치로도 부팅시 2개의 실행을 선택할 수도 있습니다. ON-OFF 스위치 2개의 접점을 GPIO 19번과 Ground에 연결시 bootSelector.py 내용을 아래와 같이 수정하면 됩니다.

2′) ON-OFF 스위치 사용시 bootSelector.py

#!/usr/bin/python

from gpiozero import Button
import subprocess

if Button(19).is_pressed:
    subprocess.call("kodi")
else:
    subprocess.call("emulationstation")

 

[symple_button url=”https://kimstar.kr/blog/wp-content/uploads/2018/11/Rpi_bootSelector.zip” color=”black” size=”default” border_radius=”3px” target=”self” rel=”” icon_left=”” icon_right=””]Download[/symple_button]