23 lines
634 B
Python
23 lines
634 B
Python
#!/usr/bin/env python3
|
|
import subprocess
|
|
import os
|
|
import re
|
|
import sys
|
|
|
|
def read_uid():
|
|
os.environ['LIBNFC_DRIVER'] = 'pn532_i2c'
|
|
os.environ['LIBNFC_DEVICE'] = 'pn532_i2c:/dev/i2c-1'
|
|
|
|
try:
|
|
result = subprocess.run(['nfc-list'], capture_output=True, text=True, timeout=5)
|
|
if result.returncode == 0:
|
|
match = re.search(r'UID\s*\(NFCID1\):\s*([0-9A-Fa-f\s]+)', result.stdout)
|
|
if match:
|
|
return match.group(1).strip().replace(' ', '').upper()
|
|
except:
|
|
pass
|
|
return None
|
|
|
|
if __name__ == "__main__":
|
|
uid = read_uid()
|
|
print(uid if uid else "000000") |