What I think is wrong:
I'm not encoding properly, to send the reader the correct command.
Any advice or places to research is greatly appreciated.
The correct bytes are just 0x56 0x0D
and it will return the firmware version e.g. 0x0A 0x58 0x0D 0x0A
The line ser.write(b'<LF>V<CR>')
should be modified into
ser.write(serial.to_bytes([0x0A 0x56 0x0D])')
.
did you get you code working? I use a FM-503 for a couple of projects I am working on and ended up here at stack looking for info on RSSI reading.
Anyway, I have a python code on my git that runs fine, reads a tag and records EPC and timestamp to a csv with a few setup options if I'm allowed to link let me know.
Otherwise you are correct that the encoding is offser.write(b'<LF>V<CR>')
should be ser.write(b'\nV\r')
So if your command looked like this ser.write(b'\nR2,0,6\r')
the return would be the TID of your RFID tag, if you put the TID into the TID decoder at gs1.org you can get your manufacturer name and then you can search the datasheet of the tag so you know what size the user memory is (if it exists).