##モチベーション
AWSへ繋ぐ目的で購入したラズパイをようやくAWSに繋ぐ。
まずは単純にカメラで静止画撮影してS3にあげる
##前提環境
- RaspberryPi3B+
- Raspbian 9.8
- Python 2.7.13/Python 3.5.3
- picamera 1.13
##追加環境
- boto3
##事前準備
「クラウドへの複数ファイル一括アップロード」にて以下の準備を済ませています。
- AWS IAM ユーザーの作成→AWS_Admin
- AWS CLI インストールおよび設定(Configure)
- S3 Bucketの作成→atsmaru-bucket
##pythonにて写真撮影+S3へのアップロード
以下のコードを実行させることで、日付+時刻.jpgの画像をpicameraから取得し、s3にuploadすることができるようになりました。
takePicToS3.py
# coding: utf-8
import picamera
import boto3
import time
from datetime import datetime
def take_pic_from_picamera(filename):
print("take_pic_from_picamera:"+filename)
with picamera.PiCamera() as camera:
# camera.resolution = (1024, 768)
camera.resolution = (500, 500)
camera.start_preview()
camera.led = False
#camera warm-up time
time.sleep(2)
camera.capture(filename)
print("done")
def upload_to_S3(filename):
print("upload_to_S3:"+filename)
bucket_name = "atsmaru-bucket"
s3 = boto3.resource('s3')
s3.Bucket(bucket_name).upload_file('/home/pi/'+filename, filename)
print("done")
# main
timestr = datetime.now().strftime('%Y%m%d%H%M%S')
filename=timestr+'.jpg'
take_pic_from_picamera(filename)
upload_to_S3(filename)