WISP 6
Getting Started
Introduction
The Wireless Identification and Sensing Platform (WISP) was started in 2006 at Intel Labs Seattle. Today, WISP is mainly developed and maintained by the Sensor Systems Lab at the University of Washington. However, the project is open-source, so anyone may contribute.Â
WISP 6 is the latest version of this platform. It was created with a focus on modularity and ease of development. Along side it, WISP Desktop was released, a GUI application for interfacing with WISP devices through a compatible RFID reader.
GitHub Repositories
Required Items
WISP 6 device - Soon, WISP 6 devices will be available for purchase from the Sensor Systems Lab. Alternatively, the hardware design files can be used to produce your own devices. If going with this route, make sure that the specified components are available.
FCC-compliant Impinj Speedway R420 or R1000 reader (same as WISP 5 readers) - WISP 6 has been developed for and exclusively tested on these models of RFID readers. From anecdotal experience from previous WISP versions, we don't expect WISP 6 to work with other readers or any non-FCC-compliant Impinj Speedway model. Modifying the WISP firmware to expand reader compatibility is not a simple task.
A host computer with WISP Desktop - A computer to run WISP Desktop software that will interface with the RFID reader. Currently Windows and Linux are supported. Alternatively, the sllurp Python library can be used to query tags through its CLI or through custom Python code.
MSP-FET430UIF debugging tool (same as WISP 5 debugger) - Note that the cheaper eZ430 won't work with the MSP430FR5969 used by WISP 6
WISP Programming Adapter (same as WISP 5 adapter) - The adapter connects the 14 pin connector used by the debugger to the 4-pin SBW header on WISP 6.
Code Composer Studio - WISP firmware is developed using TI's CCS. The firmware repository has details on recommended versions.
Importing Projects into CCS
On a machine with CCS installed, use Git to clone the firmware repository to an appropriate location. If you intend on continuing to develop the firmware, we recommend you fork the repository first.
WISP 6 stable firmware can be found in the master branch. Make sure this branch is checked out.
Open CCS. You'll be asked to create a workspace directory. You'll need to create one on your machine the first time.
In the main menu, go to Projects > Import Existing and select all of the listed items.
Programming WISP
In CCS, you should see a number of named projects. We'll focus on these projects to start, all of which do not require any mount-on sensor boards.
wisp-base - The 'black box' that handles all the low level RFID C1G2 communication. For most applications, this won't require modification.
run-once - Sets up the RN16 table used in RFID communication and assigns the tag a unique identifier
simpleAckDemo - The simplest demo of WISP 6, where the device responds to the reader with a fixed EPC ID.
simpleTempHumiDemo - Uses the temp/humidity sensor built-in to the main WISP 6 board to respond to an RFID reader with sensor readings.
Start by right clicking wisp-base and selecting Build Project. It should compile without errors.
Program WISP with run-once.
Using the adapter, connect the device to the MSP debugger as shown:
Select the run-once project.
Click the debug icon. Once the program is installed to the microcontroller, CCS will stop at the first breakpoint.
Click the play icon to run the program
The LED on the device should start blinking slowly. If so, you've successfully programmed the microcontroller and set it up for RFID transmissions!
Program WISP with simpleAckDemo.
Select simpleAckDemo and program the device, following the same steps as before.
Your device should now respond to queries from a compatible RFID reader. Jump to the next section on Reader and Host Setup and make sure you are able to read EPCs from the tag.
Program WISP with simpleTempHumiDemo.
Program the device as before
This time, when reading tags with WISP Desktop, open a Guage widget. Select Temperature as the data source. You can open another gauge to visualize humidity. Similarly, you can plot the data in real time using a Graph widget
Reader and Host Setup
Connect the RFID reader to power, using the 24V power supply. Attach an antenna suitable for the frequency range (the Laird S9028PCR is shown) to the first antenna port.
Connect the reader's ethernet port to a network, or directly to the host machine. Make note of the reader's IP address or hostname.
If you connect it to the network, you need to find the IP address of the reader. It may be helpful to set up your router to statically assign it an address to keep it from changing.
If you connect it directly to the host machine, you will need to change the host's IP for the newly created LAN such that the reader and host are on the same subnet.
Use WISP Desktop to capture tags. If you instead choose to use sllurp to query tags, follow these instructions from a previous guide.
Open WISP Desktop on the host machine. The software uses the Chrome webview to render its UI, so ensure that Chrome is installed as well. After a few seconds, a GUI should appear.
Change the host field to the IP or hostname of the RFID reader. The default port should be correct.
Click Connect. This may take up to ~15 seconds to complete.
Click Start Inventory to begin querying WISP EPCs. In general for WISP 6, max throughput mode is ideal. If a WISP tag is in range, you should see the tag count increasing.
Click Add Widget and select the Table widget. You should see the rows updating with all the tags the reader has seen this session.