Raspberry Pi를 사용한 간단한 저속 촬영
8726 단어 iotraspberrypihardware
시간 경과는 항상 나를 매료시킵니다. 그래서 직접 만들고 싶었습니다.
여분의 Raspberry Pi Zero W가 먼지를 잡는 데 ~ 25$에, 관련 Raspberry Pi 카메라 모듈을 20$ 미만에 구입할 수 있습니다.
엿보기
2020-09-08의 부분 타임랩스(20FPS)(1분마다 스냅샷 1개)
Check it out on cri.dev
요구 사항
자신을 구축하려면 다음이 필요합니다.
Raspberry Pi (제로 W 모델은 꽤 잘 작동함)
더 나은 품질의 타임랩스를 제공하는 공식High Quality Camera도 있습니다!
목차
Sneak peek
Create the time-lapse
준비
파이 플래시
새 SD 카드에서 Raspberry Pi OS를 플래시해야 합니다.
Balena Etcher 또는 공식 Raspberry Pi Imager . 절차는 매우 간단합니다.
단계를 거치면 SD 카드에 Rasperry Pi OS가 설치됩니다.
Wi-Fi 연결 설정
Pi를 Wi-Fi에 연결하려면 SD 카드에
wpa_supplicant.conf라는 파일을 만들어야 합니다.wpa_supplicant.conf의 내용은 다음과 같아야 합니다(따라서 구성).ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
ap_scan=1
update_config=1
network={
scan_ssid=1
ssid="YOUR_WIFI_ACCESS_POINT"
psk="YOUR_WIFI_PASSWORD"
}
SSH 액세스 활성화
SSH 액세스(사용자
pi 및 비밀번호raspberry 사용)를 활성화하려면 SD 카드에 ssh라는 빈 파일(확장자 없음)을 생성하기만 하면 됩니다.카메라 모듈 활성화
카메라 모듈을 활성화하려면
raspi-config 유틸리티를 통해 구성할 수 있습니다.그러나 SD 카드의 파일
config.txt도 마찬가지입니다.그것을 열고 다음을 추가하십시오.
start_x=1
gpu_mem=128
start_x 또는 gpu_mem에 대한 다른 발생이 없는지 확인하십시오.타임랩스 만들기
raspistill로 이미지 찍기
raspistill is the command line tool for capturing still photographs with the camera module.
아이디어는 raspistill를 사용하여 x분마다 스냅샷을 찍는 것입니다.
단일 이미지를 찍기 위해 /home/pi/take-snapshot 라는 다음 bash 스크립트를 사용하고 있습니다.
#!/bin/bash
set -e
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
SNAPSHOTS_DIR=/home/pi/snapshots
SNAPSHOT_PATH="$SNAPSHOTS_DIR/$DATE.jpg"
CURRENT_PATH="$SNAPSHOTS_DIR/current.jpg"
echo "$DATE"
mkdir -p "$SNAPSHOTS_DIR"
echo "taking snapshot $SNAPSHOT_PATH"
raspistill \
--width 1280 \
--height 960 \
--quality 100 \
--output "$SNAPSHOT_PATH"
echo "snapshot saved $SNAPSHOT_PATH"
echo "adding watermark $SNAPSHOT_PATH"
cd $SNAPSHOTS_DIR
montage \
-label "$DATE" \
$SNAPSHOT_PATH \
-pointsize 30 \
-gravity Center \
-geometry +0+0 \
$SNAPSHOT_PATH
cp $SNAPSHOT_PATH $CURRENT_PATH
이 스크립트는 스냅샷을 만들어 형식%Y-%m-%dT%H:%M:%SZ.jpg으로 이름을 지정하고 폴더/home/pi/snapshots에 넣습니다.
마지막에 이 사진은 ImageMagick 제품군의 montage를 사용하여 워터마크가 찍혀 있습니다.
crontab으로 캡처 일정 잡기
위의 스크립트를 사용하여 5분마다 사진을 찍기 위해 간단한 cron 작업을 설정할 수 있습니다.
crontab -e를 실행하여 cron 일정을 편집하고 다음 줄을 추가하십시오.
SHELL=/bin/bash
*/5 * * * * sh /home/pi/take-snapshot >> /home/pi/snapshots.log 2>&1
스냅샷의 디렉토리 목록
포트 80에 웹 서버를 노출하여 폴더/home/pi/snapshots에서 촬영한 모든 이미지(및 타임랩스)를 쉽게 나열할 수 있습니다.
crontab에 다음을 추가하여 부팅 시 서버를 시작합니다.
@reboot sudo python3 -m http.server --directory /home/pi/snapshots 80
ffmpeg로 타임랩스 만들기
ffmpeg로 하루의 타임랩스2020-08-31를 찍는 것은 달리기만큼 쉽습니다.
cat 2020-08-31*.jpg | ffmpeg -r 10 -i - -c:v libx264 -vf "format=yuv420p,scale=1280:-2" time-lapse-2020-08-31.mp4
raspberry-pi-time-lapse 저장소
리포지토리christian-fei/raspberry-pi-time-lapse를 복제/포크하고 첫 번째 타임랩스를 즉시 만들 수 있습니다.
위의 단계를 단순화하는 다양한 스크립트가 있습니다.
raspistill is the command line tool for capturing still photographs with the camera module.
#!/bin/bash
set -e
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
SNAPSHOTS_DIR=/home/pi/snapshots
SNAPSHOT_PATH="$SNAPSHOTS_DIR/$DATE.jpg"
CURRENT_PATH="$SNAPSHOTS_DIR/current.jpg"
echo "$DATE"
mkdir -p "$SNAPSHOTS_DIR"
echo "taking snapshot $SNAPSHOT_PATH"
raspistill \
--width 1280 \
--height 960 \
--quality 100 \
--output "$SNAPSHOT_PATH"
echo "snapshot saved $SNAPSHOT_PATH"
echo "adding watermark $SNAPSHOT_PATH"
cd $SNAPSHOTS_DIR
montage \
-label "$DATE" \
$SNAPSHOT_PATH \
-pointsize 30 \
-gravity Center \
-geometry +0+0 \
$SNAPSHOT_PATH
cp $SNAPSHOT_PATH $CURRENT_PATH
SHELL=/bin/bash
*/5 * * * * sh /home/pi/take-snapshot >> /home/pi/snapshots.log 2>&1
@reboot sudo python3 -m http.server --directory /home/pi/snapshots 80
cat 2020-08-31*.jpg | ffmpeg -r 10 -i - -c:v libx264 -vf "format=yuv420p,scale=1280:-2" time-lapse-2020-08-31.mp4
리포지토리christian-fei/raspberry-pi-time-lapse를 복제/포크하고 첫 번째 타임랩스를 즉시 만들 수 있습니다.
위의 단계를 단순화하는 다양한 스크립트가 있습니다.
take-snapshot 워터마크와 타임스탬프가 찍힌 폴더에서 사진을 찍기 위해 snapshots/ server 포트 80에서 HTTP 서버를 시작하여 지금까지 찍은 모든 스냅샷과 시간 경과를 나열합니다rsync-snapshots 스냅샷을 Raspberry Pi에서 PC로 동기화하기 위해create-time-lapse 특정 날짜에 대한 타임랩스 생성crontab 스냅샷을 예약하고 서버를 스핀업합니다Reference
이 문제에 관하여(Raspberry Pi를 사용한 간단한 저속 촬영), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/christianfei/simple-time-lapse-with-a-raspberry-pi-5b28텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)