# data[].attributes.attachment_link.title
QR보물찾기_재학생전용

# data[].attributes.body
61 4732
62 4682
63 4214
64 4607
65 4017
66 4201
67 4293
68 4281
69 4427
70 4901
71 4283
72 4857
73 4182
74 4932
75 4192
76 4284
77 4291
78 4387
79 4438
80 4121

# data[].attributes.body
21 2757
22 2697
23 2456
24 2547
25 2546
26 2769
27 2658
28 2760
29 2544
30 2785
31 2538
32 2453
33 2430
34 2597
35 2095
36 2437
37 2047
38 2574
39 2130
40 2180

# data[].attributes.body
http://hongikqr.kro.kr

# data[].attributes.body
from datetime import datetime

import cv2

from pyzbar.pyzbar import decode

from oauth2client.service_account import ServiceAccountCredentials

import gspread

import time

from time import localtime

from PIL import ImageFont, ImageDraw, Image

import numpy as np

font = ImageFont.truetype(font="NotoSansKR-Regular.otf", size=48)

#명렬표 불러오기

scope = [

"https://spreadsheets.google.com/feeds",

"https://www.googleapis.com/auth/drive",

]

json_key_path1 = "qr.json" # JSON Key File Path

json_key_path2 = "qr_input.json"

credential1 = ServiceAccountCredentials.from_json_keyfile_name(json_key_path1, scope)

gc1 = gspread.authorize(credential1)

credential2 = ServiceAccountCredentials.from_json_keyfile_name(json_key_path2, scope)

gc2 = gspread.authorize(credential2)

spreadsheet_url1 = "https://docs.google.com/spreadsheets/d/1IMJK2dUZvAHWBEmCO2-U6w_i6BlMHPeeWbxfGDgORSo/edit?usp=sharing"

spreadsheet_url2 = "https://docs.google.com/spreadsheets/d/1FzeHKxmETsF_adx3hmeayIbFKMny4EI2OwBkeklw-EY/edit#gid=0"

doc1 = gc1.open_by_url(spreadsheet_url1)

doc2 = gc2.open_by_url(spreadsheet_url2)

#당일의 요일을 가져옴

weeknum = datetime.today().weekday()

weekday = ""

if weeknum == 0:

weekday = "월요일"

elif weeknum == 1:

weekday = "화요일"

elif weeknum == 2:

weekday = "수요일"

elif weeknum == 3:

weekday = "목요일"

elif weeknum == 4:

weekday = "금요일"

elif weeknum == 5:

weekday = "토요일"

elif weeknum == 6:

weekday = "일요일"

# 노트북 카메라 캡처

cap = cv2.VideoCapture(0)

flag = 0

sheet1 = doc1.worksheet(weekday)

sheet2 = doc2.worksheet("5")

# B열의 전체 데이터를 가져옴

column_b1 = sheet1.col_values(2)

column_a2 = sheet2.col_values(1)

while True:

# 프레임 읽기

ret, frame = cap.read()

# QR 코드 디코딩

decoded_data = decode(frame)

# 디코딩된 QR 코드 정보 출력

if decoded_data:

if flag == 0:

sheet1 = doc1.worksheet(weekday)

sheet2 = doc2.worksheet("5")

# B열의 전체 데이터를 가져옴

column_b1 = sheet1.col_values(2)

column_a2 = sheet2.col_values(1)

flag = 1

인식결과 = decoded_data[0].data.decode()

개인정보 = 인식결과.split(' ')[0]

시간 = float(인식결과.split(' ')[1])

현재시간 = time.time()

tm = localtime(현재시간)

시간차이 = 현재시간-시간

연도 = tm.tm_year

달 = tm.tm_mon

일 = tm.tm_mday

시 = tm.tm_hour

분 = tm.tm_min

초 = tm.tm_sec

print(시간, 현재시간, 시간차이)

print(개인정보)

print(인식결과)

if 개인정보 in column_b1 :

if 시간차이<=60 :

if 개인정보 in column_a2 :

print('이미 인식되었습니다!')

text = "이미 인식되었습니다!"

img = frame

img = Image.fromarray(img)

draw = ImageDraw.Draw(img)

draw.text((100, 300), text, font=font, fill=(255, 0, 0))

img = np.array(img)

frame = img

cv2.imshow("QR code reader", frame)

cv2.waitKey(1000)

continue

else:

flag = 0

print('인식되었습니다')

text = "인식되었습니다"

img = frame

img = Image.fromarray(img)

draw = ImageDraw.Draw(img)

draw.text((200, 300), text, font=font, fill=(255, 0, 0))

img = np.array(img)

frame = img

row = [개인정보, 연도, 달, 일, 시, 분, 초]

sheet2.append_row(row)

cv2.imshow("QR code reader", frame)

cv2.waitKey(1000)

continue

else:

print("만료된 QR코드입니다")

text = "만료된 QR코드입니다"

img = frame

img = Image.fromarray(img)

draw = ImageDraw.Draw(img)

draw.text((200, 300), text, font=font, fill=(255, 0, 0))

img = np.array(img)

frame = img

cv2.imshow("QR code reader", frame)

cv2.waitKey(1000)

continue

else:

print('학생이 아닙니다.')

text = "학생이 아닙니다."

img = frame

img = Image.fromarray(img)

draw = ImageDraw.Draw(img)

draw.text((200, 300), text, font=font, fill=(255, 0, 0))

img = np.array(img)

frame = img

cv2.imshow("QR code reader", frame)

cv2.waitKey(1000)

continue

else:

flag = 0

# 이미지 창에 보여주기

cv2.imshow("QR code reader", frame)

#if flag:

#time.sleep(1)

# 'q' 키를 누르면 종료

if cv2.waitKey(1) & 0xFF == ord('q'):

break

time.sleep(0.1)

# 종료

cap.release()

cv2.destroyAllWindows()

# data[].attributes.body
https://github.com/yh05071/qrcheckin/releases/download/release/output.zip

# data[].attributes.body
hongikos
hongikos

# data[].attributes.body
hongikhsserver@gmail.com
esp_8266

# data[].attributes.body
hongikrobot@gmail.com
esp_8266

# data[].attributes.body
http://127.0.0.1:8000/

# data[].attributes.headline
장고 QR코드 생성기 인도인

# data[].attributes.subject
장고 QR코드 생성기 인도인

# data[].attributes.body
https://youtu.be/hsgnSyLWEX0

# data[].attributes.attachment_link.title
QR code generator using Python Django | Generate real time QR code | Django channels project

# data[].attributes.body
qrcode

# data[].attributes.body
https://forms.gle/iZ9AijGbRHM6hV4BA

# data[].attributes.attachment_link.title
2023 로봇 동아리 활동 기록

# data[].attributes.attachment_link.description
나중에 생기부 기록하는 근거 자료로 활용합니다.

# data[].attributes.body
from datetime import datetime

import cv2

from pyzbar.pyzbar import decode

from oauth2client.service_account import ServiceAccountCredentials

import gspread

import time

from time import localtime

#명렬표 불러오기

scope = [

"https://spreadsheets.google.com/feeds",

"https://www.googleapis.com/auth/drive",

]

json_key_path1 = "C:/Users/hongik/Documents/qr_checkin/qr.json" # JSON Key File Path

json_key_path2 = "C:/Users/hongik/Documents/qr_checkin/qr_input.json"

credential1 = ServiceAccountCredentials.from_json_keyfile_name(json_key_path1, scope)

gc1 = gspread.authorize(credential1)

credential2 = ServiceAccountCredentials.from_json_keyfile_name(json_key_path2, scope)

gc2 = gspread.authorize(credential2)

spreadsheet_url1 = "https://docs.google.com/spreadsheets/d/1IMJK2dUZvAHWBEmCO2-U6w_i6BlMHPeeWbxfGDgORSo/edit?usp=sharing"

spreadsheet_url2 = "https://docs.google.com/spreadsheets/d/1FzeHKxmETsF_adx3hmeayIbFKMny4EI2OwBkeklw-EY/edit#gid=0"

doc1 = gc1.open_by_url(spreadsheet_url1)

doc2 = gc2.open_by_url(spreadsheet_url2)

#당일의 요일을 가져옴

weeknum = datetime.today().weekday()

weekday = ""

if weeknum == 0:

weekday = "월요일"

elif weeknum == 1:

weekday = "화요일"

elif weeknum == 2:

weekday = "수요일"

elif weeknum == 3:

weekday = "목요일"

elif weeknum == 4:

weekday = "금요일"

elif weeknum == 5:

weekday = "토요일"

elif weeknum == 6:

weekday = "일요일"

sheet1 = doc1.worksheet(weekday)

sheet2 = doc2.worksheet("시트1")

# B열의 전체 데이터를 가져옴

column_b = sheet1.col_values(2)

# 노트북 카메라 캡처

cap = cv2.VideoCapture(0)

while True:

# 프레임 읽기

ret, frame = cap.read()

# QR 코드 디코딩

decoded_data = decode(frame)

# 디코딩된 QR 코드 정보 출력

if decoded_data:

인식결과 = decoded_data[0].data.decode()

결과 = 인식결과[0:6]

시간 = int(인식결과[9:20])

현재시간 = int(time.time())

tm = localtime(현재시간)

시간차이=현재시간-시간

연도 = tm.tm_year

달 = tm.tm_mon

일 = tm.tm_mday

시 = tm.tm_hour

분 = tm.tm_min

초 = tm.tm_sec

print(시간, 현재시간)

if 결과 in column_b :

if 시간차이<=60 :

print('통과입니다!')

row = [결과, 연도, 달, 일, 시, 분, 초]

sheet2.append_row(row)

break

else:

print("만료된 QR코드입니다")

else:

print('학생이 아닙니다.')

# 이미지 창에 보여주기

cv2.imshow("QR code reader", frame)

# 'q' 키를 누르면 종료

if cv2.waitKey(1) & 0xFF == ord('q'):

break

# 종료

cap.release()

cv2.destroyAllWindows()

# data[].attributes.headline
미티어 자바스크립트 프로그램

# data[].attributes.subject
미티어 자바스크립트 프로그램

# data[].attributes.body
Webstorm

# data[].attributes.body
https://docs.meteor.com/install.html

# data[].attributes.attachment_link.description
You need to install the Meteor command line tool to create, run, and manage your Meteor.js projects. Check the prerequisites and follow the installation process below.

# data[].attributes.body
https://github.com/Pravda331/kotlin-QRweb/releases/download/main/app-release.apk

# data[].attributes.body
https://youtu.be/7dX1yYcDBg8