Think RPI(http://thinkrpi.wordpress.com/)라는 외국 블로그의 글을 바탕으로 적었습니다.



#2. OpenCV + Pi Cam을 이용한 Face recognition(detection)


지난 시간에는 (사실 불과 몇 분전) 파이카메라를 사용하기 위한 기본적인 초기 설정에 대해서 알려드렸는데요. 이번시간에는 본격적으로 어떻게 사용해야 하고 어떻게 프로그래밍을 해야 하고 어떻게 설치하고 등등등

잡다한 것을 알려드릴 겁니다. 그리고 생각보다 똑같이 보고 따라하는데도 불구하고 분명히 !!!!!!! 에러가 똮 ! 하고 발생할 수도 있으니 미리 적당한 긴장감과 매의눈을 갖고 천천히 따라해보시길 바라겠습니다.


MMAL library 와 raspivid/rapistill source code 는 Userland 폴더에서 다운 받아 올 수 있습니다. 또한 OpenCV를 이용한 무언가를 하기 이전에 전체 패키지를 컴파일 하는게 필요합니다.

라고 영어로 적혀있네요...


일단 제일 먼저 위에서 말한 source code를 가져오도록 합시다. 뭐 누구는 X윈도우를 들어가서 미도리를 켜서 홈페이지를 들어가서 다운받고 받고 뭐 하는데... 사실 느려요.. X윈도우 자체도 느리고 미도리도 느리고, 뭐 하나 빠른게 없으니까...


순서대로 아래 명령어를 타이핑 합니다.

sudo su
cd /opt/vc
git clone git://github.com/raspberrypi/userland.git


여기까지 하셨으면 /opt/vc 디렉토리 안에 userland.git 압축 파일이 다운받아 집니다.

그럼 이걸 이제 압축을 풀어야 겠죠 ?

압축을 푸시면 userland-master라는 디렉토리가 /opt/vc 안에 생성될겁니다.

여기서 주의 ! userland-master폴더 안에 userland라는 폴더가 있는데 저희가 필요한 건 이 userland 폴더 입니다.

이게 뭔 개소리냐... 그냥 쓰면 되지.. 라고 하실 수도 있는데, 여기 블로그 주인이 모든 명령어 및 디렉토리 출처를 userland라고 설정을 해놨는데... 정작 본인은 이러한 디렉토리명(userland-master)에 대해서 언급하고 있지 않기 때문에 신경쓰지 않고 그냥 넘어가버리게 되면 조금 뒤에서 엄청난 오류를 만나실 수 있습니다.


즉! userland-master안에 있는 userland폴더를 그대로 잘라내기 해서 /opt/vc 디렉토리 안에다가 고히 모셔 둡니다. (아무것도 없는 userland-master폴더는 지우셔도 됩니다.)


여기까지 다 하셨으면, 다시 터미널 창으로 돌아와서


cd /opt/vc/userland 


sudo sed -i 's/if (DEFINED CMAKE_TOOLCHAIN_FILE)/if (NOT DEFINED CMAKE_TOOLCHAIN_FILE)/g' makefiles/cmake/arm-linux.cmake


라고 치시면 됩니다. 이때 g' makefiles/cmake/~ 이 부분은 쭉 연결되는거니까 참고하세요 ! 

(즉, ~/if (NOT DEFINED CMAKE_TOOLCHAIN_FILE)/g' makefiles/~ 라고 이어서 치시면 됩니다.)


여기까지 아무탈 없이 오셨다면 최소한 제가 겪었던 삽질은 안하신 겁니다 ㅠㅠ 


그 다음은 userland 디렉토리 안에 build라는 디렉토리를 만들 차례 입니다.

sudo mkdir build 

cd build

sudo cmake -DCMAKE_BUILD_TYPE=Release .. (시간이 좀 걸려요)

(이 때, 많은 분들이 에러가 나실겁니다 !!! 왜냐.. cmake가 안깔려있기 떄문이죠, 그런데 이 글을 작성한 분이 이 부분에 대해서 언급을 전혀 안하셔서 많은 분들이 이 부분에서 진도가 안나가는 경우가 종종 있었습니다.

혹시, 이 부분에서 에러가 나신 분들은 아래와 같은 명령어를 실행시켜 주세요

cd

sudo apt-get install cmake

이렇게 해서 cmake인스톨이 끝나셨다면 이어서 아래 명령어를 쭉 ~ 치시면 됩니다.)

sudo make                 (시간이 좀 걸려요)

sudo make install        (시간이 좀 걸려요)

라고 명령어를 순서대로 타이핑하시고 실행시키시면 됩니다 ! 


그리고 다시

cd

cd /opt/vc

sudo mkdir bin

cd /opt/vc/bin 

./raspistill -t 3000


여기까지 무사히 완료 되셨으면, 2단계도 끝 !!! 



Think RPI(http://thinkrpi.wordpress.com/)라는 외국 블로그의 글을 바탕으로 적었습니다.



#1. OpenCV + Pi Cam을 이용한 Face recognition(detection)


<라즈베리파이와 파이캠 연결>

-파이카메라와 라즈베리파이를 어떻게 연결해야 되는지는 다들 잘 아실겁니다. 

 그냥 생긴것만 봐도 직관적으로 어느 방향으로 맞춰 넣어야 하는지 아실거라 믿습니다.

 혹시 헷갈리시는 분들을 위해서 말씀드리면. 파이 카메라의 핀이 보이는 부분이 HDMI를 바라보게끔 하고 끼우시면 됩니다.

 그리고 행여, 방향을 반대로 꽂아넣으셨다해도 걱정마세요, 두려워마세요 안고장납니다...

 그냥 조심스럽게 다시 빼서 정방향으로 지긋이 ~ 눌러서 끼워 넣으시면 됩니다.



<파이캠 초기 설정>

http://www.raspberrypi.org/archives/3890


위 링크를 따라 들어가셔서 따라하시면 손쉽게 설정하실 수 있습니다.

위 링크 내용을 간략하게 설명 드리자면, 일단 제일 먼저 업데이트 및 업그레이드를 해야 합니다. 


sudo apt-get update

sudo apt-get upgrade


이 두가지 명령어를 순차적으로 실행하시면 됩니다. 그리고 다음으로는 


sudo raspi-config 명령어를 똮!!! 하고 치시면 

윈도우의 BIOS화면과 비슷한 스멜을 풍기는 블루스크린이 뜨게 됩니다.(에러아님, 걱정 노노)


실제로 실행시켜보시면 아시겠지만 사이트에 나와있는 동일한 메뉴 모양이 아닐 수도 있습니다. (버전에 따라 조금 다른 듯)

이것도 역시 걱정 ㄴㄴㄴ 




저 같은 경우엔 5번 메뉴에 똮 하니 Enable Camera라는 옵션이 있네요.

그럼 방향키를 이용해 돠ㅗ다ㅗ돠ㅏ 이동 후 엔터 ! 그리고 파이 카메라를 사용가능하게 할까요? (물론 영어로 메세지가 뜸) 라고 하는거에서 Enable 을 선택하시면 됩니다.

자 이제 마지막으로 Finish를 하신 후 다시 재부팅 ㄱㄱㅆ 


여기까지 하셨으면 기본적인 라즈베리파이 카메라를 사용하기 위한 초기 설정이 완료되었습니다 ! 


Arch Linux 초기 이더넷 설정 방법 : 라즈베리파이 재부팅시 초기화 됩니다



위 사진과 같이 처음에 [ ping -c 3 www.google.com ] (중괄호 내부만) 명령어를 실행하여 데이터를 받아 오는지 확인한다. 이 때 가운데 숫자는 데이터를 몇 번 받아올지 설정하는 것이므로 신경 쓸 필요는 없다.

그리고 만약 ping : unknown host www.google.com(혹은 다른 주소) 라고 뜰 경우엔, 인터넷이 설정되지 않은 것이므로 

계속해서 설정을 위해 다음단계로 넘어간다




다음 단계로 넘어가 [ ip link ] 명령어를 실행 시키면 몇가지 목록이 쭉 ~ 나올텐데 그 중에서 일반적으로 

이더넷 인터페이스는 "e"로 시작할 가능성이 높기 때문에  "lo"나 "w"로 시작할 가능성은 매우 낮다. 

또는 [ iwconfig ]를 사용해 어떤 인터페이스가 무선이 아닌지 확인할 수 있다.


나 같은 경우는 eth0 이라고 한눈에 봐도 이더넷 인터페이스 처럼 보이는 것을 발견 할 수 있었다.





이제 그 다음은 IP 주소와, 서브넷 마스크 그리고 게이트 웨이를 추가하는 단계이다.

가장 먼저 이더넷 인터페이스 활성화를 위해서[ ip link set eth0 up] 을 실행시킨다. 

이때 나 같은 경우는 이더넷 인터페이스 이름이 "eth0"이였기 때문에 사람마다 다를 수 있으므로 가운데 빨간색으로 

표시된 글자는 자신의 이더넷 인터페이스에 맞게 타이핑 해야 한다.



그 다음으로 ip주소를 추가 해야 하는데, 이때는 유동 아이피가 아닌 고정(static)ip를 적어야 한다. 

[ ip addr add 192.xxx.xxx.x/24 dev etho ]

간 혹 뒤에 dev ~ 이 부분을 빠뜨리는 경우도 있으니 꼭 ! 확인하고 타이핑 ㄱㄱ 

그리고 아이피 주소 다음에 붙는 /24 는 사실 무슨 숫자를 넣어야 하는지 잘 몰라 그냥 똑같이 타이핑 했는데, 다행이도 실행이 된다. -_-


그리고 마지막으로 게이트웨이를 추가 하면 된다.

[ ip route add default via 196.xxx.x.x ]


이제 기본적인 ip주소와 서브넷 그리고 게이트웨이 설정은 여기서 끝이다 마지막으로 


[ nano /etc/resolv.conf ] 를 실행시켜 나의 네임서버와 아이피를 등록하면 된다.

여기는 총 3개의 네임서버를 추가 할 수 있는데 보통 기본적으로 2개가 이미 적혀있으니

그건 건드리지 말고 맨 아랫줄에다가 하나를 더 추가하면 된다.

네임서버 이름을 정하는게 자기 맘대로 인지는 모르겠으나 혹시나 하여 나는 이더넷 인터페이스 이름을 그대로 따

[ eth0 192.xxx.xxx.x ] 로 설정하였다.


이렇게 하면 모든 인터넷 기본 설정이 끝난다. 아, 마지막에 네임서버를 추가한 뒤엔 반드시 저장 할 것.


그리고 마지막으로 인터넷이 잘 연결되었는지 아까 처음에 했던 명령어를 실행시켜 데이터를 받아오도록 한 뒤 받아지면 성공 ! 


[ ping -c 3 www.google.com ] 


어때요 참 쉽죠잉 ?

은 개뿔....... 이거 못해서 며칠 ㅈㄹ한거 생각하면 빡침



P.s) 인터넷을 연결 했으니 이제 가장 기본적인 시스템 업데이트 및 파일을 다운 받아 보도록 ㄱㄱㅆ

pacman -Syu    pacman -S mplayer    pacman -S ffmpeg    pacman -S fswebcam






+ Recent posts