of course ‘tmr:///dev/ttyUSB0’ is not working… the Nano is connected serial as we exchanged before.
Yes, you are right but, I tried all the options listed…
‘tmr:///dev/ttyUSB0’
‘tmr:///dev/ttyS0/’
‘tmr:///dev/ttySerial0/’
‘tmr:///dev/ttyS1/’
‘tmr:///dev/ttySerial1/’
‘tmr:///comx*’…
Every time I get an error… “Error connecting reader: Not such file or directory”.
Are you sure about the Power from Pi3 is enough ???
Please let me know If I am missing any configuration
In order to cross-check, I connected the SparkFun Simultaneous RFID Reader with the Arduino.
While I connected with Arduino… all the connections were correct, Upload successfully.
I use the example code Provided by Sparkfun Arduino library ----> Example1_Constant Read.
Please see the attached images. I am providing use input, But it. not moving to the next Serial. print… as mentioned in Photo.
Again concerned about whether the Power supply from Arduino 5V is enough.??
As long as you select 500dbm it worked with me all the time. But with 500bdm you need to put the tags nearly on-top-off the onboard antenna.
For the raspberryPI, double check in the instructions I included earlier (disable BT and disable console to serial). The device is called /dev/serial0 or /dev/serial1 (do ls /dev)
Yes the tag is stick to antenna as showed in above photos.
Yes you can see in this attached image. BT is disable and serial console is off.
Is there any other settings/ configs we can check ???
Even I provided eternal 5V dc, same results …
rohan.1290:
In order to cross-check, I connected the SparkFun Simultaneous RFID Reader with the Arduino.While I connected with Arduino… all the connections were correct, Upload successfully.
I use the example code Provided by Sparkfun Arduino library ----> Example1_Constant Read.
Please see the attached images. I am providing use input, But it. not moving to the next Serial. print… as mentioned in Photo.
Again concerned about whether the Power supply from Arduino 5V is enough.??
In this case, what do you thing ???
What position is the UART switch in when on the Uno?
Do you have stacking headers installed so that all the pins connect between the shield and Uno? If not, what pins are you connecting?
I try with Both switch positions. SW and HW
I don’t have stacking headers installed, I just connect using jumper wires…
I use PIN 2 and 3 of Arduino UNO to Rx and Tx of Nano(Next to Buzzer), Not FTDI…
But I think all connection is good, bacause I try with different wiring and if it’s wrong, program doesn’t cometo this stage…
See the whole program…
#include <SoftwareSerial.h>
SoftwareSerial softSerial(2, 3); //RX, TX
#include “SparkFun_UHF_RFID_Reader.h” //Library for controlling the M6E Nano module
RFID nano; //Create instance
void setup()
{
Serial.begin(115200);
while (!Serial); //Wait for the serial port to come online
if (setupNano(38400) == false) //Configure nano to run at 38400bps
{
Serial.println(F(“Module failed to respond. Please check wiring.”));
while (1); //Freeze!
}
nano.setRegion(REGION_NORTHAMERICA); //Set to North America
nano.setReadPower(500); //5.00 dBm. Higher values may caues USB port to brown out
//Max Read TX Power is 27.00 dBm and may cause temperature-limit throttling
Serial.println(F(“Press a key to begin scanning for tags.”));
while (!Serial.available()); //Wait for user to send a character
Serial.read(); //Throw away the user’s character
nano.startReading(); //Begin scanning for tags
}
void loop()
{
if (nano.check() == true) //Check to see if any new data has come in from module
{
byte responseType = nano.parseResponse(); //Break response into tag ID, RSSI, frequency, and timestamp
if (responseType == RESPONSE_IS_KEEPALIVE)
{
Serial.println(F(“Scanning”));
}
else if (responseType == RESPONSE_IS_TAGFOUND)
{
//If we have a full record we can pull out the fun bits
int rssi = nano.getTagRSSI(); //Get the RSSI for this tag read
long freq = nano.getTagFreq(); //Get the frequency this tag was detected at
long timeStamp = nano.getTagTimestamp(); //Get the time this was read, (ms) since last keep-alive message
byte tagEPCBytes = nano.getTagEPCBytes(); //Get the number of bytes of EPC from response
Serial.print(F(" rssi["));
Serial.print(rssi);
Serial.print(F(“]”));
Serial.print(F(" freq["));
Serial.print(freq);
Serial.print(F(“]”));
Serial.print(F(" time["));
Serial.print(timeStamp);
Serial.print(F(“]”));
//Print EPC bytes, this is a subsection of bytes from the response/msg array
Serial.print(F(" epc["));
for (byte x = 0 ; x < tagEPCBytes ; x++)
{
if (nano.msg[31 + x] < 0x10) Serial.print(F(“0”)); //Pretty print
Serial.print(nano.msg[31 + x], HEX);
Serial.print(F(" "));
}
Serial.print(F(“]”));
Serial.println();
}
else if (responseType == ERROR_CORRUPT_RESPONSE)
{
Serial.println(“Bad CRC”);
}
else
{
//Unknown response
Serial.print(“Unknown error”);
}
}
}
//Gracefully handles a reader that is already configured and already reading continuously
//Because Stream does not have a .begin() we have to do this outside the library
boolean setupNano(long baudRate)
{
nano.begin(softSerial); //Tell the library to communicate over software serial port
//Test to see if we are already connected to a module
//This would be the case if the Arduino has been reprogrammed and the module has stayed powered
softSerial.begin(baudRate); //For this test, assume module is already at our desired baud rate
while (softSerial.isListening() == false); //Wait for port to open
//About 200ms from power on the module will send its firmware version at 115200. We need to ignore this.
while (softSerial.available()) softSerial.read();
nano.getVersion();
if (nano.msg[0] == ERROR_WRONG_OPCODE_RESPONSE)
{
//This happens if the baud rate is correct but the module is doing a ccontinuous read
nano.stopReading();
Serial.println(F(“Module continuously reading. Asking it to stop…”));
delay(1500);
}
else
{
//The module did not respond so assume it’s just been powered on and communicating at 115200bps
softSerial.begin(115200); //Start software serial at 115200
nano.setBaud(baudRate); //Tell the module to go to the chosen baud rate. Ignore the response msg
softSerial.begin(baudRate); //Start the software serial port, this time at user’s chosen baud rate
delay(250);
}
//Test the connection
nano.getVersion();
if (nano.msg[0] != ALL_GOOD) return (false); //Something is not right
//The M6E has these settings no matter what
nano.setTagProtocol(); //Set protocol to GEN2
nano.setAntennaPort(); //Set TX/RX antenna ports to 1
return (true); //We are ready to rock
}
next to yellowdogs questions:
which tags do you use ?
Also before calling “setupNano(38400)” include “nano.enableDebugging(Serial);” This will show the messages exchanged with the the Nano. Please share the output you get.
Just for this test… I have dug up the old Arduino UNO. Connected as follows :
uno Nano (FTDI)
5V VCC
gnd gnd
pin2 TX0
Pin3 RXI
Put the tag on-top-off the onboard antenna
Used example1 unmodified… worked without any problems immediately!
P.s. Make sure that the “input-box” of the serial monitor is selected when pressing else nothing happens
paulvha:
next to yellowdogs questions:which tags do you use?
- I am using the tags sold by Sparkfun UHF RFID Tags - Adhesive (5 Pack)UHF RFID Tags - Adhesive (5 Pack) - WRL-20228 - SparkFun Electronics
Also before calling “setupNano(38400)” include “nano.enable debugging (Serial);” This will show the messages exchanged with the Nano. Please share the output you get.
Please see the output of the code with changes…
Also, I have made the same connections as you mentioned and the tag is touched to antenna.
What I see is that it requests the hardware and firmware versions, it sets the speed to 38400, and requests the hardware and firmware versions again. That all works.
Now it tries to set the protocol to gen2 (93 00 05). THAT fails… and any call from there on fails. If you see the same outcome every time I think the firmware on Nano is having an issue.
Try the URA (universal reader assistent on windows) from jadek/thingmagic or ask for replacement
Yes, I try the URA from jadek/thingmagic…Not showing COM…
See attached picture…
Seems like firmware issue
What USB to serial interface are you using? That’s what the software is saying it can not find.
I am using one has IC “SILABS CP2102 DCL00X 1546+”…
Figure out what COM port your Si Labs CP2102 is on and put that in the Jadac software. Otherwise the software can’t communicate with the M6E.
As I mentioned in the Above picture…it’s COM8.
Not working on Jadac, but showing in Arduino IDE
If it needs replacement, please guide me for that.
Thank you
Isn’t COM8 in the ArduinoIDE the Arduino Uno USB and not the Nano M6e directly connected with an FTDI?
No it just Nano connected via FTDI…and it’s COM8.
If I connect Arduion UNO without FTDI, it’s COM6.
I am lost a bit.
Thoughts:
Can you select voltage on your FTDI (some are set for 3v3 and that will not work)
Is the power light on ?
Do you have pictures of the M6E Nano connected to your PC ?





