I’ve been developing ultra low-cost wireless sensor nodes using the RFID tag antenna as a sensing mechanism. Essentially, that involves relating a change in a physical parameter of interest to a corresponding change in the RFID tag’s electrical properties.For an LLRP compliant reader, that entails extracting quantities like log time, EPC, Channel Index, Tag Count and Peak RSSI level. For this purpose, I’ve found the LLRP Commander and associated MATLAB extensions to be an invaluable resource in seamlessly extracting the sensor-tag data for further processing.
The LLRP Commander has a useful tabular view to parse incoming RO_ACCESS_REPORT messages and display tag data as we can see in Fig 1. For example, by looking for a specific EPC we can infer if the reader is continually observing a tag over time. Similarly, by observing gross changes in the Peak RSSI, we can discern whether a change in some physical parameter is changing RFID tag antenna performance.
As an example, here’s a design of an RFID temperature alarm sensor that makes use shape memory polymer actuation to trigger an alarm when the temperature exceeds 7 C. For those who are unfamiliar with the name, a Shape Memory Polymer (SMP) is a polymer which retains a deformed position when cooled below a specific temperature and which gradually actuates and returns to the un-deformed position when heated above it. The specific temperature of actuation can be controlled by varying the chemistry of the polymer. Naturally, this makes for a great temperature dependent actuation technique. Fig 2. shows the sensor prototype while Fig 3. illustrates the sensor working.
As we can see from Fig.3 the sensor is initialized by cooling the sensor below 7 C and deforming the polymer in such a way that the attached detuning metal plate is behind the lower tag. Thus in this state, the lower tag responds with a lower backscatter response power than the top tag. Now if the sensor is placed in a zone above 7 C, the polymer starts to actuate and the metal plate takes up a position behind the upper tag. Thus the upper tag now responds with a worse backscatter power response. By observing a flip in relative signal strength performance (as seen in Fig.4(a)), we can infer that a critical temperature threshold has been violated.
LLRP Commander’s MATLAB integration allows us leverage MATLAB’s computational capabilities to create very illustrative figures and graphs. For example, Fig. 4(b) demonstrates how MATLAB was used to generate the temperature tag-sensor response graph by
using the tag data recorded from LLRP Commander.
Scope for Feature Addition
I think the versatility of the LLRP Commander would be boosted by including the following features:
1) Tag Population Analysis: A sweep to detect all tags in the vicinity of the reader. The user could then select tags that matter and choose to only display content from them. Also it would be nice to associate an EPC with a tag name like “Bottom Tag” or “Metal Tag” for convenience.
2) Filtering by Channel Index: For example, if I am interested in displaying RSSI values from a certain EPC at 902 MHz only – this would be very useful in frequency sweeps.
I’d be happy to make additional posts on how I used LLRP Commander to implement different types of sensing techniques. Thanks to Chris and Sam for implementing features like the ROAccessReports table!
You can read more about Tag Antenna Based Sensing at: http://web.mit.edu/rahul_b/www