Showing
1 changed file
with
40 additions
and
37 deletions
| ... | @@ -3,11 +3,11 @@ import os | ... | @@ -3,11 +3,11 @@ import os |
| 3 | #import botocore | 3 | #import botocore |
| 4 | import time | 4 | import time |
| 5 | import datetime | 5 | import datetime |
| 6 | -#from django.core import serializers | ||
| 7 | 6 | ||
| 8 | -#from api.models import Video, Record | ||
| 9 | -#from api.serializers import VideoSerializer, RecordSerializer | ||
| 10 | ''' | 7 | ''' |
| 8 | +from django.core import serializers | ||
| 9 | +from api.models import Video, Record | ||
| 10 | +from api.serializers import VideoSerializer, RecordSerializer | ||
| 11 | from boto3.session import Session | 11 | from boto3.session import Session |
| 12 | from src.settings import AWS_REGION, S3_ACCESS_URL, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_STORAGE_BUCKET_NAME | 12 | from src.settings import AWS_REGION, S3_ACCESS_URL, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_STORAGE_BUCKET_NAME |
| 13 | ''' | 13 | ''' |
| ... | @@ -19,6 +19,7 @@ def record() : | ... | @@ -19,6 +19,7 @@ def record() : |
| 19 | path = '/home/pi/recorded' # save path | 19 | path = '/home/pi/recorded' # save path |
| 20 | state = True | 20 | state = True |
| 21 | #''' | 21 | #''' |
| 22 | + # rpi setting | ||
| 22 | GPIO.setmode(GPIO.BCM) | 23 | GPIO.setmode(GPIO.BCM) |
| 23 | PIR_PIN = 7 | 24 | PIR_PIN = 7 |
| 24 | GPIO.setup(PIR_PIN, GPIO.IN) | 25 | GPIO.setup(PIR_PIN, GPIO.IN) |
| ... | @@ -26,42 +27,44 @@ def record() : | ... | @@ -26,42 +27,44 @@ def record() : |
| 26 | #''' | 27 | #''' |
| 27 | 28 | ||
| 28 | try: | 29 | try: |
| 29 | - while state : | 30 | + while state : |
| 30 | - #target = Record.objects.get(id = 1) | 31 | + ''' |
| 31 | - #serializer = RecordSerializer(target, many = False) | 32 | + target = Record.objects.get(id = 1) |
| 32 | - #state = serializer.data['recording'] | 33 | + serializer = RecordSerializer(target, many = False) |
| 33 | - if GPIO.input(PIR_PIN): # motion detected | 34 | + state = serializer.data['recording'] |
| 34 | - # take a video | 35 | + ''' |
| 35 | - camera.resolution = [320,240] | 36 | + if GPIO.input(PIR_PIN): # motion detected |
| 36 | - camera.start_preview() | 37 | + # take a video |
| 37 | - now = datetime.datetime.now() | 38 | + camera.resolution = [320, 240] |
| 38 | - vid_name = now.strftime('%Y%m%d-%H%M%S') | 39 | + camera.start_preview() |
| 39 | - vid_path = path + '/' + vid_name + '.h264' | 40 | + now = datetime.datetime.now() |
| 40 | - thumbnail_path = path + '/' + vid_name + '.jpg' | 41 | + vid_name = now.strftime('%Y%m%d-%H%M%S') |
| 41 | - camera.start_recording(output = vid_path) | 42 | + vid_path = path + '/' + vid_name + '.h264' |
| 42 | - time.sleep(1) | 43 | + thumbnail_path = path + '/' + vid_name + '.jpg' |
| 43 | - camera.capture(thumbnail_path) | 44 | + camera.start_recording(output=vid_path) |
| 44 | - time.sleep(5) | 45 | + time.sleep(1) |
| 45 | - camera.stop_recording() | 46 | + camera.capture(thumbnail_path) |
| 46 | - camera.stop_preview() | 47 | + time.sleep(5) |
| 47 | - | 48 | + camera.stop_recording() |
| 48 | - # s3 upload | 49 | + camera.stop_preview() |
| 49 | - ''' | ||
| 50 | - s3 = boto3.client('s3', region_name = 'ap-northeast-2') | ||
| 51 | - s3.upload_file(Filename = vid_path, Bucket = S3_STORAGE_BUCKET_NAME, Key = vid_name) | ||
| 52 | 50 | ||
| 53 | - uploadVideo = {} | 51 | + # s3 upload |
| 54 | - uploadVideo['vid_name'] = vid_name | 52 | + ''' |
| 55 | - uploadVideo['created'] = now | 53 | + s3 = boto3.client('s3', region_name = 'ap-northeast-2') |
| 56 | - serializer = VideoSerializer(data = uploadVideo) | 54 | + s3.upload_file(Filename = vid_path, Bucket = S3_STORAGE_BUCKET_NAME, Key = vid_name) |
| 57 | - serializer.save() | 55 | + |
| 58 | - ''' | 56 | + uploadVideo = {} |
| 59 | - print(vid_path, "upload success") | 57 | + uploadVideo['vid_name'] = vid_name |
| 60 | - os.remove(vid_path) | 58 | + uploadVideo['created'] = now |
| 61 | - else: | 59 | + serializer = VideoSerializer(data = uploadVideo) |
| 62 | - camera.stop_preview() | 60 | + serializer.save() |
| 61 | + ''' | ||
| 62 | + print(vid_path, "upload success") | ||
| 63 | + os.remove(vid_path) | ||
| 64 | + else: | ||
| 65 | + camera.stop_preview() | ||
| 63 | except KeyboardInterrupt: | 66 | except KeyboardInterrupt: |
| 64 | - print("quit") | 67 | + print("quit") |
| 65 | GPIO.cleanup() | 68 | GPIO.cleanup() |
| 66 | 69 | ||
| 67 | 70 | ... | ... |
-
Please register or login to post a comment