WiringPi 설치

Posted by 백창
2015. 11. 8. 10:24 리눅스/라즈베리파이
반응형

# 개요


 GPIO를 컨트롤하기 위해 WiringPi를 설치하여 라즈베리파이를 제어해보자.



# 설치


 wiringPi를 다운받을 위치에서 github의 wiringPi소스를 다운받는다.


 git clone git://git.drogon.net/wiringPi


 wiringPi 폴더로 이동하여 설치를 진행한다.


 cd wiringPi

 ./build



# 확인


 다음 명령어를 통해 설치가 완료되었는지 확인할 수 있다.


 gpio -v


 readall 옵션을 통해 핀번호, 핀의 모드, GPIO이름 등 다양한 정보를 알 수 있다.


 gpio readall





# 컴파일


 소스 코드 작성 후 컴파일시 다음 명령어를 추가하여 컴파일한다.


 gcc -o 실행파일 소스파일 -lwiringPi






반응형

파이캠을 이용한 웹스트리밍 서버

Posted by 백창
2015. 11. 8. 10:20 리눅스/라즈베리파이
반응형

# 개요


 라즈베리파이에 사용되는 전용 카메라 파이캠(pi-cam)와 mjpg-streamer를 이용하여 손쉽고 빠르게 웹 스트리밍을 해보자.


# 파이캠 장착


 처음 파이캠을 들었을 때 어디에 꼽아야하는지 막막했다. 


 다음 사진과 같이 해당 부분을 눌러 파이캠의 연결선을 넣고 다시 닫아주도록 하자.





# mjpg-streamer 컴파일 및 설치


 mjpg-streamer를 설치하기에 앞서 영상관련 라이브러리와 컴파일에 필요한 cmake 패키지를를 설치하자


 sudo apt-get install git cmake libjpeg8-dev imagemagick -y


 mjpg-streamer 컴파일 시 필요한 헤더파일을 링크한다.


 sudo ln - s /usr/include/linux/videodev2.h /usr/include/linux/videodev.h


 mjpg-streamer를 설치하고자 하는 폴더로 이동하여 다음 명령을 통해 mjpg-streamer를 다운 받는다. 


 해당 패키지는 오픈소스 프로젝트로 다양한 버전의 mjpg-streamer가 존재한다. 


 본 포스팅에서는 적절한 fps 조절을 위해 다음 프로젝트를 사용하였다. 

 (fps 20~25 일 때 거의 동영상으로 느낄 수 있다)


 git clone https://github.com/jacksonliam/mjpg-streamer


 다운받은 폴더로 이동하여 컴파일.. 꽤 오랜 시간이 걸린다


 make -clean all


# 실행


매번 명령어를 사용하여 실행하기 어렵기에 실행 스크립트를 작성하도록 하자.


export LD_LIBRARY_PATH=.

export mjpg_PATH=/home/pi/godHands/mjpg-test/mjpg-streamer/mjpg-streamer-experimental

$mjpg_PATH/mjpg_streamer -i "$mjpg_PATH/input_raspicam.so -x 640 -y 360 -fps 20" -o "$mjpg_PATH/output_http.so -w $mjpg_PATH/www"


해당 소스를 그대로 붙여넣기를 하면 "가 제대로 안들어갈수도 있다.


환경변수 mjpg_PATH에 mjpg streamer가 설치된 폴더를 지정하고 mjpg_streamer를 실행한다.






# 결과





# 참조


http://www.rasplay.org/?p=7174


https://github.com/jacksonliam/mjpg-streamer/blob/master/README.md


반응형

'리눅스 > 라즈베리파이' 카테고리의 다른 글

[방범 DIY] CCTV를 만들어보자 #1  (0) 2017.05.10
GPIO 및 웹 서버를 이용하여 라즈베리파이 제어  (5) 2015.11.14
WiringPi 설치  (0) 2015.11.08
SSH 연결 구축  (0) 2015.09.24
라즈비안 설치  (0) 2015.09.23

[알고리즘] 동적계획법

Posted by 백창
2015. 10. 22. 14:47 자료구조&알고리즘/개념
반응형

# 동적계획법


 동적계획법은 분할정복법과는 정반대의 방식을 이용하여 문제를 해결한다. 동적계획법은 문제를 더 작은 문제로 분할한다는 점에서는 분할정복법과 비슷하지만 여기서는 작은 문제를 먼저 해결하고 저장하고 다른 계산에 그 저장된 결과를 이용한다.


 동적계획법은 상향식 접근 방법(bottom-up)이다. 계획이란 해답을 구축하는데 배열을 사용함을 의미한다.



# 예시


 파스칼의 삼각형이 비슷한 예시가 되겠다.


 원하는 결과를 얻기까지 결과값들을 배열에 저장하여 그 값을 다음 계산에 이용한다.


int bin(int n, int k){

index i, j;

int B[0..n][0,,k];


for( i = 0 ; i <= n ; i++ ){

for( j = 0 ; j <= min( i , k ) ; j++ ){

if( j == 0 || j == i )

B[i][j] = 1;

else

B[i][j] = B[i-1][j-1] + B[i-1][j];

}

}


return B[n][k];

}


반응형

'자료구조&알고리즘 > 개념' 카테고리의 다른 글

[알고리즘] 분할정복법  (0) 2015.10.12
[정렬 알고리즘] 시간복잡도  (0) 2015.10.12
Map 과 HashMap 차이  (0) 2014.12.26
[개념] 리스트  (0) 2014.11.04