Showing
5 changed files
with
90 additions
and
4 deletions
api/migrations/0001_initial.py
0 → 100644
1 | +# Generated by Django 3.1.2 on 2020-11-18 11:21 | ||
2 | + | ||
3 | +from django.db import migrations, models | ||
4 | +import django.utils.timezone | ||
5 | + | ||
6 | + | ||
7 | +class Migration(migrations.Migration): | ||
8 | + | ||
9 | + initial = True | ||
10 | + | ||
11 | + dependencies = [ | ||
12 | + ] | ||
13 | + | ||
14 | + operations = [ | ||
15 | + migrations.CreateModel( | ||
16 | + name='Device', | ||
17 | + fields=[ | ||
18 | + ('rfid_id', models.CharField(max_length=255, primary_key=True, serialize=False)), | ||
19 | + ('created', models.DateTimeField(default=django.utils.timezone.now)), | ||
20 | + ], | ||
21 | + ), | ||
22 | + migrations.CreateModel( | ||
23 | + name='Door', | ||
24 | + fields=[ | ||
25 | + ('door_id', models.CharField(max_length=255, primary_key=True, serialize=False)), | ||
26 | + ], | ||
27 | + ), | ||
28 | + migrations.CreateModel( | ||
29 | + name='History', | ||
30 | + fields=[ | ||
31 | + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||
32 | + ('device_name', models.CharField(max_length=255)), | ||
33 | + ('ctrtime', models.DateTimeField(default=django.utils.timezone.now)), | ||
34 | + ], | ||
35 | + ), | ||
36 | + migrations.CreateModel( | ||
37 | + name='Lock', | ||
38 | + fields=[ | ||
39 | + ('id', models.IntegerField(primary_key=True, serialize=False)), | ||
40 | + ('state', models.BooleanField(default=True)), | ||
41 | + ], | ||
42 | + ), | ||
43 | + migrations.CreateModel( | ||
44 | + name='Record', | ||
45 | + fields=[ | ||
46 | + ('id', models.IntegerField(primary_key=True, serialize=False)), | ||
47 | + ('recording', models.BooleanField(default=True)), | ||
48 | + ], | ||
49 | + ), | ||
50 | + migrations.CreateModel( | ||
51 | + name='Video', | ||
52 | + fields=[ | ||
53 | + ('vid_name', models.CharField(max_length=255, primary_key=True, serialize=False)), | ||
54 | + ('created', models.DateTimeField(default=django.utils.timezone.now)), | ||
55 | + ('vid_time', models.CharField(max_length=255)), | ||
56 | + ('thumb', models.CharField(max_length=255)), | ||
57 | + ], | ||
58 | + ), | ||
59 | + ] |
... | @@ -26,4 +26,8 @@ class History(models.Model) : | ... | @@ -26,4 +26,8 @@ class History(models.Model) : |
26 | 26 | ||
27 | class Record(models.Model) : | 27 | class Record(models.Model) : |
28 | id = models.IntegerField(primary_key = True) | 28 | id = models.IntegerField(primary_key = True) |
29 | - recording = models.BooleanField(default = True) | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
29 | + recording = models.BooleanField(default = True) | ||
30 | + | ||
31 | +class AddDevice(models.Model) : | ||
32 | + id = models.IntegerField(primary_key = True) | ||
33 | + add = models.BooleanField(default = False) | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | -from api.models import Device, Video, Lock, History, Record, Door | 1 | +from api.models import Device, Video, Lock, History, Record, Door, AddDevice |
2 | from rest_framework import serializers | 2 | from rest_framework import serializers |
3 | 3 | ||
4 | +class DoorSerializer(serializers.ModelSerializer) : | ||
5 | + class Meta : | ||
6 | + model = Door | ||
7 | + fields = '__all__' | ||
4 | 8 | ||
5 | class DeviceSerializer(serializers.ModelSerializer) : | 9 | class DeviceSerializer(serializers.ModelSerializer) : |
6 | class Meta : | 10 | class Meta : |
... | @@ -20,4 +24,16 @@ class HistorySerializer(serializers.ModelSerializer) : | ... | @@ -20,4 +24,16 @@ class HistorySerializer(serializers.ModelSerializer) : |
20 | class RecordSerializer(serializers.ModelSerializer) : | 24 | class RecordSerializer(serializers.ModelSerializer) : |
21 | class Meta : | 25 | class Meta : |
22 | model = Record | 26 | model = Record |
23 | - fields = '__all__' | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
27 | + fields = '__all__' | ||
28 | + | ||
29 | +class LockSerializer(serializers.ModelSerializer) : | ||
30 | + class Meta : | ||
31 | + model = Lock | ||
32 | + fields = '__all__' | ||
33 | + | ||
34 | + | ||
35 | +class AddDeviceSerializer(serializers.ModelSerializer) : | ||
36 | + class Meta : | ||
37 | + model = AddDevice | ||
38 | + fields = '__all__' | ||
39 | + | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -3,7 +3,10 @@ import boto3 | ... | @@ -3,7 +3,10 @@ import boto3 |
3 | import botocore | 3 | import botocore |
4 | import time | 4 | import time |
5 | import datetime | 5 | import datetime |
6 | +import django | ||
6 | 7 | ||
8 | +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'src.settings') | ||
9 | +django.setup() | ||
7 | from django.core import serializers | 10 | from django.core import serializers |
8 | from api.models import Video, Record | 11 | from api.models import Video, Record |
9 | from api.serializers import VideoSerializer, RecordSerializer | 12 | from api.serializers import VideoSerializer, RecordSerializer |
... | @@ -30,6 +33,10 @@ def record() : | ... | @@ -30,6 +33,10 @@ def record() : |
30 | 33 | ||
31 | try: | 34 | try: |
32 | while state : | 35 | while state : |
36 | + target = Record.objects.get(id = 1) | ||
37 | + serializer = RecordSerializer(target, many = False) | ||
38 | + state = serializer.data['recording'] | ||
39 | + | ||
33 | if GPIO.input(pir_pin): # motion detected | 40 | if GPIO.input(pir_pin): # motion detected |
34 | # take a video | 41 | # take a video |
35 | camera.resolution = [320, 240] | 42 | camera.resolution = [320, 240] | ... | ... |
... | @@ -7,7 +7,7 @@ from django.core.exceptions import FieldDoesNotExist, ObjectDoesNotExist | ... | @@ -7,7 +7,7 @@ from django.core.exceptions import FieldDoesNotExist, ObjectDoesNotExist |
7 | from django.shortcuts import render | 7 | from django.shortcuts import render |
8 | 8 | ||
9 | from api.videorecord import record | 9 | from api.videorecord import record |
10 | -from api.models import Video, Device, History, Lock, Record, Door | 10 | +from api.models import Video, Device, History, Lock, Record, Door, AddDevice |
11 | from api.serializers import VideoSerializer, DeviceSerializer, HistorySerializer, RecordSerializer | 11 | from api.serializers import VideoSerializer, DeviceSerializer, HistorySerializer, RecordSerializer |
12 | 12 | ||
13 | from rest_framework import status | 13 | from rest_framework import status | ... | ... |
-
Please register or login to post a comment