728x90
- 라즈베리파이 셋팅
sudo pip3 install firebase_admin
- 파이어베이스 SDK 설치
sudo pip3 install schedule
추가로 schedule을 사용하기 위해 설치( 설치 자유 )
이 모듈은 정해진 시간마다 카메라를 이용해 사진을 찍고 이를 파이어베이스 스토리지에 업로드 하기 위한 모듈임
- 영상 촬영용 코드
from picamera import PiCamera
from time import sleep
import datetime
import sys
import os
import requests
import firebase_admin
from firebase_admin import credentials
from firebase_admin import storage
from uuid import uuid4
import time
#자신의 project id
PROJECT_ID = "abc-1234" # 본인의 id 적기
#라즈베리파이에 다운받은 '비공개 키' 위치 설정
cred = credentials.Certificate("/home/pi/key/AccountKey.json")
# 이 비공개 키의 주소는 본인에 맞게 설정
#스토리지 url 주소
default_app =
firebase_admin.initialize_app(cred, {
'storageBucket': "fir-0a00b.appspot.com"
}) # “fri~” 이 부분은 본인의 주소로 바꿔야 함
#버킷은 Storage에서 데이터를 보관하는 기본 컨테이너.
bucket = storage.bucket() #기본 버킷 사용
#파일 업로드 함수 선언(def)
def fileUpload(file):
blob = bucket.blob('Video/'+file)
#new token and metadata 설정
new_token = uuid4()
metadata = {"firebaseStorageDownloadTokens": new_token} #access token이 필요하다.
blob.metadata = metadata
#upload file
blob.upload_from_filename(filename='./Video/'+file, content_type='video/h264')
print(blob.public_url)
#영상 촬영 함수 선언(def)
# 라즈베리파이에서 영상 촬영 확장명은 .h264, .avi만 가능 mp4는 안됨
def recording_camera():
basename = "noah"
suffix = datetime.now().strftime("%Y%m%d_%H%M%S") + '.h264'
filename = "_".join([basename, suffix])
camera = PiCamera()
camera.resolution = (640, 480)
camera.start_preview()
#사진을 찍어서 저장한다. 파일의 중복되지 않도록 날짜시간을 넣어서 만들기
camera.start_recording('/home/pi/senser_system/Video/' + filename) #자신의 주소에 맞게 설정
camera.wait_recording(10)
#sleep(10)
camera.stop_recording()
#사진 파일을 파이어베이스에 업로드 한다.
fileUpload(filename)
camera.stop_preview()
camera.close()
def clearAll():
#폴더안 파일 지우기
path = 'Video'
os.system('rm -rf %s/*' % path)
#10초마다 실행
schedule.every(10).seconds.do(recording_camera)
#10분마다 실행
#schedule.every(10).minutes.do(recording_camera)
728x90
'Univ > 라즈베리파이' 카테고리의 다른 글
라즈베리파이 opencv 설치 - 간단 방법 [2022 최신버전] (0) | 2022.12.06 |
---|---|
라즈베리파이 실시간 스트리밍 - mjpg-streamer & motion & 결론 (0) | 2022.11.11 |
라즈베리파이 3B+ 모델에 opencv 설치하기 (0) | 2022.11.05 |