Parallax 28440 RFID R/W Module not working as expected
rabies
Posts: 3
hey all, first time/long time/great to be here and all that jazz.
So I have a 28440 module that I've hooked up to my pi (version 3) and I have yet to see anything resembling a red led go on. I've seen the green turn off, but no red. I'm also unable to get any data from the module. TX appears to work because I can get the LED to go off and on when attempting to read the tag serial, but the rx buffer is empty. I read here and elsewhere for something remotely resembling my situation without any help so it's time to post. I've got a pi3 with the GPIO ribbon attached to the breadboard. Jumpers going from 5v DC to vcc, gnd to gnd, tx to sin, rx to sout. Not my first rodeo, I can at least follow those basic instructions. Since I have to do things the hard way and it seems nobody here uses python for these modules, that's what I'm using in conjunction with pyserial. Below is a snippet of what I'm attempting.
So I have a 28440 module that I've hooked up to my pi (version 3) and I have yet to see anything resembling a red led go on. I've seen the green turn off, but no red. I'm also unable to get any data from the module. TX appears to work because I can get the LED to go off and on when attempting to read the tag serial, but the rx buffer is empty. I read here and elsewhere for something remotely resembling my situation without any help so it's time to post. I've got a pi3 with the GPIO ribbon attached to the breadboard. Jumpers going from 5v DC to vcc, gnd to gnd, tx to sin, rx to sout. Not my first rodeo, I can at least follow those basic instructions. Since I have to do things the hard way and it seems nobody here uses python for these modules, that's what I'm using in conjunction with pyserial. Below is a snippet of what I'm attempting.
#!/usr/bin/python import serial from time import sleep ser = serial.Serial('/dev/serial0', 9600, timeout=5) ser.write('!RW') ser.write('\x01') sleep(2) ser.write('32') if ser.in_waiting > 0: res_code = ser.read(1) if res_code == '\x01': tag_id = to_hex(ser.read(4)) print('[*] Tag ID is: ' + tag_id) else: print('[-] Great you broke it')
Comments
Now the last bit I think might be messing with me and I stole some code from someone that already reinvented the wheel in python for this module, but still come out with similar results. His code is almost identical to mine except for taking the raw input from a prompt for address to read putting it into the addr variable and then sending it over like below, but with the same result and still no red LED:
I don't supposed there's any sort of diagnostic command I could throw at this thing which isn't outlined in the comm protocol doc to see if the module is hosed or not? Probably a long shot, I know.
Not sure what if anything is returned if unexpected data/commands are sent. The data sheet lists seven possible error codes, and I would expect a status value of "0x03" to be returned, but cannot say for sure.