개요
평소에 라즈베리파이를 사용하여 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]








[…] 부팅선택기 : http://kimstar.kr/8155/ […]
[…] 부팅선택기 : http://kimstar.kr/8155/ […]
[…] http://kimstar.kr/8155/ […]