Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf8 -*-
- import RPi.GPIO as GPIO
- import MFRC522
- import signal
- import time
- import os
- GPIO.setmode(GPIO.BOARD)
- # BUZZER NOTIFICA
- GPIO.setup(15, GPIO.OUT)
- # PIN LED
- GPIO.setup(16, GPIO.OUT) #LED ROSSO
- GPIO.setup(18, GPIO.OUT) #LED VERDE
- GPIO.setup(7, GPIO.IN) # button pin setup
- #INSERIMENTO 1, RIMOZIONE 0
- mode_dispensa = 0
- GPIO.output(16, False)
- GPIO.output(18, True)
- def my_callback(signal):
- global mode_dispensa
- if mode_dispensa==0:
- mode_dispensa=1
- GPIO.output(16, True)
- GPIO.output(18, False)
- else:
- mode_dispensa=0
- GPIO.output(16, False)
- GPIO.output(18, True)
- GPIO.add_event_detect(7, GPIO.FALLING, callback=my_callback, bouncetime=300)
- continue_reading = True
- # Capture SIGINT for cleanup when the script is aborted
- def end_read(signal,frame):
- global continue_reading
- print "Ctrl+C captured, ending read."
- continue_reading = False
- GPIO.cleanup()
- # Hook the SIGINT
- signal.signal(signal.SIGINT, end_read)
- # Create an object of the class MFRC522
- MIFAREReader = MFRC522.MFRC522()
- # Welcome message
- print "Welcome to the MFRC522 data read example"
- print "Press Ctrl-C to stop."
- # This loop keeps checking for chips. If one is near it will get the UID and authenticate
- while continue_reading:
- # Scan for cards
- (status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)
- # Get the UID of the card
- (status,uid) = MIFAREReader.MFRC522_Anticoll()
- # If we have the UID, continue
- if status == MIFAREReader.MI_OK:
- # Print UID
- # This is the default key for authentication
- key = [0xFF,0xFF,0xFF,0xFF,0xFF,0xFF]
- # Select the scanned tag
- MIFAREReader.MFRC522_SelectTag(uid)
- # Authenticate
- status = MIFAREReader.MFRC522_Auth(MIFAREReader.PICC_AUTHENT1A, 8, key, uid)
- # Check if authenticated
- if status == MIFAREReader.MI_OK:
- #print "It now looks like this:"
- # Check to see if it was written
- backdata = MIFAREReader.MFRC522_Read(8)
- #print "\n"
- # Turn Buzzer on
- GPIO.output(15, True)
- # Wait 1 second
- time.sleep(0.3)
- # Turn Buzzer off
- GPIO.output(15, False)
- #print backdata
- contenuto_tag = ''.join(map(chr, filter(None, backdata)))
- os.system("php %s/../trigger_RFID.php %s %d"%(os.path.dirname(os.path.abspath(__file__)),contenuto_tag, mode_dispensa))
- MIFAREReader.MFRC522_StopCrypto1()
- else:
- print "Authentication error"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement