mirror of
https://github.com/brmlab/brmdoor_libnfc.git
synced 2025-06-08 00:24:00 +02:00
Added timeouts so that reader doesn't bombard with UIDs. Changed queue length to 1 to make it block.
This commit is contained in:
parent
8f41b868a0
commit
b1c569e86f
1 changed files with 8 additions and 3 deletions
|
@ -4,6 +4,7 @@ import sys
|
||||||
import threading
|
import threading
|
||||||
import Queue
|
import Queue
|
||||||
import logging
|
import logging
|
||||||
|
import time
|
||||||
|
|
||||||
from binascii import hexlify
|
from binascii import hexlify
|
||||||
|
|
||||||
|
@ -31,9 +32,11 @@ class NfcThread(threading.Thread):
|
||||||
try:
|
try:
|
||||||
uid_hex = hexlify(self.nfc.scanUID())
|
uid_hex = hexlify(self.nfc.scanUID())
|
||||||
logging.info("Got UID %s" % uid_hex)
|
logging.info("Got UID %s" % uid_hex)
|
||||||
|
if len(uid_hex) > 0:
|
||||||
self.uidQueue.put(uid_hex)
|
self.uidQueue.put(uid_hex)
|
||||||
|
time.sleep(0.3)
|
||||||
except NFCError, e:
|
except NFCError, e:
|
||||||
logging.warn("Failed to wait for RFID card", e)
|
logging.warn("Failed to wait for RFID card: %s", e)
|
||||||
|
|
||||||
|
|
||||||
class UnlockThread(threading.Thread):
|
class UnlockThread(threading.Thread):
|
||||||
|
@ -61,14 +64,16 @@ class UnlockThread(threading.Thread):
|
||||||
|
|
||||||
if record is None:
|
if record is None:
|
||||||
logging.info("Unknown UID %s", uid_hex)
|
logging.info("Unknown UID %s", uid_hex)
|
||||||
|
time.sleep(1)
|
||||||
else:
|
else:
|
||||||
logging.info("Unlocking for %s", record)
|
logging.info("Unlocking for %s", record)
|
||||||
|
time.sleep(1)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG,
|
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG,
|
||||||
format="%(asctime)s %(levelname)s %(message)s [%(pathname)s:%(lineno)d]")
|
format="%(asctime)s %(levelname)s %(message)s [%(pathname)s:%(lineno)d]")
|
||||||
|
|
||||||
uidQueue = Queue.Queue(512)
|
uidQueue = Queue.Queue(1)
|
||||||
#TODO use SafeConfigParser to get actual config data
|
#TODO use SafeConfigParser to get actual config data
|
||||||
|
|
||||||
nfcThread = NfcThread(uidQueue)
|
nfcThread = NfcThread(uidQueue)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue