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