Random NFC Tag Reader

  • Share this:

Code introduction


This function reads the data from a random tag on the specified NFC device. It first scans for all available tags on the device, filters them by type, and then randomly selects one from the filtered list to read its data.


Technology Stack : PyNFC

Code Type : Function

Code Difficulty : Intermediate


                
                    
import random

def read_random_tag(nfc_device, tag_type):
    """
    This function reads a random tag from the NFC device and returns its data.

    Args:
    nfc_device (NFCDevice): The NFC device object.
    tag_type (str): The type of tag to read.

    Returns:
    str: The data read from the tag.
    """
    # Get all available tags
    tags = nfc_device.scan_for_tags()
    
    # Filter tags by type
    filtered_tags = [tag for tag in tags if tag['type'] == tag_type]
    
    # Select a random tag from the filtered list
    if filtered_tags:
        random_tag = random.choice(filtered_tags)
        # Read the tag data
        data = nfc_device.read_tag(random_tag)
        return data
    else:
        return "No tags of the specified type found."                
              
Tags: