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-19 04:53:11 +0900
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
b2d600c3408cebf3ad7150b2c4b25b82347db154
b2d600c3
2 parents
9d437fb8
56b483dd
Merge branch 'master' into yhkim
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
88 additions
and
2 deletions
api/migrations/0001_initial.py
api/models.py
api/serializers.py
api/videorecord.py
api/views.py
api/migrations/0001_initial.py
0 → 100644
View file @
b2d600c
# Generated by Django 3.1.2 on 2020-11-18 11:21
from
django.db
import
migrations
,
models
import
django.utils.timezone
class
Migration
(
migrations
.
Migration
):
initial
=
True
dependencies
=
[
]
operations
=
[
migrations
.
CreateModel
(
name
=
'Device'
,
fields
=
[
(
'rfid_id'
,
models
.
CharField
(
max_length
=
255
,
primary_key
=
True
,
serialize
=
False
)),
(
'created'
,
models
.
DateTimeField
(
default
=
django
.
utils
.
timezone
.
now
)),
],
),
migrations
.
CreateModel
(
name
=
'Door'
,
fields
=
[
(
'door_id'
,
models
.
CharField
(
max_length
=
255
,
primary_key
=
True
,
serialize
=
False
)),
],
),
migrations
.
CreateModel
(
name
=
'History'
,
fields
=
[
(
'id'
,
models
.
AutoField
(
auto_created
=
True
,
primary_key
=
True
,
serialize
=
False
,
verbose_name
=
'ID'
)),
(
'device_name'
,
models
.
CharField
(
max_length
=
255
)),
(
'ctrtime'
,
models
.
DateTimeField
(
default
=
django
.
utils
.
timezone
.
now
)),
],
),
migrations
.
CreateModel
(
name
=
'Lock'
,
fields
=
[
(
'id'
,
models
.
IntegerField
(
primary_key
=
True
,
serialize
=
False
)),
(
'state'
,
models
.
BooleanField
(
default
=
True
)),
],
),
migrations
.
CreateModel
(
name
=
'Record'
,
fields
=
[
(
'id'
,
models
.
IntegerField
(
primary_key
=
True
,
serialize
=
False
)),
(
'recording'
,
models
.
BooleanField
(
default
=
True
)),
],
),
migrations
.
CreateModel
(
name
=
'Video'
,
fields
=
[
(
'vid_name'
,
models
.
CharField
(
max_length
=
255
,
primary_key
=
True
,
serialize
=
False
)),
(
'created'
,
models
.
DateTimeField
(
default
=
django
.
utils
.
timezone
.
now
)),
(
'vid_time'
,
models
.
CharField
(
max_length
=
255
)),
(
'thumb'
,
models
.
CharField
(
max_length
=
255
)),
],
),
]
api/models.py
View file @
b2d600c
...
...
@@ -27,3 +27,7 @@ class History(models.Model) :
class
Record
(
models
.
Model
)
:
id
=
models
.
IntegerField
(
primary_key
=
True
)
recording
=
models
.
BooleanField
(
default
=
True
)
class
AddDevice
(
models
.
Model
)
:
id
=
models
.
IntegerField
(
primary_key
=
True
)
add
=
models
.
BooleanField
(
default
=
False
)
\ No newline at end of file
...
...
api/serializers.py
View file @
b2d600c
from
api.models
import
Device
,
Video
,
Lock
,
History
,
Record
,
Door
from
api.models
import
Device
,
Video
,
Lock
,
History
,
Record
,
Door
,
AddDevice
from
rest_framework
import
serializers
class
DoorSerializer
(
serializers
.
ModelSerializer
)
:
class
Meta
:
model
=
Door
fields
=
'__all__'
class
DeviceSerializer
(
serializers
.
ModelSerializer
)
:
class
Meta
:
...
...
@@ -21,3 +25,15 @@ class RecordSerializer(serializers.ModelSerializer) :
class
Meta
:
model
=
Record
fields
=
'__all__'
class
LockSerializer
(
serializers
.
ModelSerializer
)
:
class
Meta
:
model
=
Lock
fields
=
'__all__'
class
AddDeviceSerializer
(
serializers
.
ModelSerializer
)
:
class
Meta
:
model
=
AddDevice
fields
=
'__all__'
\ No newline at end of file
...
...
api/videorecord.py
View file @
b2d600c
...
...
@@ -3,7 +3,10 @@ import boto3
import
botocore
import
time
import
datetime
import
django
os
.
environ
.
setdefault
(
'DJANGO_SETTINGS_MODULE'
,
'src.settings'
)
django
.
setup
()
from
django.core
import
serializers
from
api.models
import
Video
,
Record
from
api.serializers
import
VideoSerializer
,
RecordSerializer
...
...
@@ -30,6 +33,10 @@ 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
]
...
...
api/views.py
View file @
b2d600c
...
...
@@ -7,7 +7,7 @@ from django.core.exceptions import FieldDoesNotExist, ObjectDoesNotExist
from
django.shortcuts
import
render
from
api.videorecord
import
record
from
api.models
import
Video
,
Device
,
History
,
Lock
,
Record
,
Door
from
api.models
import
Video
,
Device
,
History
,
Lock
,
Record
,
Door
,
AddDevice
from
api.serializers
import
VideoSerializer
,
DeviceSerializer
,
HistorySerializer
,
RecordSerializer
from
rest_framework
import
status
...
...
Please
register
or
login
to post a comment