강좌/RaspberryPI 활용

라즈베리파이 공식 7인치 LCD (DSI) 멀티 터치 사용하기

acidpop 2015. 9. 23. 21:39
반응형

 

일단 공식적인 설치 방법 이미지이다.

 

 

1. 부품 리스트

  1 7인치 터치 스크린

  2 DSI 용 리본 케이블

  3 점퍼 케이블 4개

  4 지지대 4개

  5 지지대 볼트 4개

  6 어댑터 보드

 

 

2. 디스플레이용 리본 케이블을 어댑터 보드 뒷면에 연결한다.

 

 

3. J4 커넥터에 디스플레이에 있는 터치 스크린용 리본 케이블을 연결한다.

 

4. 터치 스크린에 어댑터 보드를 지지대를 이용하여 고정한다.

 

5. DSI 리본 케이블을 어댑터 보드에 연결한다.

 

6. DSI 용 리본 케이블을 라즈베리파이의 DSI 포트에 연결하고 볼트 4개를 이용하여 고정한다.

 

7. 점퍼선을 연결한다. 어댑터 보드의 5V PIN 과 라즈베리파이의 PIN2(5V)를 연결하고 어댑터 보드의 GND PIN 과 라즈베리파이의 6 PIN(GND)에 연결한다.

 

8. 가장 최신 버전의 Raspbian 이 설치된 micro sd 카드를 삽입한다.

   전원선을 어댑터 보드의 micro USB 연결 포트에 삽입한다. (라즈베리파이의 전원 연결 포트가 아니다)

 

9. 라즈비안이 설치 되고 다음 명령어를 수행한다.

 

 

sudo apt-get update && sudo apt-get -y upgrade

 

 

 

 

 


 

10. 재부팅

 

sudo reboot 

 

11. 터치 스크린 작동 확인을 위해 X11 실행

 

startx 

 

12. 터치 스크린이 작동 여부 확인

 

여기까지가 공식적으로 설명이 된 부분이다.

 

위 문서 대로 수행 한 다음 Kivy 를 설치 하였으나 멀티 터치가 작동하지 않는다.

 

Kivi 설치 과정과 멀티 터치를 활성화 하는 과정이 추가 적으로 더 필요하다. 

 


 

Kivy Library 설치 및 멀티 터치 작동 환경 설정

 

 

1. 소스 리스트에 다음 구문을 삽입한다.

 

 

sudo nano /etc/apt/sources.list

 

가장 끝 줄에 추가 하자.

 

deb http://vontaene.de/raspbian-updates/ . main

 

 

2. apt-get 키 추가

 

gpg --recv-keys 0C667A3E


gpg -a --export 0C667A3E | sudo apt-key add -

 

 

3. apt-get 업데이트 및 필요 라이브러리 설치

 

sudo apt-get update

 

sudo apt-get -y install pkg-config libgl1-mesa-dev libgles2-mesa-dev \
python-pygame python-setuptools libgstreamer1.0-dev git-core \
gstreamer1.0-plugins-{bad,base,good,ugly} \
gstreamer1.0-{omx,alsa} python-dev

 

4. pip 설치

 

 

 cd /home/pi

 

wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py

 

sudo python get-pip.py

 

5. pip를 이용하여 필요한 라이브러리 설치

 

 

sudo pip install cython pygments docutils 

 

6. kivy 설치

 

git clone https://github.com/kivy/kivy

 

cd kivy

 

python setup.py build

 

sudo python setup.py install

 

7. 그림 파일 실행 (최초 설치 후 한번은 실행을 해야 /home/pi/.kivy 디렉토리 및 환경 설정 파일이 생성된다.

 

python ~/kivy/examples/demo/pictures/main.py  

 

멀티 터치가 작동 되지 않는걸 확인 할 수 있다.

 

Ctrl + c 키를 눌러 프로그램을 종료 한다.

 

 

8. 입력 장치에 대한 설정 변경 (이 부분이 중요하다. 이 입력 장치 부분을 추가 해 주어야만 kivy 에서 멀티 터치가 가능하다)

 

nano ~/.kivy/config.ini

 

다음 문장을 [Input] 섹션에 추가 한다.

mtdev_%(name)s = probesysfs,provider=mtdev
hid_%(name)s = probesysfs,provider=hidinput

 

기존에 있던 문장을 맨 앞에 #을 붙여 주석 처리 한다.

#%(name)s = probesysfs,provider=hidinput

 

 

기존

 변경

[input]
mouse = mouse
%(name)s = probesysfs,provider=hidinput

 

 

[input]
mouse = mouse
mtdev_%(name)s = probesysfs,provider=mtdev
hid_%(name)s = probesysfs,provider=hidinput
#%(name)s = probesysfs,provider=hidinput

 

 

9. 그림 파일 멀티 터치로 실행 해보기

 

 

python ~/kivy/examples/demo/pictures/main.py 

 

 

아래 링크를 보다 보면 그림 파일을 멀티 터치로 움직이는 영상을 확인 할 수 있다.

https://www.raspberrypi.org/blog/the-eagerly-awaited-raspberry-pi-display/

 

 

10. 멀티 터치 좌표 확인 프로그램 실행

 

python ~/kivy/examples/demo/touchtracer/main.py 

 

 

 

※ 출처 : http://mattrichardson.com/kivy-gpio-raspberry-pi-touch/index.html

 

 

 

 


 

그리고 화면이 90도 또는 180도 돌아가서 보이는 케이스가 있다면 다음 구문을 추가해 주시면 됩니다.


sudo vi /boot/config.txt


가장 아래에


lcd_rotate=2


0 - 0도

1 - 90도

2 - 180도

3 - 270도


이렇게 추가 하시고 재부팅 하시면 됩니다.

 

 

 

 


 

2015/10/16 추가

 

Kivy 에서 GPIO 사용 (이 부분은 아직 실제로 테스트 해보지 않았습니다.)

 

1. kivy GPIO 소스 다운로드

 

cd ~/kivy

git clone https://github.com/mrichardson23/rpi-kivy-screen.git

 

2. Kivy 예제에 있는 소스는 GPIO 17번 핀에 피에조 부저를 연결

 

10번 핀과 27번 핀에는 LED 를 연결

 

22번 핀에는 버튼을 연결하고 각각 GROUND 를 연결

 

3. root 권한으로 한번 실행

 

cd rpi-kivy-screen/

sudo python main.py

 

4. 터치 스크린이 작동하지 않는것을 확인한다. 왜냐하면 kivy 환경 설정 파일이 root 에는 적용되어 있지 않기 때문에 환경 설정 파일을 복사 한다.

Ctrl + c 키를 눌러 프로그램을 종료 한다.

 

sudo cp ~/.kivy/config.ini /root/.kivy/config.ini

 

5. 프로그램을 다시 실행하여 작동 되는것을 확인한다

 

sudo python main.py 

 

 

 


 

 

국내 공식 터치스크린 가격이 10만원을 뛰어 넘는 가격으로 형성이 되어 있다.......솔직히 너무 많이 남겨 먹는거 아닌가 싶다.

 

라즈베리파이 공식 터치 스크린을 구입할분들은 이쪽을 통해서 구입하시는걸 추천!

 

UPS 배송이라 3~4일이면 배송된다.

 

http://kr.element14.com/special-offers?MER=MER-LM-TB-KR-FREEDELIVERY-86447&#freedelivery1509