Sirit INfinity510

From RifidiWiki

Jump to: navigation, search


Contents

Introduction

The development of the Sirit INfinity510 is currently a work in progess.

The INfinity510 is produced by Sirit Inc. It is a general purpose reader that can read all EPC compliant tags.

Model Number
INfinity 510
Network Protocol
TCP/IP
Communication
LAN TCP/IP(RJ-45), RS-232
Antennas
4 Tx/Rx antennas and 1 Listen before Talk (LBT) antenna
General Purpose I/O
4 input signals, 4 output signals

Basis of Virtual Reader

The implementation of the virtual reader is based on the testing of an actual hardware reader. Testing was done using wireshark to capture the client-reader communication. This input output was then emulated.

Documentation

Client Tools

The main client tools used for examining the reader:

Reader Startup Tool
The RST ships with the reader and provides an easy-to-use interface for the INfinity 510 configuration and operation functions.
Reader Test Tool
As the RST, the RTT is delivered by Sirit and is primarily designed for new users to test reader operation and perform a few basic reader functions: read tags, issue commands to the reader and view the responses, observe reader events.
Example Client
The Sirit Example Client is a simple java client that demonstrates how to connect to the INfinity510.
The Sirit Example Client (w/ RAPID) shows how to connect with the help of the RAPID API from Sirit.

Reader Design

This section will give a brief overview of how the hardware diet pills reader operates for the purposes of emulation.

Login

The INfinity reader requires the user to log in. The according command is 'reader.login(login=admin, pwd=readeradmin)' with admin/readeradmin as default username/password combination.

Communication

The INfinity reader provides two communication interfaces based on a TCP connection

human interface (SSH)
The human interface allows you to manually submit commands to the reader and observe any responses with a SSH client. The default login is username cliuser and no password.
Keyboard Hints: press <tab> for autocompletion or <tab><tab> to see a list of available options.
machine interface (plain text messages)
When communicating with the reader on the machine interface, the commands to and responses from the reader are sent on port 50007. You can register your application to receive event messages from the reader; these are sent on port 50008.

All commands issued to the reader have to be terminated by carriage return and line feed ("\r\n", 0x0d 0x0a). The responses and event messages sent by the reader are always terminated by double carriage diet supplements return + line feed ("\r\n\r\n"). The following is an example of a SSH session, scanning for tags for 3 seconds.

login as: cliuser
event.connection id = 22
>>> reader.login(login=admin,pwd=readeradmin)
ok

>>> tag.db.scan_tags(3000)
ok
(tag_id=0x300833B2DDD9014035050000, type=ISOC, first=2009-05-26T13:03:49.552, last=2009-05-26T13:03:52.521, antenna=1, repeat=322)
(tag_id=0x35E0170044225EB50000C734, type=ISOC, first=2009-05-26T13:03:49.557, last=2009-05-26T13:03:52.514, antenna=1, repeat=190)
(tag_id=0x35E0170044225EB50000C72B, type=ISOC, first=2009-05-26T13:03:49.553, last=2009-05-26T13:03:52.512, antenna=1, repeat=177)
(tag_id=0x35E0170044225EB50000C72C, type=ISOC, first=2009-05-26T13:03:49.550, last=2009-05-26T13:03:52.507, antenna=1, repeat=190)

>>>

Memory Model

The memory model of the INfinity reader is based on a database concept. Every time the reader detects a tag in the field of his antenna(s), the record for this tag is updated. Attributes to be stored are e.g. tag id, user data, tag protocol type, time of first and last detection, antenna, repeat count. The information remains in the database until it is purged (active and standby mode) or a new 'tag.db.scan_tags()' command is issued (standby mode).

Getting Tags

There are two main modes to get tags from INfinity reader which rely on the two different operating modes: standby and active. The simplest is "on demand" or "standby" mode, in which the user simply issues a command and the reader sends back a tag list. When in "active" mode the reader asynchronously sends event messages, e.g. every time it detects a tag.

standby mode

To get tag reads in "standby" mode, a user can send a 'tag.db.scan_tags()' command to scan for tags and get back a list of new read tags or a 'tag.db.get()' command to poll the current tag database.

active mode

In "active" mode the reader is continuously attempting to singulate tags, stores singulated tags in the database and automatically reports any singulated tag via an asynchronous event. The host application can either register for these events or poll the current tag database, or use any combination of these two methods.

Personal tools