![]() |
Holy crap, check out the Dangerous Things store! |
LabView project |
Post Reply
|
| Author | |
phate82
Newbie
Joined: 10 December 2011 Status: Offline Points: 4 |
Post Options
Thanks(0)
Quote Reply
Topic: LabView projectPosted: 10 December 2011 at 10:27am |
|
Good 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 etc. .. 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? |
|
![]() |
|
amal
Admin Group
Joined: 22 November 2005 Location: United States Status: Offline Points: 2060 |
Post Options
Thanks(0)
Quote Reply
Posted: 10 December 2011 at 10:34am |
|
Welcome to the forum!
Unfortunately I'm not very familiar with Impinj readers, even though I do have a Speedway sitting in my garage. My first thought would be to reduce N to 1 and get readings for all tags and do event filtering on the application side. If you have concerns over bandwidth or processing limitations on the application side, you might contact Impinj support. I also see a firmware download section on their site, so I imagine you could update the firmware of your reader. Access to the support portal and forums is secured so you will have to fill out a form and ask for an account.
|
|
|
Amal ;)
www.amal.net |
|
![]() |
|
phate82
Newbie
Joined: 10 December 2011 Status: Offline Points: 4 |
Post Options
Thanks(0)
Quote Reply
Posted: 10 December 2011 at 11:35am |
|
Thanks for the quick response and for the welcome!
I also thought of setting N to 1, leaving the timeout to 1000ms. Unfortunately, in this way, the reader makes only a single reading of one tag every second. If I bring two tags near antenna, the application displays, every second, only one of the two tags (not always the same, probably the one who won the contention). If I don't choose any stop trigger by setting the parameter "AISpecStopTriggerType" and the timeout to "null", the application displays the reading with too high frequency, making difficult an application side filtering. In version 1.1 of the LLRP protocol it is possible to set the "TriggerType" parameter to "Upon seeing N UNIQUE tags observations, or timeout.". I think this would be a solution. In your opinion, by updating the firmware of the reader can I automatically get the new version of LLRP Protocol? Thanks again for your help. |
|
![]() |
|
amal
Admin Group
Joined: 22 November 2005 Location: United States Status: Offline Points: 2060 |
Post Options
Thanks(0)
Quote Reply
Posted: 10 December 2011 at 11:41am |
|
Ahh I see, so N is a way of limiting the number of tags IDs to return, but not necessarily unique tag IDs (some could be duplicates)... so if you specified N = 5 and had two tags in the field, you might get;
TAG1 TAG1 TAG2 TAG2 TAG1 Given that situation, it sounds like you may need to set N to a higher number and do de-duplication inside your app. I believe if you find a firmware release for your reader that includes a newer version of LLRP, then I would definitely update your reader device. It sounds like the new TriggerType is just what you're looking for. I would contact Impinj to find out for sure if you can upgrade the firmware in your device and get a new version of the LLRP that supports the TriggerType you're looking for. I've found their support people to be very helpful, and I've even visited their Seattle office once. They also gave me a great tour of the R&D lab. Edited by amal - 10 December 2011 at 11:42am |
|
|
Amal ;)
www.amal.net |
|
![]() |
|
phate82
Newbie
Joined: 10 December 2011 Status: Offline Points: 4 |
Post Options
Thanks(0)
Quote Reply
Posted: 12 December 2011 at 6:59am |
|
Great! You have fully understood the problem!
I contacted the Impinj to ask if I get the new version of the LLRP protocol by updating the firmware. I also asked for an account, but I have not received any response yet. I found an updated version of the firmware on a Chinese website, but I'd rather wait for a response from Impinj to be sure I can install a really official firmware. |
|
![]() |
|
phate82
Newbie
Joined: 10 December 2011 Status: Offline Points: 4 |
Post Options
Thanks(0)
Quote Reply
Posted: 13 December 2011 at 3:24pm |
|
Everything is fine.
Impinj contacted me. You were right, they are very helpful and they are supporting the resolution of my problem. Thank you so much for your help!!
|
|
![]() |
|
amal
Admin Group
Joined: 22 November 2005 Location: United States Status: Offline Points: 2060 |
Post Options
Thanks(0)
Quote Reply
Posted: 13 December 2011 at 6:25pm |
|
Great! Glad to help :)
|
|
|
Amal ;)
www.amal.net |
|
![]() |
|
Post Reply
|
|
|
Tweet
|
| Forum Jump | Forum Permissions ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum |