Saturday, December 10, 2011 6:28 PMGood morning to all.
I'm creating an application in labview for controlling an RFID reader. The RFID reader that I'm using is the Impinj Speedway R420, while the tags are simple near field tags. The objective of this application is the calculation of the position of various RFID tags based on the RSSI. First of all I'd like the reader to send to the algorithm that calculates the position only one reading for each tag and for each antenna per second. I try to explain the results obtained so far.
My application has an outer infinite while loop (that I can stop with the exit button), in which there is an event structure that intercepts the click of the various buttons of the application. The two main buttons are: the start button that enables the TCP connection with the reader and that adds the rospec, and the inventory button that enables the rospec. After pressing the start button the application can, of course, receive the responses to the "delete rospec" and to the "add rospec" messages, and is able to request and receive the configuration of the reader. By the press of the inventory button, the reader is able to receive packets related to the "reader event notifications" and to the readings of detected tags.
As mentioned earlier, my goal is to have, for each second, a single reading of each tag for each antenna. For example:
- id_tag 3 id_antenna 5 time 10sec
- id_tag 3 id_antenna 3 time 10sec
- id_tag 2 id_antenna 4 time 10sec
- id_tag 6 id_antenna 2 time 11sec
- id_tag 7 id_antenna 2 time 11sec
To achieve this result with only two tags, I tried to set the rospec properly. I set the parameter "AISpecStopTriggerType" to "observation Tags", while the parameter "TriggerType" to "Upon seeing N tags observations, or timeout." I set N to 2 and the timeout to 1000msec. Finally, I set the parameter "ROReportTrigger" to "Upon N TagReportData Parameters or End of ROSpec" and N = 2. With this configuration, if an antenna reads two tags, it correctly displays a single reading for each tag, per second. But if I bring near the antenna only one tag, the application displays two readings of the same tag, per second. How do I properly set rospec?
Thank you and sorry for the length of the post (and for my english).
P.S. I saw that my reader implements LLRP Protocol version 1.0.1. In version 1.1, I saw some triggers that seem to be most appropriate to my goal. Could I do a firmware upgrade to take advantage of the new protocol version?
- Changed Type Ben Cline1MVP, Moderator Tuesday, December 13, 2011 11:00 PM asks a question
Tuesday, December 13, 2011 11:00 PMModerator
For any sort of firmware questions I would talk to your hardware vendor about it, I am sure the protocol support can vary based on each device.
If this answers your question, please use the "Answer" button to say so | Ben Cline
Monday, December 19, 2011 3:04 PM
Come on over the the LabVIEW forums (ni.com/forums) and ask your question there. We will be able to help you architect your project, code things up, and work through any debug issues you might have. One of the first things people will ask you is if there is a driver for your RFID reader but we'll save that till you post your question there so we can more efficiently help. Cheers!
LabVIEW Product Manager