내 손안에 내 집

라즈베리파이와 아두이노를 이용한 홈 CCTV 프로젝트

싱글보드 컴퓨터 라즈베리파이, 오픈소스 기반 개발보드 아두이노를 활용하여 외부에서도 스마트폰을 통해 집안을 실시간으로 볼수 있는 작품

외출을 했을때 집에 어린 아이나 반려동물이 있거나 집을 봐야 할 상황이 있다면?

이러한 문제를 통해 프로젝트를 구성해보았습니다.

하지만 비슷한 홈 CCTV 형식의 제품은 시중에 많으나 저흰 생각을 더하여 차별성을 두기로 해보았습니다. 시중에 있는 제품들은 대부분 비싸고 구입방법도 귀찮습니다.

싸게 만들면 어떨까?

직접 만들어야 하는점이 번거롭고 진입장벽이 있기도 하지만 가장 큰 메리트는 가격이 시중 제품에 비해 싸다는 것입니다.


  • 라즈베리파이에 파이 카메라 모듈을 통해 실시간 스트리밍을 하고 스트리밍 영상을 라즈베리파이의 IP주소에 띄우는 방식으로 구현한다.


  • 아두이노를 통해서 360도 서보모터를 구동하도록 프로그래밍을 한다.


  • 앱인벤터로 앱을 만들어 앱으로 스트리밍과 모터 제어까지 할수있게 만든다.


  • 간지나는 케이스를 만들어서 보드들과 카메라를 집어넣는다.

우리의 프로젝트를 위한 준비물들

  • 본체 스트리밍 - 라즈베리파이 3 B+, 라즈베리파이 카메라 모듈, 충전기, 라즈베리파이를 제어할 컴퓨터 또는 노트북 기타 입력장치
  • 본체 모터 - 아두이노, 브레드보드, 케이블, 배터리, 블루투스 모듈, 노트북
  • 전체 제어 - 휴대폰 (안드로이드 앱 개발)

제작 과정

- 실시간 스트리밍

라즈베리파이에 라즈비안 (리눅스 운영체제) 를 깔고 전원을 켠다

터미널을 켜고 라즈베리파이에 실시간 스트리밍을 위한 라이브러리, 패키지, 스트리머를 설치, 컴파일 하는 과정 (사진 X)

  • cmake 패키지 설치

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

  • 컴파일 시 필요한 헤더파일 링크

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

  • 스트리머 다운로드

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

  • 다운받은 폴더로 이동

$ cd /home/pi/mjpg-streamer/mjpg-streamer-experimental

  • 컴파일

~/mjpg-streamer/mjpg-streamer-experimental $ make clean all

스트리밍 실행을 위해 실행 스크립트 작성

  • 스크립트를 쓰기위한 파일

$ sudo nano mjpg.sh

  • 실행 스크립트

export LD_LIBRETY_PATH=

export mjpg_PATH=/home/pi/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"


  • 실시간 스트리밍 실행

$ sh mjpg.sh

인터넷 브라우저에 쓰고있는 파이의 IP를 주소창에 입력하면 스트리밍 상태가 보이게된다.

모터 제어

아두이노와 블루투스 모듈을 이용하여서 앱으로 모터를 돌린다.

앱으로 0~360까지 각도를 돌려 제어 가능하게 코딩을 한다.

앱 개발

앱 인벤터를 이용하여서 블루투스 연결과 끊기, 모터의 각도값 제어와 카메라 스트리밍 확인이 가능하게 블록코딩을 해놓았다.

네트워크 포트나 방화벽 쪽에 문제가 생겨 제작한 앱으로 완벽하게 스트리밍을 보는 것은 구현이 잘 안되었다

외형 및 케이스

밑 부분 빈 공간에는 아두이노와 블루투스 모듈, 회로 등을 연결해 넣었고 목 부분에는 360 서보모터, 머리 부분에는 라즈베리파이와 카메라 모듈을 넣었습니다.

진행하면서 힘들었던 점이나 느낀 점

막히는 것도 많고 졸렵기도 하고 힘들었지만 팀원들과 함께 프로젝트를 진행하다 보니까 서로 같이 하게 되고 우리들 힘으로만 하게되니까 배우고 가는것도 많은거같다. 싱가포르 친구도 팀이었는데 언어 차이로 소통하기는 조금 힘들었다. 그래도 좋은 경험이 되었던거 같다. 예상대로 구현을 하지못한 것들에 대해선 아쉽고 화가 났다 집가서 더 해봐야겠다 메이커톤은 얻어가는게 참 많은 행사다