Tag: nfc

  • keolabs ProxiLAB Quest

    doing some #python tests GetCard SendCommand for ISO/IEC 14443 smartcards.

    • python run and trace in Quest software as well as RGPA software. disadvantage missing debugging comf
    • so moved to VS Code with python and Keolabs lib python file
    • searching for implementation file and possible dlls for c# integration
    • Poller0 PCD proximity coupling device and PICC
    • challenge is to set up full python setup outside of delivered Quest. API functions full details?

    https://diglib.tugraz.at/download.php?id=5f588b91684cf&location=browse

    https://github.com/scriptotek/pyrfidgeek/blob/61595be017fe56f1f668422c15bc50354274a310/rfidgeek/rfidgeek.py#L122

        def inventory_iso14443A(self):
            """
            By sending a 0xA0 command to the EVM module, the module will carry out
            the whole ISO14443 anti-collision procedure and return the tags found.
                >>> Req type A (0x26)
                <<< ATQA (0x04 0x00)
                >>> Select all (0x93, 0x20)
                <<< UID + BCC
            """
            response = self.issue_evm_command(cmd='A0')
    
            for itm in response:
                iba = bytearray.fromhex(itm)
                # Assume 4-byte UID + 1 byte Block Check Character (BCC)
                if len(iba) != 5:
                    logger.warn('Encountered tag with UID of unknown length')
                    continue
                if iba[0] ^ iba[1] ^ iba[2] ^ iba[3] ^ iba[4] != 0:
                    logger.warn('BCC check failed for tag')
                    continue
                uid = itm[:8]  # hex string, so each byte is two chars
    
                logger.debug('Found tag: %s (%s) ', uid, itm[8:])
                yield uid
    
                # See https://github.com/nfc-tools/libnfc/blob/master/examples/nfc-anticol.c