Esempio n. 1
0
def captue_finger(request):
    
    uart = serial.Serial("/dev/ttyUSB0", baudrate=57600, timeout=1)

    finger = adafruit_fingerprint.Adafruit_Fingerprint(uart)

    """Get a finger print image, template it, and see if it matches!"""
    
    print("Waiting for image...")

    while finger.get_image() != adafruit_fingerprint.OK:
        pass
    print("Templating...")

    if finger.image_2_tz(1) != adafruit_fingerprint.OK:
        print('Finger Not Found')        
        return save_fingerprint()
    print("Searching...")

    if finger.finger_search() != adafruit_fingerprint.OK:
        print('Finger Not Found')        
        return save_fingerprint()
    
    visitor = Visitors.objects.filter(fingerprint_1=finger.finger_id).values().first()
    print('Test', visitor)

    response = {
        'visitor': visitor,
        'status' : True,        
    }
    
    return JsonResponse(response)
Esempio n. 2
0
def initialize_sensor():
    try:
        uart = serial.Serial("/dev/ttyS0", baudrate=57600, timeout=1)
        f = adafruit_fingerprint.Adafruit_Fingerprint(uart)
        return f

    except Exception as e:
        writeError("Tela08.py - initialize_sensor() error", str(e))
        return None
Esempio n. 3
0
def initialize_sensor():
    try:
        uart = serial.Serial("/dev/ttyS0", baudrate=57600, timeout=1)
        sensor = adafruit_fingerprint.Adafruit_Fingerprint(uart)
        return sensor

    except Exception as e:
        writeError("Tela05.py - initialize_sensor() error", str(e))
        blink_led(LED_RED, 1)
        return None
Esempio n. 4
0
 def __init__(self, myserial="/dev/serial0"):
     uart = serial.Serial(myserial, baudrate=57600, timeout=1)
     self.finger = adafruit_fingerprint.Adafruit_Fingerprint(uart)
     self.found_finger = lambda x, y: None
     self.updated_templates = lambda: None
     self.unauthorized = lambda: None
     self.unauthorized_count = 0
     self.mode = "scan"
     self.get_info()
     threading.Thread(target=self.get_fingerprint, daemon=True).start()
Esempio n. 5
0
    def apagaIndex(*args):
        # This function deletes the indicated indexSensor when it's passed as argument
        try:
            uart = serial.Serial("/dev/ttyS0", baudrate=57600, timeout=1)
            sensor = adafruit_fingerprint.Adafruit_Fingerprint(uart)

            for index in args:
                sensor.delete_model(int(index))

        except Exception as e:
            writeError("Tela06.py - apagaIndex() error", str(e))
Esempio n. 6
0
def finger(request):
    
    uart = serial.Serial("/dev/ttyUSB0", baudrate=57600, timeout=1)

    finger = adafruit_fingerprint.Adafruit_Fingerprint(uart)

    """Get a finger print image, template it, and see if it matches!"""
    
    print("Waiting for image...")

    while finger.get_image() != adafruit_fingerprint.OK:
        pass
    print("Templating...")

    if finger.image_2_tz(1) != adafruit_fingerprint.OK:
        print('Finger Not Found')
        response = {'error': 'Verification Failed'}
        return JsonResponse(response)
    print("Searching...")

    if finger.finger_search() != adafruit_fingerprint.OK:
        print('Finger Not Found')
        response = {'error': 'Verification Failed'}
        return JsonResponse(response)
    employees = Employees.objects.filter(fingerprint_1=finger.finger_id).values().first()
    print('Test', employees)
        
    
    currentTime = (datetime.now() + timedelta(hours=5))
    currentDate = date.today()
    employee_id = employees['id']
    employee_faceId = employees['face_id']
    employee_image = employees['image_dir']
    employee_name = employees['first_name'] + ' ' + employees['last_name']

    save_attendance = Attendace()
    punch_in = True
    save_attendance.punch_in = currentTime
    # print(Attendace.objects.filter(employee_id=employee_id).count())
    # if( Attendace.objects.filter(employee_id=employee_id).count() ):
    #     save_attendance = Attendace.objects.get(employee_id=employee_id)
    #     save_attendance.punch_in = save_attendance['punch_in']
    #     punch_in = False

    save_attendance.employee_id = employee_id
    save_attendance.punch_out = currentTime
    save_attendance.date = currentDate

    save_attendance.save()

    response = {
        'employee_id': employee_id,
        'employee_name': employee_name,
        'employee_image': employee_image,
        'employee_faceId': employee_faceId,
        'punch_in': currentTime.strftime('%H:%M %S'),
        'date': currentDate.strftime("%B %d, %Y"),
        'punch_type': punch_in
    }
    
    return JsonResponse(response)
Esempio n. 7
0
def enroll_finger(location):
    
    uart = serial.Serial("/dev/ttyUSB0", baudrate=57600, timeout=1)
    finger = adafruit_fingerprint.Adafruit_Fingerprint(uart)

    
    print("Place finger on sensor...", end="", flush=True)    

    while True:
        i = finger.get_image()
        if i == adafruit_fingerprint.OK:
            print("Image taken")
            break
        if i == adafruit_fingerprint.NOFINGER:
            print(".", end="", flush=True)
        elif i == adafruit_fingerprint.IMAGEFAIL:
            print("Imaging error")
            return False
        else:
            print("Other error")
            return False

    print("Templating...", end="", flush=True)
    i = finger.image_2_tz(1)
    if i == adafruit_fingerprint.OK:
        print("Templated")
    else:
        if i == adafruit_fingerprint.IMAGEMESS:
            print("Image too messy")
        elif i == adafruit_fingerprint.FEATUREFAIL:
            print("Could not identify features")
        elif i == adafruit_fingerprint.INVALIDIMAGE:
            print("Image invalid")
        else:
            print("Other error")
        return False

    
    print("Remove finger")
    time.sleep(1)
    while i != adafruit_fingerprint.NOFINGER:
        i = finger.get_image()

    print("Creating model...", end="", flush=True)
    i = finger.create_model()
    print(adafruit_fingerprint.OK)
    if i == adafruit_fingerprint.OK:
        print("Created")
    else:
        if i == adafruit_fingerprint.ENROLLMISMATCH:
            print("Prints did not match")
        else:
            print("Other error")
            return False

    print("Storing model #%d..." % location, end="", flush=True)
    i = finger.store_model(location)
    if i == adafruit_fingerprint.OK:
        print("Stored")
    else:
        if i == adafruit_fingerprint.BADLOCATION:
            print("Bad storage location")
        elif i == adafruit_fingerprint.FLASHERR:
            print("Flash storage error")
        else:
            print("Other error")
        return False

    return True
Esempio n. 8
0
import serial
import adafruit_fingerprint

# import board (if you are using a micropython board)
# uart = busio.UART(board.TX, board.RX, baudrate=57600)

# If using with a computer such as Linux/RaspberryPi, Mac, Windows with USB/serial converter:
uart = serial.Serial("COM6", baudrate=57600, timeout=1)

# If using with Linux/Raspberry Pi and hardware UART:
# uart = serial.Serial("/dev/ttyS0", baudrate=57600, timeout=1)

# If using with Linux/Raspberry Pi 3 with pi3-disable-bte
# uart = serial.Serial("/dev/ttyAMA0", baudrate=57600, timeout=1)

finger = adafruit_fingerprint.Adafruit_Fingerprint(uart)

##################################################


def sensor_reset():
    """Reset sensor"""
    print("Resetting sensor...")
    if finger.soft_reset() != adafruit_fingerprint.OK:
        print("Unable to reset sensor!")
    print("Sensor is reset.")


# pylint: disable=too-many-branches
def fingerprint_check_file():
    """Compares a new fingerprint template to an existing template stored in a file