2015년 9월 6일 일요일

[라즈베리파이] 레트로파이에 듀얼쇼크4 블루투스로 연결하기


레트로파이(retropie)에 듀얼쇼크4 블루투스로 연결하기

라즈베리파이에 듀얼쇼크3 연결하는 한글 자료는 찾아볼 수 있지만 듀얼쇼크4 연결하는 방법은 찾기 어려운 듯 합니다. 공유 차원에서 남겨 봅니다.

Reference:

https://pypi.python.org/pypi/ds4drv
http://blog.petrockblock.com/forums/topic/tutorial-retropie-with-dualshock-4-and-bluetooth/


1. 듀얼쇼크4 드라이버 구동을 위한 환경을 만들어 줍니다.
sudo apt-get update
sudo apt-get install --no-install-recommends joystick checkinstall bluez-utils bluez-compat bluez-hcidump libusb-dev libbluetooth-dev
sudo apt-get install python-dev python-setuptools



2. 듀얼쇼크4 드라이버를 설치하고 권한 설정을 합니다.

cd ~
git clone https://github.com/chrippa/ds4drv.git
cd ds4drv
sudo python setup.py install
wget https://raw.githubusercontent.com/chrippa/ds4drv/master/udev/50-ds4drv.rules
sudo mv 50-ds4drv.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

3. 이제 환경설정과 설치가 끝났습니다. 아래 명령어로 테스트를 해 봅니다.
ds4drv --led 00ff00


아래와 같은 화면이 보이면 패드의 share버튼과 ps버튼을 동시에 누르고 있습니다.
pi@raspberrypi ~/ds4drv $ ds4drv --led 00ff00
[info][controller 1] Created devices /dev/input/js0 (joystick) /dev/input/event0 (evdev)
[info][bluetooth] Scanning for devices

패드의 LED가 반짝 거리다가 빨간색으로 변하면 성공입니다.

4. 레트로파이 부팅 시 자동 실행 되도록 시작프로그램으로 등록합니다.

sudo vi /etc/rc.local
rc.local 파일을 vi 로 열고 아래 텍스트를 추가 합니다. vi로 화살표 이동이 어려울 경우 sudo apt-get vim 으로 vim을 받아서 sudo vim /etc/rc.local 로 열어도 됩니다.
/usr/local/bin/ds4drv --led 000008 &
완성된 rc.local 파일은 아래와 같습니다.
# By default this script does nothing.

/usr/local/bin/ds4drv --led 000008 &

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
재부팅 후 패드 인식하는 화면이 뜨면 share+ps 버튼을 길게 눌러서 페어링 시키고 사용 합니다.


댓글 8개:

  1. 오 감사합니다...... 너무 기다려온...거였어요!

    답글삭제
  2. 혹시 2개 입력도 가능한가요?(2인용사용)

    답글삭제
    답글
    1. 네 2개도 됩니다. LED 색만 바꿔주세요

      삭제
    2. 작성자가 댓글을 삭제했습니다.

      삭제
    3. 답변 감사합니다. 그런데 검색을 하다보니 내장 블루투스에 문제가 있어서 잘 안잡힌다는 말이 있던데 혹시 상관없나요?
      별도의 동글을 구매하시는분도 계신다고 보았습니다만..

      삭제
    4. Rpi3쓰시나보군요. 전 rpi2라서 블투 동글로 테스트 했는데 문제 없었습니다.

      삭제
    5. Rpi3쓰시나보군요. 전 rpi2라서 블투 동글로 테스트 했는데 문제 없었습니다.

      삭제
    6. Rpi3쓰시나보군요. 전 rpi2라서 블투 동글로 테스트 했는데 문제 없었습니다.

      삭제