def userEntry():
    tagdata = read()
    onlyname = mysql.getonlyName(tagdata)
    name = mysql.getuserName(tagdata)
    print(name)
    print("Hi! " +name)
    os.system(' echo " Hi ! ' + name + ' " | festival --tts ')
    lcd.clear()
    lcd.message("Hi! " +name)
    lcd.message("\n Entry!... ")    
    cmd='sudo fswebcam -d /dev/video0 -r 640x480 -S 6 /home/pi/attendance/pictures/%s_entry_%s.jpg' % (onlyname, timestp)
    os.system(cmd)
    pic1='/home/pi/attendance/users/%s.jpg' % (onlyname)
    pic2='/home/pi/attendance/pictures/%s_entry_%s.jpg' % (onlyname, timestp)
    sleep(2)
    lcd.message("\n your data was obtained")
    sleep(2)
    cmpvalue = cmpimg(pic1, pic2)
    if cmpvalue < 50:
      mysql.insertReading(name,"entry")
      print("your data was recorded")
      os.system(' echo " your data was recorded " | festival --tts ')
      lcd.clear()
      lcd.message("your data was recorded")
      print("done")
    elif cmpvalue < 50:
      print("Not a Match!")
      lcd.clear()
      lcd.message("Not a Match!")
def userLeave():
    tagdata = read()
    name = mysql.getuserName(tagdata)
    onlyname = mysql.getonlyName(tagdata)
    print(name)
    print("Hi! " +name)
    os.system(' echo " Hi ! ' + name + ' " | festival --tts ')
    lcd.clear()
    lcd.message("Hi! " +name)
    lcd.message("\n Leave!...")
    mysql.insertReading(name,"leave")
    cmd='sudo fswebcam -d /dev/video0 -r 640x480 -S 6 /home/pi/attendance/pictures/%s_leave_%s.jpg' % (onlyname, timestp)
    os.system(cmd)
    print("your data was recorded")
    lcd.clear()
    lcd.message("your data was \n recorded")
    os.system(' echo " Thanks See you Again " | festival --tts ')
Example #3
0
def readNfc(action):
    if(action==55):#7 - Incomming
        onScreen("Logging In...")
        display.lcdWriteFirstLine("Prichod...")
        display.lcdWriteSecondLine("Swipe your Card")
        cardId=read()
        logging.info("Incomming - %s",cardId)
        name = mysql.insertReading(cardId,Actions.incomming)
        display.lcdWriteSecondLine(name)
    if(action==57):#9 - outcomming
        onScreen("...")
        display.lcdWriteFirstLine("Logging out...")
        display.lcdWriteSecondLine("Swipe your Card")
        cardId=read()
        logging.info("Outcomming - %s",cardId)
        name = mysql.insertReading(cardId,Actions.outcomming)
        display.lcdWriteSecondLine(name)
    if(action==49):#1 - break start
        onScreen("Zacatek pauzy...")
        display.lcdWriteFirstLine("Pauza zacatek...")
        display.lcdWriteSecondLine("Swipe your Card")
        cardId=read()
        logging.info("Break start - %s",cardId)
        name = mysql.insertReading(cardId,Actions.breakstart)
        display.lcdWriteSecondLine(name)
    if(action==51):#3 - break end
        onScreen("Konec pauzy...")
        display.lcdWriteFirstLine("Pauza konec...")
        display.lcdWriteSecondLine("Swipe your Card")
        cardId=read()
        logging.info("Break end - %s",cardId)
        name = mysql.insertReading(cardId,Actions.breakend)
        display.lcdWriteSecondLine(name)
    if(action==53):#5 - Deletion of last inserted action
        onScreen("Delete the last entry...")
        display.lcdWriteFirstLine("Deleting...")
        display.lcdWriteSecondLine("")
        cardId=read()
        logging.info("Deleting last action - %s",cardId)
        (lastTime,lastAction)=mysql.getLastReading(cardId) or (None, None)

        if(lastTime == None or lastAction == None):
            display.lcdWriteSecondLine("Unknown Event")
            logging.info("Action not found")
            time.sleep(1)

        else:
            display.lcdWriteFirstLine("Delete Event?")
            if(lastAction==Actions.incomming):
                display.lcdWriteSecondLine("Check In")
            elif(lastAction==Actions.outcomming):
                display.lcdWriteSecondLine("Check Out")
            elif(lastAction==Actions.breakstart):
                display.lcdWriteSecondLine("Pauza zacatek")
            elif(lastAction==Actions.breakend):
                display.lcdWriteSecondLine("End of Pause?")
            a=getOneKey()
            if(a==49):#1
                onScreen("Mazu")
                logging.info(" - Deleting action %s (cas: %s)",lastAction, lastTime)
                mysql.deleteLastReading(cardId)
                display.lcdWriteSecondLine("Deleted!")
            else:
                onScreen("Not Deleted")
                logging.info(" - Deleting canceled")
                display.lcdWriteSecondLine("Not deleted!")

    #Sleep a little, so the information about last action on display is readable by humans
    time.sleep(1)
Example #4
0
def readNfc(action):
    if (action == 55):  #7 - Incomming
        onScreen("Logging In...")
        display.lcdWriteFirstLine("Prichod...")
        display.lcdWriteSecondLine("Swipe your Card")
        cardId = read()
        logging.info("Incomming - %s", cardId)
        name = mysql.insertReading(cardId, Actions.incomming)
        display.lcdWriteSecondLine(name)
    if (action == 57):  #9 - outcomming
        onScreen("...")
        display.lcdWriteFirstLine("Logging out...")
        display.lcdWriteSecondLine("Swipe your Card")
        cardId = read()
        logging.info("Outcomming - %s", cardId)
        name = mysql.insertReading(cardId, Actions.outcomming)
        display.lcdWriteSecondLine(name)
    if (action == 49):  #1 - break start
        onScreen("Zacatek pauzy...")
        display.lcdWriteFirstLine("Pauza zacatek...")
        display.lcdWriteSecondLine("Swipe your Card")
        cardId = read()
        logging.info("Break start - %s", cardId)
        name = mysql.insertReading(cardId, Actions.breakstart)
        display.lcdWriteSecondLine(name)
    if (action == 51):  #3 - break end
        onScreen("Konec pauzy...")
        display.lcdWriteFirstLine("Pauza konec...")
        display.lcdWriteSecondLine("Swipe your Card")
        cardId = read()
        logging.info("Break end - %s", cardId)
        name = mysql.insertReading(cardId, Actions.breakend)
        display.lcdWriteSecondLine(name)
    if (action == 53):  #5 - Deletion of last inserted action
        onScreen("Delete the last entry...")
        display.lcdWriteFirstLine("Deleting...")
        display.lcdWriteSecondLine("")
        cardId = read()
        logging.info("Deleting last action - %s", cardId)
        (lastTime, lastAction) = mysql.getLastReading(cardId) or (None, None)

        if (lastTime == None or lastAction == None):
            display.lcdWriteSecondLine("Unknown Event")
            logging.info("Action not found")
            time.sleep(1)

        else:
            display.lcdWriteFirstLine("Delete Event?")
            if (lastAction == Actions.incomming):
                display.lcdWriteSecondLine("Check In")
            elif (lastAction == Actions.outcomming):
                display.lcdWriteSecondLine("Check Out")
            elif (lastAction == Actions.breakstart):
                display.lcdWriteSecondLine("Pauza zacatek")
            elif (lastAction == Actions.breakend):
                display.lcdWriteSecondLine("End of Pause?")
            a = getOneKey()
            if (a == 49):  #1
                onScreen("Mazu")
                logging.info(" - Deleting action %s (cas: %s)", lastAction,
                             lastTime)
                mysql.deleteLastReading(cardId)
                display.lcdWriteSecondLine("Deleted!")
            else:
                onScreen("Not Deleted")
                logging.info(" - Deleting canceled")
                display.lcdWriteSecondLine("Not deleted!")

    #Sleep a little, so the information about last action on display is readable by humans
    time.sleep(1)
def readNfc():
    cardId = read()
    name = mysql.insertReading(cardId)
Example #6
0
def readNfc(action):
    if(action==55):#7 - Incomming
        onScreen("Prichod...")
        display.lcdWriteFirstLine("Prichod...")
        display.lcdWriteSecondLine("Prilozte kartu")
        cardId=read()
        logging.info("Incomming - %s",cardId)
        name = mysql.insertReading(cardId,Actions.incomming)
        display.lcdWriteSecondLine(name)
    if(action==57):#9 - outcomming
        onScreen("Odchod...")
        display.lcdWriteFirstLine("Odchod...")
        display.lcdWriteSecondLine("Prilozte kartu")
        cardId=read()
        logging.info("Outcomming - %s",cardId)
        name = mysql.insertReading(cardId,Actions.outcomming)
        display.lcdWriteSecondLine(name)
    if(action==49):#1 - break start
        onScreen("Zacatek pauzy...")
        display.lcdWriteFirstLine("Pauza zacatek...")
        display.lcdWriteSecondLine("Prilozte kartu")
        cardId=read()
        logging.info("Break start - %s",cardId)
        name = mysql.insertReading(cardId,Actions.breakstart)
        display.lcdWriteSecondLine(name)
    if(action==51):#3 - break end
        onScreen("Konec pauzy...")
        display.lcdWriteFirstLine("Pauza konec...")
        display.lcdWriteSecondLine("Prilozte kartu")
        cardId=read()
        logging.info("Break end - %s",cardId)
        name = mysql.insertReading(cardId,Actions.breakend)
        display.lcdWriteSecondLine(name)
    if(action==53):#5 - Deletion of last inserted action
        onScreen("Smazat posledni akci...")
        display.lcdWriteFirstLine("Mazani...")
        display.lcdWriteSecondLine("")
        cardId=read()
        logging.info("Deleting last action - %s",cardId)
        (lastTime,lastAction)=mysql.getLastReading(cardId) or (None, None)

        if(lastTime == None or lastAction == None):
            display.lcdWriteSecondLine("Akce nenalezena")
            logging.info("Action not found")
            time.sleep(1)

        else:
            display.lcdWriteFirstLine("Smazat akci?")
            if(lastAction==Actions.incomming):
                display.lcdWriteSecondLine("Prichod")
            elif(lastAction==Actions.outcomming):
                display.lcdWriteSecondLine("Odchod")
            elif(lastAction==Actions.breakstart):
                display.lcdWriteSecondLine("Pauza zacatek")
            elif(lastAction==Actions.breakend):
                display.lcdWriteSecondLine("Pauza konec")
            a=getOneKey()
            if(a==49):#1
                onScreen("Mazu")
                logging.info(" - Deleting action %s (cas: %s)",lastAction, lastTime)
                mysql.deleteLastReading(cardId)
                display.lcdWriteSecondLine("Smazano!")
            else:
                onScreen("Nemazu")
                logging.info(" - Deleting canceled")
                display.lcdWriteSecondLine("Nemazu nic!")

    #Sleep a little, so the information about last action on display is readable by humans
    time.sleep(1)
Example #7
0
def readNfc(action):
    if(action==48):#0 - Incomming
        onScreen("Logging In...")
        display.lcdWriteFirstLine("Hello..")
        onScreen("Hello..")
    
        display.lcdWriteSecondLine("Swipe your Card")
          
        onScreen('Swipe your card')
        
        uid=""
        
        while True:
        
            try:
                #GPIO.cleanup()
                mifare = nxppy.Mifare()
                uid = mifare.select()
                if uid != "": 
                    break
                #print(uid)
            except nxppy.SelectError:
        # SelectError is raised if no card is in the field.
                 pass

            time.sleep(1)

        
        
        mysql.insertReading(uid,Actions.incomming,1)
        cardcheck=mysql.checkcard(uid)
        if cardcheck==0:
            
            display.lcdWriteFirstLine("Hello.USER")
            display.lcdWriteSecondLine(uid) 
            print "Hello User, ",uid
            #print (uid)
            time.sleep(3)
	

            display.lcdWriteFirstLine("Processing...")
            display.lcdWriteSecondLine("Plz wait...")
            time.sleep(4)
            temp=input("Press any key to continue  ")
            res=0
            while True:
                res=mysql.checkamtpay(uid)
                if res!= 0 :
                    break

            print res
            display.lcdWriteFirstLine("Amount to pay : ")
            display.lcdWriteSecondLine(str(res))
            time.sleep(3)
            display.lcdWriteFirstLine("Enter pin to ")
            display.lcdWriteSecondLine("confirm")
            time.sleep(1)
            pin=""
            pin=getpass.getpass("Enter pin to confirm   ")
            pin=str(pin)
            pin=hashlib.md5(pin).hexdigest()
            bal=mysql.authenticat(uid)
            if bal[1]==pin:
            
        
                if bal[0]>=res:
            
                    mysql.payment(bal[0]-res,uid)
                    mysql.clearvalues()
                    display.lcdWriteFirstLine("Tranx Success")
                    display.lcdWriteSecondLine("Thank You !!")
                    
                    time.sleep(4)
            
                else:
                    display.lcdWriteFirstLine("Tranx failed")
                    display.lcdWriteSecondLine("Insuffient balance")
                    mysql.clearvalues()
                    time.sleep(3)


            else:
                display.lcdWriteFirstLine("Tranx failed")
                display.lcdWriteSecondLine("Wrong pin")
                mysql.clearvalues()
                time.sleep(3)




        elif cardcheck==1:
            display.lcdWriteFirstLine("Tranx failed")
            display.lcdWriteSecondLine("Invalid Card")
            mysql.clearvalues()
            time.sleep(3)

    #Sleep a little, so the information about last action on display is readable by humans
    time.sleep(1)