Version | Description | Released Time | Download |
1.1 | Fixed the issue of failure to download data. | 2016/6/1 | tagsee-1.1.zip |
1.0 | Manage physical reader and real-time check experimental results. | 2016/6/1 | tagsee-1.0.zip |
TagSee wraps the ImpinJ-extended APIs and offers a nice dashboard for quickly startup on collecting RFID readings. Basic and useful feature list:
- Simple management of your physical readers.
- Real-time view of experimental results.
- Easy download of experimental results.
- Selectively filterring unexpected tags.
- Windows/Mac/Linux + Java 8
- ImpinJ R420 Reader + LTK SDK
Follow the simple three steps:
-
Donwload tagsee-xxx.zip and extract it to local disk
-
Run the 'startup.sh' or 'startup.bat' in 'terminal' (Mac) or 'cmd' (Windows): bash startup.sh
-
The system will automatically jump to dashboard page, or you can accesss the following address: http://localhost:9092
If you would like to compile the source code, then you could do it as follows:
Prerequisite
-
Install Apache Maven. (refer to Maven client)
-
Install Bower. (refer to Twitter Bower client).
-
Install Git. (refer to Git client.)
Steps
1.Checkout the source code.
git clone https://github.com/tagsys/tagsee.git
2.Run the complie.sh inside `dashboard'. It is going to downlaod the neccessary js files with bower tool.
bash comiple.sh
3.Install and compile maven project.
mvn install
4.Run the maven project.
mvn exec:java
-
Dashboard uses IndexDB (bowser embeded database) to store the readings received from tagsee. The database size is limited over browsers. Please ensure you download the experimental results to your local disk in time. In the future, I will consider to upload the readigns to server side.
-
Only latested 1,000 readings will be displayed in the charts to keep the rendering more smooth.
-
The Reader and RO specification are respectively read from the files of
config/reader__config.default.xml
andconfig/rospec.defualt.xml
. If you want to change the configuration, please copy these two files and modify their names toconfig/reader__config.xml
andconfig/rospec.xml
(remove the 'default' word and keep the default files for safty). TagSee will preferentially read configuration files from the none-default version. The change immediately works in the next experiment without need to restart TagSee.
Besides the controllable dashborad, TagSee also offers a set of wrapped APIs for upper applications. These APIs are useful if you want to develop your own applications. TagSee provides a set of RESTful style APIs and Websocket-based reading reports. You could use any language or platform to develop your applications.
I also give many examples over different programming languages in the examples directory to show how to start, stop and read tags using TagSee. Currently, these exampels are writtern using Java.
Path: /service/discover
Action: GET
Parameters: none
Returns:
- errorCode: 0
- agents[]: a list of agent stored in server.
Path: /service/agent/create
Action: POST
Paramters:
- ip: reader ip, which should be
- name: name of the reader.
- remark: description of this reader.
Return:
- errorCode: 0
Path: /service/agent/:ip/update
Action: POST
Parameters:
- ip: reader ip.
- name: the reader name.
- remark: description of this reader.
Return:
- errorCode: 0
Path: /service/agent/:ip/remove
Action: POST
Parameters:
- ip: reader ip.
Return:
- errorCode: 0
Path: /service/agent/:ip/start
Action: GET
Parameter: None
Return:
- errorCode: 0
Path: /service/agent/:ip/stop
Action: GET
Parameter: Nnone
Return:
- errorCode: 0
TagSee uses websocket to push heartbeat and readings.
Message: Heartbeat
Structure:
- errorCode: 0
- type: heartbeat
Message: Readings
Structure:
- errorCode: 0
- type: reading
- tags[{
epc: tag epc,
phase: pahse value,
rssi: rss value,
doppler: doppler value,
channel: channel index,
antenna: antenna idnex
peekRssi: peek rssi (Impinj extened feild),
firstSeenTime: the timestamp attached by the reader,
lastSeenTime: the timestamp attached by the reader,
timestap: the timestamp attached by the tagsee
}]
If this project helps you, please help cite the following paper. Thanks very much.
@inproceedings{yang2014tagoram,
title={Tagoram: Real-time tracking of mobile RFID tags to high precision using COTS devices},
author={Yang, Lei and Chen, Yekui and Li, Xiang-Yang and Xiao, Chaowei and Li, Mo and Liu, Yunhao},
booktitle={Proceedings of ACM MobiCom},
pages={237--248},
year={2014}
}
- 2016/6/1 - release the TagSee v1.
- 2016/6/8 - add Java example.
This project acknowledges significant help, feedback, suggestions and guidance from following people.
- Tianci Liu. This guy developed a primary and offline RFID reading tool for our group. It inpsired me to develop TagSee.