ThingMagic Astra [M5e embed module] can't read data

Forums Forums General Discussions ThingMagic Astra [M5e embed module] can't read data

Tagged: 

This topic contains 11 replies, has 2 voices, and was last updated by  Greg Pitner 7 months, 2 weeks ago.

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #1344

    Gatis
    Community Member
    • ★★★★

    Hello,

    I am using ThinkMagic Astra reader [reader are using M5 module].

    I am trying read RFM3200 RFID tag with temperature sensore data, but in user manual MercuryAPI code do not work.

    I just changed one code line, form com port to network protocol ‘rfl’.

    Do you have any demo app for this module how to read your tag data and finnaly get tmeperature data?

    Hope anybody can help,

    Gatis.

    0
    #1345

    Gatis
    Community Member
    • ★★★★

    I add some infomration:

    I am using -> “QV5MERCURY5E” – Astro [old – not ex] RFID reader.

    My code looks like this – I am using C#

    Reader r = Reader.Create(“rql://10.0.0.101”);
    r.Connect();
    r.Transport += r.SimpleTransportListener;
    string str = “1”;
    int[] antennaList = Array.ConvertAll<string, int>(str.Split(‘,’), int.Parse);

    TagOp readData = new Gen2.ReadData(Gen2.Bank.USER, 0x2, 1);
    SimpleReadPlan readPlan = new SimpleReadPlan(new int[] { 1 }, TagProtocol.GEN2, null, readData, true, 1000);

    r.ParamSet(“/reader/read/plan”, readPlan);

    TagReadData[] tagReadsFilter = r.Read(75);

    foreach (TagReadData tr in tagReadsFilter)
    {
    Console.WriteLine(tr.ToString());
    if (0 < tr.Data.Length)
    {
    Console.WriteLine(ByteFormat.ToHex(tr.Data, “”, ” “));
    }
    Console.WriteLine(” Embedded read data length:” + tr.Data.Length + ” ” + tr.EpcString);
    }

     

    And I am getting no response, I added trace listener, and its output is:

    TX: “RESET”; (timeout=5000ms)
    RX: “”; (timeout=5000ms)
    TX: “DECLARE mapic1 CURSOR FOR SELECT antenna_id,read_count,id,frequency,dspmicros,protocol_id,lqi,data,metadata,phase FROM tag_id WHERE protocol_id=’GEN2′ AND (antenna_id=1) AND mem_bank=3 AND block_count=1 AND block_number=2 SET time_out=75”; (timeout=5000ms)
    RX: “”; (timeout=5000ms)
    TX: “FETCH mapic1”; (timeout=5000ms)
    RX: “”; (timeout=5075ms)
    TX: “RESET”; (timeout=5000ms)
    RX: “”; (timeout=5000ms)

     

    Plz help to understand what I am doing wrong.

     

    0
    #1346

    Greg Pitner
    RFMicron Team Member
    • ★★★★

    Hi Gatis,

    Please try this code after connecting to your reader:

    // Uncomment line below if firmware permits setting T4 value.
    // r.ParamSet(“/reader/gen2/t4”, 3000);

    Gen2.Select tempSelect = new Gen2.Select(false, Gen2.Bank.USER, 0xE0, 0, new
    byte[0]);
    TagOp tempRead = new Gen2.ReadData(Gen2.Bank.RESERVED, 0xE, 1);
    SimpleReadPlan readPlan = new SimpleReadPlan(new int[] { 1 },
    TagProtocol.GEN2, tempSelect, tempRead, 100);
    r.ParamSet(“/reader/read/plan”, readPlan);
    TagReadData[] tempReadResults = r.Read(75);
    foreach (TagReadData result in tempReadResults)
    {
    string EPC = result.EpcString;
    string frequency = result.Frequency.ToString();
    string tempCodeHex = ByteFormat.ToHex(result.Data, “”, “”);
    int tempCode = Convert.ToInt32(tempCodeHex, 16);
    // Codes outside frequency range should be ignored.
    if (tempCode > 1000 && tempCode < 3500)
    Console.WriteLine(“EPC: ” + EPC + ” Frequency (kHz): ” + frequency + ”
    Temperature Code: ” + tempCode);
    }

    Our application note AN006 also contains information useful for temperature measurements. I hope this gets you started, but let us know if not.

    0
    #1347

    Gatis
    Community Member
    • ★★★★

    Hello,

    1) Astra do not support T4

    2) Code do not work, after run code I get error –> Error 0100: syntax error at ‘x’

     

    What can I do? Im despered.

    0
    #1348

    Greg Pitner
    RFMicron Team Member
    • ★★★★

    Is your compiler telling you what line the syntax error is occurring on?

    Was your original program able to read EPC codes from sensors, and just couldn’t read temperature? Or did it not read anything at all?

    0
    #1349

    Gatis
    Community Member
    • ★★★★

    Line is this:

    Gen2.Select tempSelect = new Gen2.Select(false, Gen2.Bank.USER, 0xE0, 0, new
    byte[0]);

     

    Its read EPC, but problem is, if I add specific TAG memory location, then it dont read anything

    0
    #1350

    Greg Pitner
    RFMicron Team Member
    • ★★★★

    That’s strange. That line compiles without problems for me.

    Can you read the Sensor Code from the tag? Doing so does not require the Select command where you’re getting the error, so it’s a little easier than reading temperature. The code for reading the Sensor Code is also found in application note AN002.

    If you can’t read the Sensor Code, then some deeper problem is happening, and we may have to address the issue offline.

    0
    #1351

    Gatis
    Community Member
    • ★★★★

    Sorry my mistake, not sensore code but temperature code, that need select comand. Without temperature code I cannot calculate temperature. and RRSI as well.

    Maybe ASTRA reader need ‘open’ or somthing else do with reader parameters.

    0
    #1352

    Greg Pitner
    RFMicron Team Member
    • ★★★★

    My suggestion was to try to read the Sensor Code as a first step — even though your final goal is to read temperature. Reading the Sensor Code is simpler, so that might help you isolate the problem.

    0
    #1353

    Gatis
    Community Member
    • ★★★★

    I just wanted take point about select command.

    So at this point no I cannt read sensore code, if i set TAG memory location parameter it wont work, if i leav simpleReadPlan empty without memory location it send back tag EPC.

    Thats my progress…

    0
    #1354

    Gatis
    Community Member
    • ★★★★

    SO in first post you see my code,

    I am doing something wrong, or just i buy these temoerature tags for nothing u guest, becouse I dont know where is problem.

    0
    #1355

    Greg Pitner
    RFMicron Team Member
    • ★★★★

    To answer your question, in your original code the line:
    TagOp readData = new Gen2.ReadData(Gen2.Bank.USER, 0x2, 1);
    is wrong. It should be
    TagOp readData = new Gen2.ReadData(Gen2.Bank.RESERVED, 0xE, 1);

    But, that does not explain the syntax error on the Select command, and it does not explain why you cannot seem to read from any tag memory locations. And if the corrected code I sent doesn’t work either, then that is not the root problem.

    Since you can’t seem to read any data at all, maybe there is something wrong with your reader. Do you have any non-RFMicron tags? You could test your code’s ability (and your reader’s ability) to read from tag memory by simply reading from, for example, word 0 from the TID bank of a standard UHF tag. If you can do that, then you know your code for reading from tag memory is correct, and you can work forward from there.

    0
Viewing 12 posts - 1 through 12 (of 12 total)

You must be logged in to reply to this topic.

Axzon (formerly RFMicron)

3700 N. Capital of Texas Hwy
Suite 570
Austin, TX 78746
Tel: (512) 535-4647
Axzon.com