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