레이블이 raspberrypi인 게시물을 표시합니다. 모든 게시물 표시
레이블이 raspberrypi인 게시물을 표시합니다. 모든 게시물 표시

2016년 10월 31일 월요일

스마트 프로덕트 프로젝트 IPCAM 최종 프로젝트

프로젝트

최종 발표:

12월 6일

프로젝트 내용:

지금까지 배운 내용을 바탕으로 라즈베리파이를 이용한 IPCAM을 제작한다.

요구사항:

지금까지 배운 내용을 최대한 활용하고,
다양한 기능을 갖출 수록 점수가 높음

기타:

* 별도로 기말시험은 없음
* 절대 평가

스마트 프로덕트 프로젝트 11/1 IP카메라 Motion JPEG

IP카메라 Motion JPEG


웹 브라우져에서 비디오 스트리밍을 하는 방법으로 WebRTC가 있음.
그러나 구현이 쉽지는 않고,

Flask를 이용하여 Motion JPEG을 간단히 구현할 수 있음

https://github.com/jyheo/ipcam/blob/master/mjpeg.py

2016년 10월 25일 화요일

스마트 프로덕트 프로젝트 10/25 IP카메라 모션 검출과 저장

IP카메라 모션 검출과 저장

1. Circular Stream이용한 저장

picamera의 circular stream을 이용하여 메모리에 최근 영상만 계속 저장
모션이 검출되면 별도 파일로 저장

https://picamera.readthedocs.io/en/release-1.12/recipes2.html#splitting-to-from-a-circular-stream

2. 모션 검출

http://www.ostafichuk.com/raspberry-pi-projects/python-picamera-motion-detection/


실습

- 2의 모션 검출 방법을 참고하여 1의 detect_motion() 함수 완성
- 저장 파일의 이름을 before.h264, after.h264가 아니라 현재시간.before.h264, 현재시간.after.h264로 저장할 것. 예를 들어 201610225091055.before.h264

2016년 10월 4일 화요일

스마트 프로덕트 프로젝트 10/4 IP카메라 웹기반 설정

IP카메라 웹기반 설정

실습 목표:

Python-Flask 기반의 웹 서버를 이용하여 IP카메라 설정을 변경하고, 캡쳐된 사진을 웹 브라우져로 가져와서 보여준다.



필요 기술:

웹: HTML5, Javascript, jQuery, Ajax, Flask
OS: 시그널

참고: 

쉘에서 시그널 보내기
$ kill -s SIGUSR1 PID

파이선에서 시그널 보내기
os.kill(PID, signal.SIGUSR1)

여기에서 PID는 프로세스ID

예제 코드

https://gist.github.com/jyheo/2bfba7a45cafff1c811a5c11c53160d4

2016년 9월 19일 월요일

스마트 프로덕트 프로젝트 9/20 캡쳐/비디오 전송

캡쳐/비디오 전송


캡쳐 - 스틸 이미지
비디오 - 연속적인 이미지, 동영상

캡쳐 전송

python Flask와 picamera의 이미지 캡쳐를 활용하여
http://라즈베리파이주소:5000/capture
주소를 입력하면 캡쳐된 이미지가 웹 브라우져에 나타날 수 있도록 만든다.

두 가지 방법으로 구현이 가능한데, 두 가지 모두 해볼 것!
1) 해당 URL 요청이 올 때마다 캡쳐하기
2) 주기적으로 캡쳐하는 프로그램을 만들고, 해당 URL 요청이 오면 미리 캡쳐된 화면을 전송하기


2016년 5월 19일 목요일

임베디드 OS 5/19 - Python Flask Web Framework

Python Flask Web Framework





Raspberry Pi + Analog Sensor




Raspberry Pi + Analog Sensor + Web(Flask)



2016년 3월 29일 화요일

임베디드 OS 3/31 실습 - 크로스 컴파일과 원격 디버깅

크로스 컴파일과 원격 디버깅

이클립스를 이용하여 라즈베리 파이 타겟을 위한 프로그램을 크로스 컴파일하고 원격 디버깅하는 실습