Showing
3 changed files
with
37 additions
and
9 deletions
api/migrations/0002_adddevice.py
0 → 100644
1 | +# Generated by Django 3.1.2 on 2020-11-18 19:55 | ||
2 | + | ||
3 | +from django.db import migrations, models | ||
4 | + | ||
5 | + | ||
6 | +class Migration(migrations.Migration): | ||
7 | + | ||
8 | + dependencies = [ | ||
9 | + ('api', '0001_initial'), | ||
10 | + ] | ||
11 | + | ||
12 | + operations = [ | ||
13 | + migrations.CreateModel( | ||
14 | + name='AddDevice', | ||
15 | + fields=[ | ||
16 | + ('id', models.IntegerField(primary_key=True, serialize=False)), | ||
17 | + ('add', models.BooleanField(default=False)), | ||
18 | + ], | ||
19 | + ), | ||
20 | + ] |
... | @@ -7,8 +7,8 @@ from django.core.exceptions import FieldDoesNotExist, ObjectDoesNotExist | ... | @@ -7,8 +7,8 @@ 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, RemoteHistory, Lock, Record, Door | 10 | +from api.models import Video, Device, RemoteHistory, Lock, Record, Door, AddDevice |
11 | -from api.serializers import VideoSerializer, DeviceSerializer, RemoteHistorySerializer, RecordSerializer, LockSerializer | 11 | +from api.serializers import VideoSerializer, DeviceSerializer, RemoteHistorySerializer, RecordSerializer, LockSerializer, AddDeviceSerializer |
12 | 12 | ||
13 | 13 | ||
14 | from rest_framework import status | 14 | from rest_framework import status |
... | @@ -68,6 +68,13 @@ class Devices(APIView) : | ... | @@ -68,6 +68,13 @@ class Devices(APIView) : |
68 | try : | 68 | try : |
69 | print(request.body) | 69 | print(request.body) |
70 | data = json.loads(request.body) | 70 | data = json.loads(request.body) |
71 | + target = AddDevice.objects.get(id=1) | ||
72 | + serializer = AddDeviceSerializer(target, many=False) | ||
73 | + state = serializer.data['state'] | ||
74 | + if state == False: | ||
75 | + print(">> 기기추가 요청이 들어옴") | ||
76 | + target.state = True | ||
77 | + target.save() | ||
71 | rfid_id = data.get('rfid_id', None) | 78 | rfid_id = data.get('rfid_id', None) |
72 | res = { | 79 | res = { |
73 | 'rfid_id': rfid_id | 80 | 'rfid_id': rfid_id | ... | ... |
... | @@ -81,9 +81,10 @@ def RFIDProcess(signalQueue): | ... | @@ -81,9 +81,10 @@ def RFIDProcess(signalQueue): |
81 | if response.status_code == 200: | 81 | if response.status_code == 200: |
82 | deviceList = (response.json()['deviceList']) | 82 | deviceList = (response.json()['deviceList']) |
83 | 83 | ||
84 | - # state = getFromIPC(원격 잠금해제 여부) | 84 | + # state = getFromIPC(기기추가여부) |
85 | - target = Lock.objects.get(id=1) # 장고 모델에서 잠금 상태 모델(Lock) 객체 가져옴 | 85 | + |
86 | - serializer = LockSerializer(target, many=False) # python 데이터타입으로 변환 | 86 | + target = AddDevice.objects.get(id=1) # 장고 모델에서 잠금 상태 모델(Lock) 객체 가져옴 |
87 | + serializer = AddDeviceSerializer(target, many=False) # python 데이터타입으로 변환 | ||
87 | state = serializer.data['state'] # state에 저장(boolean) | 88 | state = serializer.data['state'] # state에 저장(boolean) |
88 | 89 | ||
89 | findDevice = False # 기기 등록 여부 | 90 | findDevice = False # 기기 등록 여부 |
... | @@ -91,7 +92,7 @@ def RFIDProcess(signalQueue): | ... | @@ -91,7 +92,7 @@ def RFIDProcess(signalQueue): |
91 | if deviceId in i["rfid"]: | 92 | if deviceId in i["rfid"]: |
92 | findDevice = True | 93 | findDevice = True |
93 | 94 | ||
94 | - if state == False: # if state == 원격 잠금해제: | 95 | + if state == True: # if state == 기기추가: |
95 | try: | 96 | try: |
96 | if findDevice: # if devices.find(deviceId): | 97 | if findDevice: # if devices.find(deviceId): |
97 | print("이미 등록된 RFID 장치") # raise | 98 | print("이미 등록된 RFID 장치") # raise |
... | @@ -104,10 +105,10 @@ def RFIDProcess(signalQueue): | ... | @@ -104,10 +105,10 @@ def RFIDProcess(signalQueue): |
104 | except: | 105 | except: |
105 | print("경고음 삑 -!") | 106 | print("경고음 삑 -!") |
106 | pass | 107 | pass |
107 | - finally: # setToIPC(원격 잠금해제 여부, 원격 잠금해제 아님) | 108 | + finally: # setToIPC(기기 추가 여부, 기기 추가 아님) |
108 | - target.state = True | 109 | + target.state = False |
109 | target.save() | 110 | target.save() |
110 | - else: # 원격 잠금해제 상태가 아님 = 도어락 해제 프로세스 | 111 | + else: # 기기 추가 상태가 아님 = 도어락 해제 프로세스 |
111 | try: | 112 | try: |
112 | if not findDevice: # if not devices.find(deviceId) | 113 | if not findDevice: # if not devices.find(deviceId) |
113 | print("등록되지 않은 RFID 장치") # raise | 114 | print("등록되지 않은 RFID 장치") # raise | ... | ... |
-
Please register or login to post a comment