Search code examples
pythonstringlistrfid

How to convert a string to list using python?


I am working with RC-522 RFID Reader for my project. I want to use it for paying transportation fee. I am using python and used the code in: https://github.com/mxgxw/MFRC522-python.git

On python script Read.py, Sector 8 was read with the use of this code:

# Check if authenticated
    if status == MIFAREReader.MI_OK:
        MIFAREReader.MFRC522_Read(8) <---- prints the sector 8
        MIFAREReader.MFRC522_StopCrypto1()
    else:
        print "Authentication error"

The output of this was:

Sector 8 [100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

So that last part(Sector 8 [100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), I convert it to string. I want that to be a list but I can't. Tried to put it on a variable x and use x.split() but the output when I execute print(x) is "None".

x = str(MIFAREReader.MFRC22_READ(8))
x = x.split()
print x #PRINTS ['NONE']

I want it to be like this:

DATA = [100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

so that I can use the sum(DATA) to check for balance, and I can access it using indexes like DATA[0]

Thanks a lot!!


Solution

  • Follow these steps:

    1. Open MFRC522.py >> header file for RFID Reader

      vi MFRC522.py

      look for function

    def MFRC522_Read(self, blockAddr)

    add this line return backData at the end of function.

    Save it.

    1. In read() program, call it like

    DATA=(MIFAREReader.MFRC522_Read(8)) print 'DATA :',DATA

    I hope this solves the problem.