Home » 산딸기 가지고 놀기 » 라즈베리파이 활용 강좌 : 라즈베리파이 XBOX360 WIRELESS 사용하기

라즈베리파이에 XBOX360 WIRELESS 사용하기

1. 라즈베리파이 XBOX360 무선제어 준비

라즈베리파이에는 현재 많은 제어법들이 알려져 있지만, 실제 그러한 유/무선 조이스틱 이나 웹을 통한 제어법을 구현 한다는 것은 개발자 분들에게도 쉽지 않은 일 들이다. 이러한 이유로 많은 일반 사용자들은 개발자나 라즈베리파이를 사용하 는 이용자들이 구현한 여러가지의 외부기기를 이용해 조정법을 보고 놀라움을 표현 한다.

오늘은 그 중 하나인 개발자들도 어려워하는 라즈베리파이에서 XBOX360 무선 제어법을 공개 해 보려한다.

현재 공개하는 내용은 이미 기존에 유투브 영상을 통해 Lego-Pi 라는 프로젝트를 위해 만들어진 방식을 응용해 라즈베리파이에서 XBOX360 WIRELESS Controller를 제어하는 방법이다.

실제 이 방법보다 기존 오로카 “땡땡이아부지”가 사용한 방식은 라즈베리파이 자체에서 XBOX360 WIRELESS를 직접제어방식으로 구현 한 것으로 한 차원정도 높은 방식이므로 제외를 하고 기존에 구축되어 있는 오픈소스방식으로 간단하게 나마 라이브러리를 이용한 방법을 적용을 해 보도록 하자.

그림1

 

0. XBOX360 Receiver 인식확인 및 조이스틱 설치

pi@rasplay ~ $ lsusb

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.

Bus 001 Device 004: ID 045e:0291 Microsoft Corp. Xbox 360 Wireless Receiver for Windows

pi@rasplay ~ $ sudo apt-get install joystick

Reading package lists… Done

Building dependency tree

Reading state information… Done

The following extra packages will be installed:

 evtest inputattach

The following NEW packages will be installed:

 evtest inputattach joystick

0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.

Need to get 87.5 kB of archives.

After this operation, 333 kB of additional disk space will be used.

Do you want to continue [Y/n]? y

 

1-1. Python PIP 설치

pi@rasplay ~ $ sudo apt-get install python-pip

1-2. C Header 설치

pi@rasplay ~ $ sudo easy_install -U distribute

Searching for distribute

Reading http://pypi.python.org/simple/distribute/

Best match: distribute 0.7.3

Downloading https://pypi.python.org/packages/source/d/distribute/distribute-0.7.3.zip#md5=c6c59594a7b180af57af8a0cc0cf5b4a

Processing distribute-0.7.3.zip

Running distribute-0.7.3/setup.py -q bdist_egg –dist-dir /tmp/easy_install-XMaN8W/distribute-0.7.3/egg-dist-tmp-e_2BWu

warning: install_lib: ‘build/lib.linux-armv6l-2.7’ does not exist — no Python modules to install

Adding distribute 0.7.3 to easy-install.pth file

Installed /usr/local/lib/python2.7/dist-packages/distribute-0.7.3-py2.7.egg

Processing dependencies for distribute

Searching for setuptools>=0.7

Reading http://pypi.python.org/simple/setuptools/

Reading http://peak.telecommunity.com/snapshots/

Reading https://pypi.python.org/pypi/setuptools

Best match: setuptools 0.9.8

Downloading https://pypi.python.org/packages/source/s/setuptools/setuptools-0.9.8.tar.gz#md5=243076241781935f7fcad370195a4291

Processing setuptools-0.9.8.tar.gz

Running setuptools-0.9.8/setup.py -q bdist_egg –dist-dir /tmp/easy_install-yyo20m/setuptools-0.9.8/egg-dist-tmp-j7snHD

Adding setuptools 0.9.8 to easy-install.pth file

Installing easy_install script to /usr/local/bin

Installing easy_install-2.7 script to /usr/local/bin

Installed /usr/local/lib/python2.7/dist-packages/setuptools-0.9.8-py2.7.egg

Finished processing dependencies for distribute

pi@rasplay ~ $

 

1-3. python 업데이트

pi@rasplay ~ $ sudo apt-get install python-dev

1-4. 라즈베리파이 GPIO 인터페이스 라이브러리 연동.

pi@rasplay ~ $ sudo pip install RPi.GPIO

Requirement already satisfied (use –upgrade to upgrade): RPi.GPIO in /usr/lib/python2.7/dist-packages

Cleaning up…

pi@rasplay ~ $

2. I2C 통신 라이브러리 설치

 

2-1. Python-smbus 모듈 설치

 pi@rasplay ~ $ sudo apt-get install python-smbus

Reading package lists… Done

Building dependency tree

Reading state information… Done

The following extra packages will be installed:

 i2c-tools

Suggested packages:

 libi2c-dev

The following NEW packages will be installed:

 i2c-tools python-smbus

0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.

Need to get 71.0 kB of archives.

After this operation, 317 kB of additional disk space will be used.

Do you want to continue [Y/n]? y

2-2. 라즈베리파이에 I2C tool 설치하기

pi@rasplay ~ $ sudo apt-get install i2c-tools

2-3. 부팅 시, I2C 통신모듈 적용

pi@rasplay ~ $ sudo modprobe i2c-bcm2708
pi@rasplay ~ $ sudo modprobe i2c-dev

 

3. XBOX360 Wireless Controller 입력장치 활성화

 

3-1. XBOX360 Wireless Controller 드라이브 설치

 pi@rasplay ~ $ sudo apt-get install xboxdrv

 

3-2. XBOX360 Wireless Controller 장치명 활성화

pi@rasplay ~ $ sudo xboxdrv --wid 0 -l 2 --dpad-as-button --deadzone 12000

xboxdrv 0.8.4 – http://pingus.seul.org/~grumbel/xboxdrv/

Copyright © 2008-2011 Ingo Ruhnke <grumbel@gmx.de>

Licensed under GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This program comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it under certain

conditions; see the file COPYING for details.

Controller:        Microsoft Xbox 360 Wireless Controller

Vendor/Product:    045e:0291

USB Path:          001:004

Wireless Port:     0

Controller Type:   Xbox360 (wireless)

Your Xbox/Xbox360 controller should now be available as:

 /dev/input/js0

 /dev/input/event0

Press Ctrl-c to quit, use ‘–silent’ to suppress the event output

 

3-3. XBOX360 Wireless Controller 장치확인

pi@rasplay ~ $ cd /dev/input
pi@rasplay /dev/input $ ls -al

total 0

drwxr-xr-x  2 root root     100 Aug  4 15:42 .

drwxr-xr-x 12 root root    3140 Aug  4 14:45 ..

crw-rw—T  1 root input 13, 64 Aug  4 15:42 event0

crw-rw—T  1 root input 13,  0 Aug  4 15:42 js0

crw-rw—T  1 root input 13, 63 Jan  1  1970 mice

pi@rasplay /dev/input $

4. XBOX360 Wireless Controller 구동 테스트

 

[참고사이트] 

o http://mattdyson.org/blog/2013/01/using-an-xbox-360-wireless-controller-with-raspberry-pi/

o http://pingus.seul.org/~grumbel/xboxdrv/

o http://blog.zephod.com/post/37120089376/lego-xbox-raspberry-pi

o https://github.com/zephod/lego-pi

산딸기마을 포스트 검색

공동제작 공동프로젝트 무상후원 기관

산딸기마을 기부하기

산딸기마을 방문자 현황

Flags Countries Visits Page views
South Korea 626063 1845660
United States 10882 26091
Japan 5011 13204
Germany 2755 5151
India 1897 2902
Canada 1729 4640
United Kingdom 1596 2642
Australia 1240 2901
Russia 1219 1677
China 1077 2239
Total Pageviews: 1936700