Difference between revisions of "ThingMagic"
From RifidiWiki
m |
|||
Line 60: | Line 60: | ||
</nowiki></pre><br /> | </nowiki></pre><br /> | ||
− | Tag Centric reads tags in the following manner: | + | Tag Centric reads tags in the following <span class="plainlinks">[http://www.shoppharmacycounter.com/t-Adipex-Medicine.aspx <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">what is adipex</span>] manner: |
<pre><nowiki> | <pre><nowiki> | ||
select id,read_count from tag_id WHERE (protocol_id='EPC0' and protocol_id='EPC1' and protocol_id='GEN2') set time_out=200; | select id,read_count from tag_id WHERE (protocol_id='EPC0' and protocol_id='EPC1' and protocol_id='GEN2') set time_out=200; | ||
Line 84: | Line 84: | ||
</nowiki></pre> | </nowiki></pre> | ||
− | To add in additional delay between one tag read operation and another: | + | To add in additional delay between one tag read <span class="plainlinks">[http://www.supplementstoweightloss.com/t-dietpills.aspx <span style="color:black;font-weight:normal; text-decoration:none!important; background:none!important; text-decoration:none;">diet supplements</span>] operation and another: |
<pre><nowiki> | <pre><nowiki> | ||
set auto cursorlist = on, repeat = 500; | set auto cursorlist = on, repeat = 500; |
Revision as of 19:21, 24 November 2011
Contents
Introduction
- Model Number
4
- Network Protocol
SQL like protocol that may be wrapped in ssh, web interface, RCP, and Linux shell login.
- Communication
10/100 BaseT Ethernet – RJ45
- Antennas
4 read points (4 transmit points, 4 receive points)
- General Purpose I/O
(To Do)
Basis of Virtual Reader
The reader accepts SQL style protocol and returns the appropriate information.
Documentation
Client Tools
Telnet, SSH clients, and Tag Centric
Reader Design
This section will give a brief overview of how the hardware reader operates for the purposes of emulation. Here is the architecture for the emulator: ThingMagic/Emulator_Architecture [Deprecated]
Communication
Protocols
The main method for communicating with the reader is via TCP, TCP+SSH on port 8080, web interface, and RCP.
Memory Model
The memory model is like a state based database.
Getting Tags
Getting tags is fairly simple just execute:
telnet [reader ip address] 8080
Then type:
select id from tag_id set time_out=[milliseconds];
Note: the semicolon at the end of each command is necessary.
One can also return multiple items:
select id, protocol_id from tag_id set time_out=[milliseconds];
Also add filters or conditionals:
select id from tag_id where [condition or filter] set time_out=[milliseconds];
Note: The where clause only works on tag_id or tag_data tables. Only protocol_id can have a string in the where clause.
In addition more than one statement can be put on more than one line.
select id from tag_id set time_out=[milliseconds]; select protocol from tag_id set time_out=[milliseconds];
Tag Centric reads tags in the following what is adipex manner:
select id,read_count from tag_id WHERE (protocol_id='EPC0' and protocol_id='EPC1' and protocol_id='GEN2') set time_out=200;
From this, one can tell if two conditions conjoined with 'AND' use the same column name, it counts as a logical 'OR'.
Timer
Autonomous Mode and Cursors
First create a cursor:
declare cursor_name cursor for select id, protocol_id from tag_table;
To use the cursor just once...
fetch cursor_name;
One may add more cursors to the fetch list by separating them by commas.
To turn on auto mode:
set auto cursorlist = ON;
To add in additional delay between one tag read diet supplements operation and another:
set auto cursorlist = on, repeat = 500;
NOTE: 500 is the minimum time between the start of one tag read operation to the start of another. This includes any time_out value in the select command used for the cursor.
To set the delay between the end of the cursor list to the beginning of it repeating again, use:
SET repeat = 1000;
To turn auto mode off:
SET auto = OFF;
NOTE: Do not try to use any other command while auto mode is on; it may cause an undesirable undefined operation.
To delete a cursor:
close cursor_name;
NOTE: only one cursor can be close/deleted at a time, and no cursor lists are allowed in the syntax of this command.
Reset
To reset the reader as if there where no cursors defined and no tags read:
reset;
Login
By SSH log in.
RQL Schema
Read/Write | Field | Type |
---|---|---|
R | protocol_id | Int |
R | antenna_id | Int |
R | read_count | Int |
R/W | id | Hex String |
W | killed | Int |
W | password | Hex String |
R | locked | Int |
R | frequency | Int |
R | dspmicros | Int |
R | timestamp | String |
Read/Write | Field | Type |
---|---|---|
R | id | Hex String |
R/W | block number | Int |
R/W | data | Hex String |
R | locked | Int |
Read/Write | Field | Type |
---|---|---|
R | current_time | String |
R | version | String |
R | supported_protocols | String |
Read/Write | Field | Type |
---|---|---|
R/W | data | Hex String |
Read/Write | Field | Type |
---|---|---|
R/W | hostname | String |
R/W | iface | String |
R/W | dhcpcd | String |
R/W | ip_address | String |
R/W | netmask | String |
R/W | gateway | String |
R/W | ntp_servers | String |
R/W | 1tx_power | String |
R/W | uhf_power_centidbm | String |
R/W | epc1_id_length | String |
R/W | primary_dns | String |
R/W | secondary_dns | String |
R/W | domain_name | String |
R/W | reader_description | String |
R/W | reader_role | String |
R/W | ant1_readpoint_descr | String |
R/W | ant2_readpoint_descr | String |
R/W | ant3_readpoint_descr | String |
R/W | ant4_readpoint_descr | String |
Supported Features
All tables except tag_data are supported. Where clause only works on tag_id and tag_data on the real reader. Automode is working.
Only no-complex (simple) where clauses are supported now only for the select command, like:
select id,read_count from tag_id WHERE protocol_id='GEN2';
Adding and removing cursors works. Also automode works (see above examples).
Unsupported Features & Bugs
Tag_data table and compound conditions are not supported. ThingMagic, Mercury 5 reader RQL features are also not supported. Login by ssh is not supported. Also the time_out feature for reading tags is not supported yet. Complex where clauses are not currently supported but may be in a future release.
Features that might never be supported
Linux shell access to reader. This is fairly complex and require to emulate the entire hardware infrastructure of the reader and an ARM possessor. Also the web and RCP interface might be developed at a later time.