#!/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")