Toggle navigation
Toggle navigation
This project
Loading...
Sign in
cse437_e
/
smartdoorlock-backend
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
최지우
2020-11-16 19:27:55 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
5db8776330f63111e8ed2799015704b830fa3ef2
5db87763
1 parent
9a052a9d
비디오모델 썸네일 추가 및 프로세스 연결 수정
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
16 deletions
api/models.py
api/videorecord.py
api/views.py
api/models.py
View file @
5db8776
...
...
@@ -13,6 +13,7 @@ class Device(models.Model) :
class
Video
(
models
.
Model
)
:
vid_name
=
models
.
CharField
(
max_length
=
255
,
primary_key
=
True
)
created
=
models
.
DateTimeField
(
default
=
timezone
.
now
)
thumb
=
models
.
CharField
(
max_length
=
255
)
class
Lock
(
models
.
Model
)
:
id
=
models
.
IntegerField
(
primary_key
=
True
)
...
...
api/videorecord.py
View file @
5db8776
import
os
#
import boto3
#
import botocore
import
boto3
import
botocore
import
time
import
datetime
'''
from
django.core
import
serializers
from
api.models
import
Video
,
Record
from
api.serializers
import
VideoSerializer
,
RecordSerializer
'''
from boto3.session import Session
from src.settings import AWS_REGION, S3_ACCESS_URL, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY, S3_STORAGE_BUCKET_NAME
'''
import RPi.GPIO as GPIO
from picamera import PiCamera
'''
def
record
()
:
path
=
'/home/pi/recorded'
# save path
state
=
True
target
=
Record
.
objects
.
get
(
id
=
1
)
serializer
=
RecordSerializer
(
target
,
many
=
False
)
state
=
serializer
.
data
[
'recording'
]
#'''
# rpi setting
GPIO
.
setmode
(
GPIO
.
BCM
)
...
...
@@ -28,11 +30,6 @@ def record() :
try
:
while
state
:
'''
target = Record.objects.get(id = 1)
serializer = RecordSerializer(target, many = False)
state = serializer.data['recording']
'''
if
GPIO
.
input
(
pir_pin
):
# motion detected
# take a video
camera
.
resolution
=
[
320
,
240
]
...
...
@@ -44,7 +41,7 @@ def record() :
camera
.
start_recording
(
output
=
vid_path
)
time
.
sleep
(
1
)
camera
.
capture
(
thumbnail_path
)
while
GPIO
.
input
(
pir_pin
):
while
GPIO
.
input
(
pir_pin
)
:
print
(
"recoring.."
)
time
.
sleep
(
2
)
camera
.
stop_recording
()
...
...
@@ -54,10 +51,12 @@ def record() :
'''
s3 = boto3.client('s3', region_name = 'ap-northeast-2')
s3.upload_file(Filename = vid_path, Bucket = S3_STORAGE_BUCKET_NAME, Key = vid_name)
s3.upload_file(Filename = thumbnail_path, Bucket = S3_STORAGE_BUCKET_NAME, Key = vid_name + '_thumb')
uploadVideo = {}
uploadVideo['vid_name'] = vid_name
uploadVideo['created'] = now
uploadVideo['thumb'] = 'http://' + S3_STORAGE_BUCKET_NAME + 's3.ap-northeast-2.amazonaws.com/' + vid_name + '_thumb'
serializer = VideoSerializer(data = uploadVideo)
serializer.save()
'''
...
...
api/views.py
View file @
5db8776
...
...
@@ -110,10 +110,6 @@ class Recording(APIView) :
try
:
target
=
Record
.
objects
.
filter
(
id
=
1
)
target
.
update
(
recording
=
request
.
data
[
'recording'
])
if
request
.
data
[
'recording'
]
:
threading
.
Thread
(
target
=
record
)
.
start
()
return
Response
(
status
=
status
.
HTTP_200_OK
)
except
FieldDoesNotExist
as
error
:
return
Response
({
...
...
Please
register
or
login
to post a comment