Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ===== Accès au relais avec puces RFID ===== Cela pourrait être par exemple l'édition d'un log, ou l'ouverture d'une gâche électrique pour ouvrir l'armoire de votre installation. A vous d'ajouter des actions en dessous de ''print'' pour qu'elles soient exécutées. Vous pouvez ajouter autant d'accès que vous le souhaitez, en insérant des lignes: ''elif ss= xyzxyzxyz'', où ''xyzxyzxyz'' est le code de votre puce. {{:fr:documents:shopping.jpeg?nolink&300|}} Le lecteur RFID est un lecteur USB qui se trouve par exemple chez [[https://www.amazon.fr/Lecteur-Proximité-125KHz-Contrôle-Sécurité/dp/B00HSDOTTU?ie=UTF8&creative=22698&creativeASIN=B00HSDOTTU&hvdev=c&hvnetw=g&hvqmt=&linkCode=df0&ref_=asc_df_B00HSDOTTU33565014&tag=googshopfr-21 |amazon]] <code python | read_rfid.py> # source code on https://www.raspberrypi.org/forums/viewtopic.php?f=45&t=55100 import sys hid = { 4: 'a', 5: 'b', 6: 'c', 7: 'd', 8: 'e', 9: 'f', 10: 'g', 11: 'h', 12: 'i', 13: 'j', 14: 'k', 15: 'l', 16: 'm', 17: 'n', 18: 'o', 19: 'p', 20: 'q', 21: 'r', 22: 's', 23: 't', 24: 'u', 25: 'v', 26: 'w', 27: 'x', 28: 'y', 29: 'z', 30: '1', 31: '2', 32: '3', 33: '4', 34: '5', 35: '6', 36: '7', 37: '8', 38: '9', 39: '0', 44: ' ', 45: '-', 46: '=', 47: '[', 48: ']', 49: '\\', 51: ';' , 52: '\'', 53: '~', 54: ',', 55: '.', 56: '/' } hid2 = { 4: 'A', 5: 'B', 6: 'C', 7: 'D', 8: 'E', 9: 'F', 10: 'G', 11: 'H', 12: 'I', 13: 'J', 14: 'K', 15: 'L', 16: 'M', 17: 'N', 18: 'O', 19: 'P', 20: 'Q', 21: 'R', 22: 'S', 23: 'T', 24: 'U', 25: 'V', 26: 'W', 27: 'X', 28: 'Y', 29: 'Z', 30: '!', 31: '@', 32: '#', 33: '$', 34: '%', 35: '^', 36: '&', 37: '*', 38: '(', 39: ')', 44: ' ', 45: '_', 46: '+', 47: '{', 48: '}', 49: '|', 51: ':' , 52: '"', 53: '~', 54: '<', 55: '>', 56: '?' } #hidraw1 = port of USB reader fp = open('/dev/hidraw1', 'rb') try: while 1: ss = "" shift = False done = False while not done: ## Get the character from the HID buffer = fp.read(8) for c in buffer: if ord(c) > 0: ## 40 is carriage return which signifies ## we are done looking for characters if int(ord(c)) == 40: done = True break; ## If we are shifted then we have to ## use the hid2 characters. if shift: ## If it is a '2' then it is the shift key if int(ord(c)) == 2 : shift = True ## if not a 2 then lookup the mapping else: ss += hid2[ int(ord(c)) ] shift = False ## If we are not shifted then use ## the hid characters else: ## If it is a '2' then it is the shift key if int(ord(c)) == 2 : shift = True ## if not a 2 then lookup the mapping else: ss += hid[ int(ord(c)) ] print ss if ss == "0006322501": print "BONJOUR F5UII" elif ss == "0004686024": print "BONJOUR F8ASB" elif ss == "0005746718": print "BONJOUR F4BKE" else: print "VOUS N'ETES PAS AUTORISE" except KeyboardInterrupt: print "Caught interrupt, exiting..." print "Unexpected error:", sys.exc_info()[0] raise </code> fr/rfid_access.txt Dernière modification : 2020/07/05 17:12de 127.0.0.1