본 포스팅은 총 세 단계로 구분되어 포스팅 하였습니다. 참고하세요
Raspberry pi 3와 Camera Module & Arduino DHT-11 Module을 사용한 실시간 실내 환경 스트리밍 서비스 구현 (1)
Raspberry pi 3와 Camera Module & Arduino DHT-11 Module을 사용한 실시간 실내 환경 스트리밍 서비스 구현 (2)
Raspberry pi 3와 Camera Module & Arduino DHT-11 Module을 사용한 실시간 실내 환경 스트리밍 서비스 구현 (3)
이번 포스팅엔 지난번에 DHT-11을 사용해서 실시간으로 실내 온습도를 측정하는 작업을 마무리했으니
카메라 모듈을 사용하여 실시간으로 스트리밍 서비스를 구축해보겠다.
1. OpenCV 3.1 구동 시키기 위한 패키지들 다운로드
sudo apt-get purge wolfram-engine
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install build-essential cmake pkg-config -y
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev -y
sudo apt-get install libxvidcore-dev libx264-dev -y
sudo apt-get install libgtk2.0-dev -y
sudo apt-get install libatlas-base-dev gfortran python2.7-dev python3-dev -y
2. Github에서 OpenCV 3.1 Source Code 다운로드
## Downloading of openCV 3.1 Source code
cd
wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.1.0.zip
unzip opencv.zip
wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.1.0.zip
unzip opencv_contrib.zip
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
pip install numpy
opencv 3.1 버전을 권장합니다. 4.1버전은 라이브러리 충돌 오류가 나니 주의하세요.
3. Build
## Build
cd ~/opencv-3.1.0/
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.1.0/modules \ -D BUILD_EXAMPLES=ON ..
make -j4 # It will take about 1hour 30minutes
sudo make install
sudo ldconfig
ls -l /usr/local/lib/python3.4/dist-packages
make -j4 명령어가 엄청 오래걸린다. 필자가 구현했을 땐 1시간 30분 정도 소요되니 참고.
4. mjpg-streamer 다운로드
## Downloading of mjpg-streamer
cd
mkdir project
cd project
sudo apt-get install git -y
git clone https://github.com/jacksonliam/mjpg-streamer.git
sudo apt-get install cmake python-imaging libjpeg-dev build-essential
cd mjpg-streamer/mjpg-streamer-experimental/
make CMAKE_BUILD_TYPE=Debug
sudo make install
cd
5. 실시간 스트리밍 서비스 구동
## Activate Real-time streaming
sudo modprobe bcm2835-v4l2
mjpg_streamer -i “input_uvc.so” –o “output_http.so -p 8090 -w /usr/local/share/mjpg-streamer/www/”
## You have to connect http://localhost:8090
## If you connect raspberry pi using SSH Connection, put the Raspberry pi address instead of localhost.
카메라 센서로 측정하는 실시간 영상을 HTTP 포트 8090으로 출력한다. 위 화면같이 카메라로부터 영상을 캡쳐하여 웹으로 전송되는 것을 확인할 수 있는 화면이다.
6. 웹 브라우저로 localhost:8090 으로 접속
## 만약 ssh 연결을 통해 명령어를 전달하고 있다면 localhost 대신 라즈베리파이의 주소를 입력하세요.
예 ) http://192.168.43.142:8090
7. 최종화면
지금까지 Raspberry pi 3로 온습도 센서와 카메라 센서를 활용하여 실시간 실내 온습도 측정 및 스트리밍 서비스를 구축해보았다.
아래 수업 강의자료를 첨부하니 궁금하신 사항은 댓글로 달아주세요 언제든지 환영입니다.