TagCentric User’s Manual

Table of Contents

1What is TagCentric?......

2Running the TagCentric User Interface......

2.1Initial Execution of TagCentric......

2.2Mode of Operation for User Interface......

2.3Shutting Down the User Interface......

3TagCentric Administration (Admin Panel)......

3.1Starting and Stopping the Database Agent......

3.2Reader/Printer Agent Launchpad......

3.3Managing Reader Information......

3.3.1Adding a New Reader......

3.3.2Modifying Reader Information......

3.3.3Deleting Reader Information......

3.4Managing Printer Information......

3.4.1Adding a New Printer......

3.4.2Changing Printer Information......

3.4.3Deleting Printer Information......

3.5Refreshing the Admin Panel......

4TagCentric Testing (Test Panel)......

4.1Real-Time Tag Reporting......

4.2Running Tests......

4.3Managing the Company List......

4.4Managing the Test Type List......

5Database Panel......

5.1Launching the DBAgent......

5.2Terminating the DBAgent......

5.3Basic database operations......

5.3.1Database initialize......

5.3.2Database Update......

5.4The “Convert EPC Tags” checkbox......

5.5Information about the database......

5.5.1Schema Version......

5.5.2Connection Information......

5.5.3Status......

5.5.3.1OK status......

5.5.3.2Version Mismatch: Old code detected......

5.5.3.3Version Mismatch: UPDATE REQUIRED......

5.5.3.4Uninitialized DB: Initialize to continue......

5.5.3.5Initialize failed......

5.5.3.6Update Failed......

5.6Querying the Database......

5.6.1Ad Hoc Queries......

5.6.2Stored Queries......

5.6.3Pre-made Queries......

5.6.4Storing Queries......

5.6.5Parameterized Queries......

5.6.5.1Stored Query Formatting......

5.6.5.2Stored Query Parameter Creation......

5.6.5.3Stored Query Parameter Types......

5.6.5.4Stored Query Parameter Dependencies......

6Reader Control (Reader Panel)......

6.1Event Logging......

6.2Tag Types......

6.3Filtering Reads......

6.4Poll Period......

6.5Enabling/Disabling the Reader......

6.6Terminating the Reader Agent......

7Printer Control (Printer Panel)......

7.1Status Information......

7.2Starting Print Jobs......

7.3An Example......

8Caveats and Recommendations......

8.1Basic Requirements for TagCentric Operation......

8.2One GUI up at a time (recommended)......

8.3Use a Local Database......

8.4Database Operations: You Have The Power......

8.5Beware of nebulous networking situations......

8.6Very High Tag-Read Rates Not Tested......

8.7EPCIS-Compatilbility......

9Notes on Specific Readers......

10A Step-by-Step Recipe for Getting Started......

10.1Installing TagCentric......

10.2Running TagCentric......

10.2.1Initializing the database......

10.2.2Adding a Reader......

10.2.3Reader Operations......

10.2.4Shutting Down the Dashboard......

11Troubleshooting......

11.1Admin Panel......

11.2Reader Control......

11.3Database Panel......

11.4Printer Control......

11.5When All Else Fails......

12Planned Enhancements......

1

1What is TagCentric?

TagCentric is software written for the purpose of controlling RFID devices and gathering RFID-related data in a facility. It allows the user to seamlessly interact with multiple brands of RFID readers, and to collect data into a user-specified database. TagCentric also allows the user to print and encode RFID tags, through the use of a Zebra printer. While TagCentric may not have all of the “bells and whistles” of some of the commercially available RFID middleware solutions, it’s cost (free!) and simplified user interface make it ideal for use by small businesses, RFID testing facilities and universities.

Throughout this document, we will refer to device controllers as “agents”. The TagCentric software allows the user to communicate with agents; the agents, in turn, communicate with their respective devices. Through TagCentric, a user will launch an agent (like a reader agent, or a printer agent, or a database agent) and the agent will establish communications with its target device.

Currently, TagCentric provides support for these types of readers: Alien, Symbol and ThingMagic. In addition, TagCentric provides a “Fake” reader, which can be instantiated and used for testing in the absence of actual readers.

TagCentric can connect to a number of different database types; currently, we support DB2, MySQL, Oracle, PostgreSQL, and the Java “DRB” embedded database. During the TagCentric installation process, the user can specify a connection to their database of choice either through ODBC or straight JDBC.

For tag printing, we offer limited support of the Zebra RFID printer. While we do not support all of the capabilities of the Zebra printer, we do allow users to print out textual information and an incrementing tag number on each label.

For a good description of the recommended modes of operation for TagCentric, see the “Caveats and Recommendations” appendix of this document.

2Running the TagCentric User Interface

To start the TagCentric user interface, run the “startup.bat” (for Windows) or “startup.sh” (for Unix/Linux) script in the “bin” directory of the TagCentric installation tree. From Unix/Linux, you may need to perform a “chmod +x startup.sh” to render the startup.sh script executable.

2.1Initial Execution of TagCentric

Initially, TagCentric has an empty database. During initial operation, the user needs to:

(1)Start the database agent. This is done by pressing the “Start” button next to the “Database Agent:” label in the Admin panel.

(2)Initialize the database. This can either be done by pressing the “Initialize Database” button on the Admin panel, or pressing the “Initialize” button in the Database panel. Initializing the database creates all of the tables and rows necessary for proper TagCentric operation.

After initializing the database, the user should then enter facility-specific information into the database describing the readers and printers available for use. This is done via the “Manage Reader Info” and “Manage Printer Info” buttons on the Admin panel; these are described in detail in the section entitled “TagCentric Administration”.

2.2Mode of Operation for User Interface

The following screen shot shows the general look-and-feel of the user interface:


On the left, the currently active panels are arranged in a tree fashion (referred to as the “panel tree”). The leaf nodes all represent panels that correspond to active agents[1]. The panel displayed in the main viewing area corresponds to the current user selection from the panel tree. For example, by selecting “Fake-2” from the panel tree in the above example, a reader panel (corresponding to the reader named “Fake-2”) would be displayed on the right.

Pressing the “Launch” button (in the Reader/Printer Agent Launchpad section) for an agent results in that agent being activated and a corresponding entry being created in the panel tree. Pressing the “Kill” button for an agent results in the agent being deactivated and its corresponding entry in the panel tree being removed.

2.3Shutting Down the User Interface

Shutting down the TagCentric user interface application is as easy as pressing the “X” icon in the upper right-hand corner of the frame. However, keep in mind that agents are launched in such a way as to be persistent across the shutting down of the user interface. If you have active agents at the time that you shut down the user interface, those same agents will show up as active the next time that you launch the user interface. To shut down agents, you must explicitly kill them from the Admin panel.

3TagCentric Administration (Admin Panel)

The Admin Panel is the primary user interface to the TagCentric application. It allows the user to manage reader and printer information as well as launch database, reader and printer agents.


(Editor’s Note: Just prior to release, we decided to remove the “Initialize Database” button from the Admin Panel. So, our Admin Panel screen shots are slightly inaccurate. Functionally, the Admin Panel still behaves as described in this document.)

3.1Starting and Stopping the Database Agent

By pressing the “Start” button to the right of the “Database Agent:” label, the user can start the database agent[2]. Since all other operations on the panel rely on the existence of a database agent, no other operations are possible until the database agent is started. To stop an active database agent, press the “Stop” button to the right of the “Database Agent:” label. The “Start” button will only be enabled if no database agent is detected; the “Stop” button will only be enabled if a database agent is up and running. Before the database agent is started, the Admin panel looks like this:


3.2Reader/Printer Agent Launchpad

This section lists all known reader and printer agents, and provides a “Launch” button for each agent that is not currently active, and a “Kill” button for each agent that is currently active. Any agent that has been entered into the database shows up in this list. By pressing an agent’s “Launch” button, the agent becomes activated and shows up in the panel tree on the left of the window. By pressing an agent’s “Kill” button, the agent deactivates and is removed from the panel tree.

3.3Managing Reader Information

In order to make the system aware of the existence of RFID readers, information about the readers must be entered into the database. Pressing the “Manage Reader Info” button will allow you to manage the reader information in the database. Upon pressing this button, the following dialog appears:


From here, the user can add new reader information, delete reader information, or modify existing reader information. When you are done managing reader information, press the “Exit” button.

3.3.1Adding a New Reader

Pressing the “Add New Reader” button in the “Manage Reader Information” dialog results in the following dialog box appearing:

The user needs to specify the following for each reader entered:

  • ReaderName: A textual name for the reader, for easy human identification of the reader.
  • ReaderIPAddr: The IP address of the reader.
  • ReaderClassID: The general class of the reader. Choices include “No Class Specified”, “DOCK DOOR”, “CONVEYOR BELT”, “SALES FLOOR”, “POINT-OF-SALE”, and “CRUSHER”.
  • ReaderTypeID: The reader type. Supported values include “Fake”, “Symbol”, “Alien”, and “ThingMagic”.

Once the user is satisfied with the information entered, she can press the “Commit” button to enter the information into the database. The user can exit the dialog any time (without committing to the database) by pressing the “Abort” button.

A note on “Fake” readers: You will need to provide an IP address for your “fake” readers, just like your “real” readers. However, the IP address associated with a fake reader will simply be a placeholder, and a way to distinguish one fake reader from another. Since there is no actual device associated with a fake reader, it’s IP address is never used for actual communications.

3.3.2Modifying Reader Information

From the “Manage Reader Information” dialog, it is also possible to modify information about an already-existing reader. To do this, double-click one of the data rows displayed in the dialog; the following dialog will appear:

The “Modify Reader” dialog is very similar to the “Insert Reader” dialog. You can change any or all of the fields and press “Commit” to commit the changes to the database, or you can press the “Abort” button to abort the reader modification operation.

3.3.3Deleting Reader Information

Finally, it is possible to delete reader information from the “Manage Reader Information” dialog. Select one or more rows to delete and press the “Delete Selected Row(s)” button.

3.4Managing Printer Information

The user can manage printer information in the TagCentric database by pressing the “Manage Printer Info” button in the Admin panel. When this button is pressed, the following dialog appears:


The dialog lists information about all known printers. From here, the user can add information for a new printer, delete printer information, or modify information about an existing printer. When you are done modifying printer information, press the “Exit” button.

3.4.1Adding a New Printer

By pressing the “Add New Printer” button in the “Manage Printer Information” dialog, the following dialog pops up:

You must provide a name, an IP address, and a printer type for the newly added printer. Currently, the only available printer type is “Zebra”.

You cannot fill in the Printer ID field, as that value is determined by the TagCentric software.

When done, press the “Commit” button to commit the new printer information into the database. At any time, press the “Abort” button to abort the transaction.

3.4.2Changing Printer Information

By double-clicking a data row in the “Modify Printer Information” dialog, you can change the information contained in the given row. Such an action results in the following dialog being popped up:

From here, you may change information in any of the fields that describe this printer (except, of course, the Printer ID field).

When done, press the “Commit” button to commit the changes to the database. At any time, press the “Abort” button to abort the transaction.

3.4.3Deleting Printer Information

You may delete printer information from the database by selecting one or more rows to delete in the “Modify Printer Information” dialog, then pressing the “Delete Selected Row(s)” button.

3.5Refreshing the Admin Panel

Occasionally, the agents included in the “Reader/Printer Agent Launchpad” might get out of sync with respect to reality. Pressing the “Refresh” button will re-synchronize this list with the actual contents of the database.

4TagCentric Testing (Test Panel)

The TagCentric Test Panel looks like this:


4.1Real-Time Tag Reporting

The main area of the panel serves as a real-time view of the tag-read events that are occurring in the system. The contents of this area can be cleared by pressing the “Clear Table” button on the bottom of the panel.

4.2Running Tests

First, we should define here what we mean by a “test”. Our concept of RFID testing has been heavily influenced by the testing that occurs at the University of Arkansas RFID Center. Each of their tests involves one or two static readers. A pallet of boxes with attached RFID tags is transported through the read zone(s) of the reader(s) in question a number of times. Afterward, tag-read results are analyzed to determine the effectiveness of the readers in dealing with that particular pallet of goods.

To begin a test, press the “Start Test” button on the bottom of the Test Panel. The following dialog will appear:



Before actually commencing the test, you are asked to provide the following information:

  • Test Name. Assign a human-readable name to the specific test to be performed.
  • Company. Which company’s product is being tested? To add companies to this list, use the “Manage Companies” button on the Test Panel.
  • Test Type. Is this an instance of a general test type? To add test types to this list, use the “Manage Test Types” button on the Test Panel.
  • Reader 1. Choose a reader to associate with this test.
  • Reader 2. Choose a second reader to associate with this test.

At any point, the user can cancel the test by pressing the “Cancel” button.


When you are ready to commence the test, press the “Commence” button. The following dialog box will pop up:

When you are ready to run the pallet through the read zone, press the “Start Run” button. When the pallet is through the read zone, press the “Stop Run” button. Repeat this for as many trips through the read zone as desired. Each time that you stop a run, the “Run Number” value will be incremented. When you are done with the final trip through the read zone (and have pressed “Stop Run”), then press the “End Test” button.

At the end of your test, your test description information is stored in the “TestData” table in the database. The start and stop times for each run are stored in the “RunData” table in the database. The tag-read information collected during the run is placed in the “TagData” table as usual. By running queries involving these three tables, the test results can be analyzed.

4.3Managing the Company List

The user can manage the list of companies available in the “Start Test” dialog by pressing the “Manage Company Info” button in the Test Panel. Upon pressing it, the following dialog is presented:


Pressing the “Add New Company” button will allow you to enter a new company name into the list. Double-clicking the row for an existing company will allow you to change the name of that company. Finally, you can delete companies from the list by selecting one or more rows and pressing the “Delete Selected Row(s)” button. When you are finished, hit the “Exit” button.

4.4Managing the Test Type List

The user can manage the list of companies available in the “Start Test” dialog by pressing the “Manage Company Info” button in the Test Panel. Upon pressing it, the “Manage Test Type Information” dialog seen below is presented to the user.

Pressing the “Add New Test Type” button will allow you to enter a new test type into the list. Double-clicking the row for an existing test type will allow you to change the name of that test type. Finally, you can delete test types from the list by selecting one or more rows and pressing the “Delete Selected Row(s)” button. When you are finished, hit the “Exit” button.


5Database Panel

The database agent, also known as the DBAgent, is an integral part of the TagCentric application. The application communicates with the database through the DBAgent. The graphic user interface that contains the controls for and the information about the database being used by the DBAgent is known as the database panel. It should be noted that at a given time, in a local area network, there can be only one DBAgent running. All the users in the LAN connect to that particular DBAgent. Hence, it is not possible for separate users to launch their own DBAgent. To illustrate this scenario, let us consider a user A connecting to a database DB. This scenario is portrayed below: