all | frequencies |
|
|
|
exhibits | applications |
---|---|---|---|---|---|---|
manuals |
app s | submitted / available | |||||||
---|---|---|---|---|---|---|---|---|
1 |
|
Manual 1 | Users Manual | 726.31 KiB | ||||
1 |
|
Manual 2 | Users Manual | 157.01 KiB | ||||
1 |
|
Manual 3 | Users Manual | 930.88 KiB | ||||
1 | Cover Letter(s) | |||||||
1 | External Photos | |||||||
1 | ID Label/Location Info | |||||||
1 | ID Label/Location Info | |||||||
1 | Internal Photos | |||||||
1 | RF Exposure Info | |||||||
1 | Cover Letter(s) | |||||||
1 | Cover Letter(s) | |||||||
1 | Cover Letter(s) | |||||||
1 | Test Setup Photos | |||||||
1 | Test Report |
1 | Manual 1 | Users Manual | 726.31 KiB |
ALIEN TECHNOLOGY HARDWARE SETUP GUIDE ALR-9800 July 12, 2005 U.S. Multi-static 915 MHz RFID Tag Reader ALR-9800 Legal Notices Copyright 2005 Alien Technology Corporation. All rights reserved. Alien Technology Corporation has intellectual property rights relating to technology embodied in the products described in this document, including without limitation certain patents or patent pending applications in the U.S. or other countries. This document and the products to which it pertains are distributed under licenses restricting their use, copying, distribution and decompilation. No part of this product documentation may be reproduced in any form or by any means without the prior written consent of Alien Technology Corporation and its licensors, if any. Third party software is copyrighted and licensed from Licensors. Alien, Alien Technology, the Alien logo, Nanoblock, FSA, Gen2Ready, Squiggle, the Squiggle logo, Nanoscanner and other graphics, logos, and service names used in this document are trademarks of Alien Technology Corporation in the U.S. and other countries. All other trademarks are the property of their respective owners. U.S. Government approval required when exporting the product described in this documentation. Federal Acquisitions: Commercial Software -- Government Users Subject to Standard License Terms and Conditions. U.S. Government: If this Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in the Software and accompanying documentation shall be only as set forth in this license; this is in accordance with 48 C.F.R. 227.7201 through 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and 12.212 (for non-
DoD acquisitions). DOCUMENTATION IS PROVIDED AS IS AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARANTEES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGMENT ARE HEREBY DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. FCC Compliance (pending) This equipment has been tested and found to comply with the limits for Class A digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with instruction manual, may cause harmful interference with radio communications. Operation of this equipment in a residential area is likely to cause harmful interference in which case the user will be required to correct the interference at his own expense. Any change or modification to this product voids the users authority to operate per FCC Part 15 Subpart A. Section 15.21 regulations. Industry Canada Compliance (pending) Operation is subject to the following two conditions: (1) this device may not cause interference and (2) this device must accept any interference, including interference that may cause undesired operation of the device. This device has been designed to operate with an antenna having a maximum gain of 6dBi. Antenna having a higher gain is strictly prohibited per regulations of Industry Canada. The required antenna impedance is 50 ohms. To reduce potential radio interference to other users, the antenna type and its gain should be so chosen that the equivalent isotropically radiated power (EIRP) is not more than that required for successful communication. Caution Reader antennas should be positioned so that personnel in the area for prolonged periods may safely remain at least 23 cm (9 in) in an uncontrolled environment from the antennas surface. See FCC OET Bulletin 56 Hazards of radio frequency and electromagnetic fields and Bulletin 65 Human exposure to radio frequency electromagnetic fields. Alien Technology TABLE OF CONTENTS Hardware Setup Guide ALR-9800 July 12, 2005 Table of Contents CHAPTER 1 INTRODUCTION .....................................................................................................................1 Audience .......................................................................................................................................................1 RFID Reader Overview.................................................................................................................................2 EPC Class 1 UHF RFID Tags.......................................................................................................................2 Requirements................................................................................................................................................3 Specifications ................................................................................................................................................4 RFID Reader...........................................................................................................................................4 RFID Reader External Circular Polarized Antenna ................................................................................4 RFID Reader External Linear Polarized Antenna...................................................................................5 Mechanical: Reader Physical Size ........................................................................................................6 RS-232 Port Pinouts...............................................................................................................................7 RS-232 Connector (Female) Looking at Reader ..........................................................................7 IO Port Terminal Interface ......................................................................................................................7 I/O Port Screw Terminal (Female) Looking at Reader..................................................................8 System Architecture ...............................................................................................................................8 CHAPTER 2 READER HARDWARE INSTALLATION AND OPERATION ................................................9 Receiving the RFID Reader ..........................................................................................................................9 Reader I/O Panel..................................................................................................................................10 Antenna Panel.............................................................................................................................................11 System Assembly and Bench Test .............................................................................................................12 Bench Test Configuration.....................................................................................................................12 Bench Test Procedure..........................................................................................................................15 Installation ...................................................................................................................................................15 Requirements .......................................................................................................................................16 Hardware Installation Procedure ..........................................................................................................16 System Operation: Software Control ..........................................................................................................18 Reader Interface Guide ........................................................................................................................18 Demonstration Software Guide ............................................................................................................18 Alien RFID Academy ............................................................................................................................18 ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000 REV 02 i TABLE OF CONTENTS
(This page intentionally left blank) ii ALR-9780 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000 REV 02 CHAPTER 1 INTRODUCTION CHAPTER 1 Introduction This Hardware Setup Guide provides instructions for installing and operating the ALR-9800 RFID Readers. This document is designed for use by RFID system integrators and software developers - those who wish to develop software products and extended systems that take full advantage of the RFID Reader's capabilities. Included with each reader or developer kit is the Alien RFID Fixed Reader Software Developers Kit and User Documentation CD-ROM. This CD contains additional information about RFID and the ALR-9800 including the following:
RFID Primer (PN 8101014-000) an overview of RFID technology and a glossary of terms.
Reader Interface Guide (PN 8101938-000) an overview of the communication interfaces for the ALR-9800.
Multi-static Application Note (AN17001) an overview of multi-static readers.
Quick Installation Guide (PN 8102003-000) a quick start guide for installing and running the ALR-9800 reader.
Quick Reference (PN 8101007-000) a quick reference guide summarizing the Alien Reader Protocol command set.
Demo Software Guide (PN 8101023-000) details installing and operating the Alien RFID Gateway demonstration software.
Quick Upgrade Guide (PN 8101051-000) briefly explains how to use the demonstration software to upgrade the ALR-9800. To access these guides, please insert the CD that came with your reader and follow the on-screen prompts. Audience For the purposes of this document, we assume the readers of the Hardware Setup Guide:
Are competent PC users
Have minimal previous knowledge of Radio-Frequency Identification
(RFID) technology
Are experienced in software development and/or hardware systems integration ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 1 INTRODUCTION RFID Reader Overview CHAPTER 1 The Alien ALR-9800 RFID reader is designed to read and program any EPC Class 1 Generation 1 or 2 tag (see below) and issue event reports to a host computer system. The reader is also designed to read Class 0 tags and to read and program Class 0+ tags. The host computer can be locally connected to the reader via RS-232, or at a remote network location. The RFID Reader is delivered with the following components and accessories:
One (1) RFID Reader
One (1) RS-232 serial cable (to connect to host computer)
One (1) power supply and cord
Alien RFID Fixed Reader Software Developers Kit and User Documentation CD-ROM
Alien RFID Gateway Application EPC Class 1 UHF RFID Tags The Alien ALR-9800 RFID reader is designed to read and program any EPC Class 1 Generation 1 or 2 tag (see below) and issue event reports to a host computer system. The reader is also designed to read Class 0 tags and to read and program Class 0+ tags. Class 1 tags are passive devices meaning they do not have a battery or other onboard power source. They are powered solely by the RF energy transmitted by an RFID reader. They communicate with the reader through backscatter modulation in which the tags do not actually transmit RF energy. Instead, they change their reflective characteristics in a systematic way and reflect RF energy back to the reader. An analogy to this is the way you can use a mirror to transmit information by reflecting light from the Sun. Alien Technology manufactures user-programmable EPC Class 1 tags compliant with all key commercial and DoD mandates. Alien offers a variety of designs capable of delivering optimal performance worldwide, including Europe and Asia. Examples of Alien NanoBlock IC tag and antenna designs. 2 ALR-9780 Hardware Setup Guide DOC. CONTROL #8102002-000 REV 02 CHAPTER 1 INTRODUCTION For more information about RFID tags from Alien Technology, please visit our website at http://www.alientechnology.com. Requirements To interface with the RFID Reader you will need the following:
A PC running Windows 98 or higher, with CD-ROM drive, an available RS-232 serial port, and Ethernet connectivity
Standard 120/220 VAC 50/60 Hz
Power supply and cord (included with reader)
Host software (Alien Gateway demo software or your own custom software) ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 3 INTRODUCTION Specifications CHAPTER 1 Specifications for key components of the RFID Reader system are provided in the tables below:
RFID Reader Name Model Number Architecture Operating Frequency Hopping Channels Channel Spacing Channel Dwell Time RF Transmitter Modulation Method 20 db Modulation Bandwidth RF Receiver Power Consumption Communications Interface Inputs/Outputs Dimensions Weight Operating Temperature LED Indicators Software Support Compliance Certification Alien Multi-Port General Purpose RFID Reader ALR 9800 Point-to-multipoint reader network, multi-static 902.75 MHz 927.25 MHz 50 500 KHz
< 0.4 Seconds
< 30 dBm at the end of 6 m LMR-195 cable. On Off Keying (OOK)
< 400 KHz 2 Channels 45 Watts (120 VAC at 600 mA) RS-232 (DB-9 F), TCPI/IP (RJ-45) 2 or 4 coax antenna, 4/8 optically isolated, com port, LAN, power
(L) 9.0 (22.9 cm) x (W) 11 (28 cm) x (D) 2.22 (5.6 cm) Approximately 1.8 kg (4 lb)[d1]
0C to +50C (+32 F to +122F) Power, Link, Active, Ant0-3, CPU, Read, Sniff, Fault (red) APIs, sample code, executable demo app (Alien Gateway) FCC Part 15 (Pending) RFID Reader External Circular Polarized Antenna Model 3 dB Beamwidth Frequency Gain (dBi) Polarization RF Connector VSWR Dimensions Weight ALR-9610-BC E-plane: 65 degrees H-plane: 65 degrees 902-928 MHz 5.73 dBi Circular 6 m LMR-195 with Reverse-Polarity TNC 1.5:1
(cm) 22 x 27 x 4 (in) 8.5 x 10.5 x 1.65
.57 kg 1.25 lb 4 ALR-9780 Hardware Setup Guide DOC. CONTROL #8102002-000 REV 02 CHAPTER 1 INTRODUCTION RFID Reader External Linear Polarized Antenna Model 3 dB Beamwidth Frequency Gain (dBi) Polarization RF Connector VSWR Dimensions Weight ALR-9610-AL E-plane: 40 degrees 902-928 MHz 6.0 dBi Linear 6 m LMR-195 with Reverse-Polarity TNC 1.5:1
(cm) 19.5 x 28 x 4 (in) 7.75 x 11.25 x 1.65
.57 kg 1.25 lb ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 5 INTRODUCTION CHAPTER 1 Mechanical: Reader Physical Size[d2]
Figure 1 - Outline Drawing of the ALR-9800 6 ALR-9780 Hardware Setup Guide DOC. CONTROL #8102002-000 REV 02 CHAPTER 1 INTRODUCTION RS-232 Port Pinouts RS-232 Connector (Female DB-9F) Pin 1 DCD Connected to Pin 6 Pin 2 TR1 Transmit Data (Output) Pin 3 RC1 Receive Data (Input) Pin 4 DTR Connected to Pin 6 Pin 5 Ground Pin 6 DSR Connected to Pin 4 Pin 7 RTS Connected to Pin 8 Pin 8 CTS Connected to Pin 7 Pin 9 Not Connected RS-232 CONNECTOR (FEMALE) LOOKING AT READER 5 4 3 2 1 9 8 7 6 IO Port Terminal Interface I/O Port Screw Terminal Connector (Female DB-9M) Pin 1 Pin 2 Pin 3 Pin 4 Pin 5 Pin 6 Pin 7 Pin 8 Pin 9 Pin 10 Pin 11 Pin 12 Pin 13 Pin 14 V+ Maximum Voltages[d3]
Output 0 Darlington pair, optically isolated Output 1 Output 2 Output 3 Output 4 Output 5 Output 6 Output 7 Input 0 Input 1 Input 2 Input 3 V-
ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 7 INTRODUCTION CHAPTER 1 I/O PORT SCREW TERMINAL (FEMALE) LOOKING AT READER 1 2 3 4 5 6 7 8 9 10 11 12 13 14 System Architecture Host Communication Interface Digital Control Circuitry RF Receiver Antenna Switch RF Source RF Modulator Figure 2 - System Architecture for the ALR-9800 Reader A0 A1 A2 A3 8 ALR-9780 Hardware Setup Guide DOC. CONTROL #8102002-000 REV 02 CHAPTER 2 READER HARDWARE INSTALLATION AND OPERATION CHAPTER 2 Reader Hardware Installation and Operation This chapter describes the RFID Reader and provides installation and operation information. Receiving the RFID Reader Your RFID Reader Kit is shipped with the items listed below. Please verify the contents of your received shipment before assembling.
RFID Reader
Power supply and cables (two sections: one attached, one detached)
RS-232 reader-to-PC cable
CD-ROM containing demonstration software, user guides and documentation The RFID Reader Developer's Kit includes the following additional items:
Two (2) circular or linear antennas with 6 meter coaxial cables
Ethernet cable
Software APIs and example code
An assortment of Class 1 UHF tags Figure 3 - ALR-9800 Developer's Kit[d4]
ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 9 READER HARDWARE INSTALLATION AND OPERATION CHAPTER 2 Reader I/O Panel The I/O panel (shown below) houses the following:
14-pin female I/O terminal block
LAN TCP/IP port
9-pin D female RS-232 serial port
Power connector Figure 4 - ALR-9800 Reader Connections Diagnostic LEDs The ALR-9800 includes diagnostic LEDs on the face of the reader to provide easy and convenient external indication for various operating conditions:
POWER (green) - indicates power is applied to the reader
LINK (green) indicates that the reader is connected to the network
ACTIVE (green) indicates reader is transmitting on the network
ANT 0 ANT 3 (green) indicates that the reader is transmitting power on the specified antenna port
CPU (green) indicates that the CPU has booted successfully and is running normally.
READ (green) indicates that the reader is receiving data from a tag
SNIFF (green) indicates a tag signal has been detected, though it may not be strong enough yet to complete a transaction.
FAULT (red) indicates a fault condition with the reader. 10 ALR-9780 Hardware Setup Guide DOC. CONTROL #8102002-000 REV 02 CHAPTER 2 READER HARDWARE INSTALLATION AND OPERATION Figure 5 ALR-9800 Reader Diagnostic LEDs Antenna Panel The antenna panel (opposite the readers I/O panel) contains four coax antenna connector ports as shown below. These are reverse-polarity TNC connectors. Also included on this panel is the Listen Before Talk (LBT) connector which will be available in future models. Figure 6 - Antenna Connections ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 11 READER HARDWARE INSTALLATION AND OPERATION CHAPTER 2 System Assembly and Bench Test Assembling the RFID Reader system is easy. We recommend you set up the system and verify its operation in a bench test configuration (shown below) before installing it in a production setting. Figure 7 - Typical Bench Test Setup Bench Test Configuration 1. Place the Reader on a tabletop. Ensure the following conditions:
A standard 120 or 220 VAC outlet is nearby. Figure 8 - RS-232 and Power Connections
Sufficient space is available on the tabletop for the reader and antenna. 2. Connect the RS-232 cable to the reader.
Align the male cable connector so that its shape and pins match the shape and holes of the female DB-9 RS-232 port. ALR-9780 Hardware Setup Guide DOC. CONTROL #8102002-000 REV 02 12 CHAPTER 2 READER HARDWARE INSTALLATION AND OPERATION Figure 9 - RS-232 Connector
Push the aligned connector into the port.
Finger-tighten the screws to secure the cable/connector to the reader. 3. Connect the RS-232 cable to the serial port on the PC.
Settings for RS-232 are 115200 Bits per second, 8 data bits, no parity, 1 stop bit, and no flow control.
Start up terminal software on the PC, such as HyperTerminal with these settings, and be prepared to observe the reader's messages as it boots up.
The RS-232 port serves only as console output for the reader at this time. It displays useful information while the reader boots, including network settings. 4. Connect the Ethernet cable to the reader and PC or LAN.
You must use TCP/IP to communicate with the reader, so connect a standard ethernet cable from the reader to a nearby LAN drop or network switch.
You may alternatively use a cross-over ethernet cable and connect the reader directly to the PC.
The reader comes preconfigured to look for a DHCP server to set it's network parameters. In the absence of a DHCP server, the reader will use the following settings:
IP Address: 192.168.1.100
Subnet Mask: 255.255.0.0
Gateway: 192.168.1.1 5. Connect the power supply to the reader.
Using the thin cable attached to power supply, push the connector into the port until it is securely seated. Do not plug the power supply into the wall outlet yet.
Finger-tighten the securing ring onto the connector. 6. Connect the coaxial cable(s) to antenna ports (in pairs).
Antenna port 0 is on the top right-side, if viewing the reader from the front with the flange side down. The ALR-9800 has four (4) antenna ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 13 READER HARDWARE INSTALLATION AND OPERATION CHAPTER 2 ports. If using the Alien Gateway software, please note that ANT 0 is selected by default when first initialized.
Antennas must be connected in pairs (one to transmit, one to receive). At this time, the reader pairs antenna 0 with antenna 1, and antenna 2 with antenna 3. This means that when antenna 0 is the active (transmit) antenna, antenna 1 will be the receive antenna, and vice versa. The same pairing applies to antennas 2 and 3.
Align the coax cables center pin and push into the port
Screw the fitting from the cable end onto the reader connector clockwise until finger-tight to secure the cable to the reader. 14 Figure 10 - Antenna Connections
Connect additional antennas to their respective ports and tighten fittings clockwise until finger-tight. 7. Plug power cord into power supply.
Use the female end of a standard 3-pronged power cord (a power cord is included with each reader) 8. Plug the power supply cable into the wall outlet and verify power.
The green POWER LED will illuminate when power is on. 9. Observe the reader's bootup trace, and determine the network settings. Toward the end of the trace, the reader displays a block of text similar to the following:
Network Settings:
MAC Address : 00:80:66:10:2D:12 DHCP : 1 IP Address : 10.9.8.10 Netmask : 255.255.255.0 Gateway : 10.9.8.2 DNS : 10.9.8.1 TimeServer : time-a.timefreq.bldrdoc.gov TimeZone : -7
10. Ensure the PC has compatible network settings. ALR-9780 Hardware Setup Guide DOC. CONTROL #8102002-000 REV 02 CHAPTER 2 READER HARDWARE INSTALLATION AND OPERATION
In order for you to be able to connect to the reader over TCP/IP, the host PC must be on the same subnet as the reader. If you are unfamiliar with how to do this, consult your local IT service for assistance.
Once the initial connection is made, you may configure your reader's network settings as you choose. Refer to the Reader Interface Guide for instructions on how to do this. You are now ready to bench test or demonstrate the RFID Reader system. Bench Test Procedure 1. Access an operational mode suitable for bench testing.
Select a mode that will allow multiple consecutive reads of a single tag, such as Global Scroll if using the Alien Gateway software.
Refer to the applicable software application user guide for specific instructions. 2. Position the reader so you can see the diagnostic LEDs.
You may also want to position the PC so you can view the monitor simultaneously for later tests. 3. Move a tag slowly away from the antennas range.
Begin with the tag well inside the expected read range (~2m or 6 ft) and move it toward the antenna while observing the LEDs. 4. Verify the SNIFF LED illuminates when the tag approaches the read window.
SNIFF should be illuminated green. 5. Verify the READ LED illuminates when the tag is inside the read window.
READ should be illuminated green. 6. Verify the host receives the tag data.
Refer to indications specified in applicable user guide to verify the tag was read successfully. If bench test conditions are verified, proceed to installation. 7. NOTE: To perform a hard reboot of the system, simply cycle power on the reader. Installation This section provides guidance for configuring components in your RFID system. You should consider the overall design of your specific system before permanently mounting the equipment. ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 15 READER HARDWARE INSTALLATION AND OPERATION CHAPTER 2 Installation involves all the same connection steps required for bench test. However, instead of placing equipment on a tabletop, the reader, antenna, and their accessories are mounted in your application environment. Requirements Before installing your RFID Reader system, you will need the following:
A PC running Windows 98 or higher, with Ethernet connectivity and, optionally, one available RS-232 serial port.
Standard 120 or 220 VAC power for the reader
Host software (Gateway, for example)
(Optional) extra antennas (if desired for additional coverage or configurations)
Additional RS-232 cables or antenna coax cables needed to accommodate routing requirements
Standard grounded, three-pronged power cord of desired length
Mounting hardware suitable for the surface to which equipment is to be attached (e.g., wood screws, moly-bolts, brackets, etc.) Figure 21 - View of the Reader showing mounting holes Hardware Installation Procedure 1. Select mounting position for antenna(s).[d9]
CAUTION: Reader antennas should be positioned so that personnel in the area for prolonged periods may safely remain at least 23 cm (9 in) in an uncontrolled environment from the antennas surface. See FCC OET Bulletin 56 Hazards of radio frequency and electromagnetic fields and Bulletin 65 Human exposure to radio frequency electromagnetic fields.
Mount the antennas at the periphery of the desired read window (either overhead or at the side), so that the position of the most distant tag passing through the window is no farther from the antenna than the maximum range specified for your system design.
Position the antennas at a height approximately midway between the highest and lowest expected tag position. (For example, a pallet tag may be the lowest tag position to be read, while the top-most case on a fully stacked pallet may represent your highest tag position.) 16 ALR-9780 Hardware Setup Guide DOC. CONTROL #8102002-000 REV 02 CHAPTER 2 READER HARDWARE INSTALLATION AND OPERATION
Mount the second antenna approximately 18 inches from the first antenna, facing the read zone, unless otherwise indicated in your system design specification.
NOTE: To maintain compliance with FCC regulations, use only antennas supplied with the unit. 2. Select mounting position for reader.
Reader should be positioned close enough to the antenna to accommodate the cable length without putting strain on the connectors.
Be sure power is available at the selected reader location. Install reader.
Secure the reader through the two mounting holes on either flange to its mounting location (wall, post, mounting bracket) using appropriate hardware.
If desired, position the reader so that the LEDs are easily observed. Install antennas.
Secure each antenna through the mounting holes on either flange to its mounting location using appropriate hardware. 3. 4. 5. Connect antennas to reader.
Route coax cables from the antennas to the reader according to your system design specifications and secure them properly.
Align the connector for each cable with the reader antenna port, push into the port, and finger-tighten the screw fitting. 6. Connect reader power.
Push the power supply connector into the reader port and tighten the retaining ring finger tight.
Plug the female end of the power cord into the power supply.
Plug the male end of the power cord into the 120 VAC outlet. 7. Connect reader to the LAN or host PC.
Align the RJ-45 connector with the corresponding TCP/IP port on the reader and push the connector in. Connect to the other end to a LAN drop or network switch. You may optionally connect the reader directly to a PC's network port, but you must use an Ethernet cross-over cable in this situation.
If you wish to observe the reader's bootup trace, align and connect a DB-
9 serial cable to the reader's RS-232 port, and to the serial port on the PC. Configure your terminal software as descibed previously in the Bench Test Configuration topic. ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 17 READER HARDWARE INSTALLATION AND OPERATION CHAPTER 2 9. You are now ready to use the reader. If using the Alien Gateway software, please refer to the Demonstration Software Guide included on your CD. System Operation: Software Control The ALR-9800 RFID Reader is controlled from software running on a host system that communicates with the reader using the ASCII-based Alien Reader Protocol. All applications use this protocol to communicate with the reader. You may operate the reader from your own application code, using the example code provided on the Developers Kit CD, or using the Alien RFID Gateway application which is a demonstration program also included on your CD. For more details, refer to either the Reader Interface Guide or the Demonstration Software Guide described briefly below. Reader Interface Guide The Alien Reader Protocol, mentioned previously, is described in detail in the Reader Interface Guide. Using this interface, the reader can be configured to read tags when queried or after one of a variety of event triggers (e.g., a rising edge on one of the I/O pins, or a timer). Tag data acquired in response to these triggers can be transmitted to the host in a number of formats (e.g., text, XML or custom) and under a number of conditions (e.g., on a new tag being observed, or a tag disappearing from view). If you are a software developer, the Reader Interface Guide provides the information you will need to connect to the reader from a host computer, communicate with it, and customize its performance. Demonstration Software Guide The Demo Software Guide describes the installation and operation of the Alien RFID Gateway application. The Alien RFID Gateway application is a useful demonstration program that allows users to explore the readers functionality and build customizable demos with a user-friendly interface. Using the Gateway, the various operating modes of the reader can be controlled and custom interactive demos can be constructed using sounds, images, and text. Alien RFID Academy[d10]
Need to absorb RFID systems fast? Enroll in the Alien RFID Academy. In three days we'll share our practical expertise in RFID Tags, Antennas, Readers, Frequencies, Systems, and Protocols. The Alien RFID Academy is a hands-on immersion into the workings, uses, and challenges of RFID technology. Rather than a product pitch, we put products to the test in the classroom, provide students with hands-on exposure in our RFID Solutions Center, and short-cut the learning curve by sharing practical solutions ALR-9780 Hardware Setup Guide DOC. CONTROL #8102002-000 REV 02 18 CHAPTER 2 READER HARDWARE INSTALLATION AND OPERATION to real-world challenges. You'll learn best industry practice tag placement techniques for packaging and pallets alike. Upon completion of the training, you will learn how to implement, avoid common costly mistakes, know how to make the correct decisions for your business, how to select the right RFID options for your requirements, and where to find RFID answers. Alien RFID Intermediate / Advanced Academy Topics:
RFID Physics, Protocols & Practical Applications Tag Placement & Packaging Considerations RFID Reader/System Configuration & Optimization Hands-on Implementation RFID System Architecture and Integration Conducting Site-surveys & Contending with Interference Please visit http://www.alientechnology.com/academy for more information. ALR-9800 HARDWARE SETUP GUIDE DOC. CONTROL #8102002-000-000 REV 02 19
1 | Manual 2 | Users Manual | 157.01 KiB |
ALIEN TECHNOLOGY QUICK INSTALLATION GUIDE ALR-9800 July 12, 2005 Cautions & Warnings!
Reader antennas should be positioned so that personnel in the area for prolonged periods may safely remain at least 23 cm (9 in) in an uncontrolled environment from the antennas surface. See FCC OET Bulletin 56 Hazards of radio frequency and electromagnetic fields and Bulletin 65 Human exposure to radio frequency electromagnetic fields. To operate the reader and the Alien RFID Gateway demo software you will need the following:
PC running Windows 98 or higher, with minimum 200 System Requirements MHz speed, and 128 MB RAM 120/220 VAC standard power outlet Minimum of 45 MB of available disk space Ethernet connectivity CD-ROM drive Alien Technology Corp. 18220 Butterfield Blvd. Morgan Hill, CA 95037 Tel 408-782-3900 Fax 408-782-3910 http://www.alientechnology.com 8102003-000 Rev 01 Quick Hardware Installation 1. Place the PC, reader, and antenna on a tabletop near two 120 VAC outlets. CAUTION: Set up the reader antennas so they are at least 9 inches away from the nearest person who will be in range of the RF signal for prolonged periods. (See full FCC caution on back page.) NOTE: When you are not actively using the reader for demonstration or programming purposes, we recommend you pull the power connector out of the reader to prevent unnecessary transmission of RF energy. 2. Connect an Ethernet cable from the reader to a nearby LAN drop or network switch. You must use TCP/IP to communicate with the reader. 3. Connect an Ethernet to the LAN port on the PC from a nearby LAN drop or network switch. 4. Connect the antenna coaxial cables to antenna port 0 and antenna port 1. Screw the fitting from the cable end onto the reader connector clockwise until finger tight to secure the cable to the reader. 5. Connect the DC power supply to the reader. 6. Plug the AC power cord into power supply. 7. Plug the AC power cord into the wall outlet and verify power. The green LED will be illuminated when power is on. NOTE: When you are not actively using the reader, we recommend you pull the power connector out of the reader to prevent unnecessary transmission of RF energy. 8. Plug in the PC (if necessary) and turn it on. 10. Launch the desired host software application (such as the Alien RFID Gateway). Quick Software Installation 1. Quit all applications/programs currently running on your PC (except Windows Explorer). 2. Place the Alien CD in your CD drive. 3. The CD will automatically launch the installation application. 4. Follow the on-screen instructions, clicking Next to move to the next 5. At the Install Finished screen, click Finish. 6. To launch the Alien RFID Gateway software, double-click on its icon
(located directly on the desktop, and under Start / Programs / Alien RFID / Gateway / Alien RFID Gateway). step. Ant with Alien 350 micron NanoBlock IC.
1 | Manual 3 | Users Manual | 930.88 KiB |
ALIEN TECHNOLOGY READER INTERFACE GUIDE All Fixed Readers July 12, 2005 ALR-9800 ALR-9780 ALR-8780 ALR-9770 ALR-9640 Legal Notices Copyright 2005 Alien Technology Corporation. All rights reserved. Alien Technology Corporation has intellectual property rights relating to technology embodied in the products described in this document, including without limitation certain patents or patent pending applications in the U.S. or other countries. This document and the products to which it pertains are distributed under licenses restricting their use, copying, distribution and decompilation. No part of this product documentation may be reproduced in any form or by any means without the prior written consent of Alien Technology Corporation and its licensors, if any. Third party software is copyrighted and licensed from Licensors. Alien, Alien Technology, the Alien logo, Nanoblock, Fluidic Self Assembly, FSA, Gen2Ready, Squiggle, Nanoscanner and other graphics, logos, and service names used in this document are trademarks of Alien Technology Corporation in the U.S. and other countries. All other trademarks are the property of their respective owners. U.S. Government approval required when exporting the product described in this documentation. Federal Acquisitions: Commercial Software -- Government Users Subject to Standard License Terms and Conditions. U.S. Government: If this Software is being acquired by or on behalf of the U.S. Government or by a U.S. Government prime contractor or subcontractor (at any tier), then the Government's rights in the Software and accompanying documentation shall be only as set forth in this license; this is in accordance with 48 C.F.R. 227.7201 through 227.7202-4 (for Department of Defense (DoD) acquisitions) and with 48 C.F.R. 2.101 and 12.212
(for non-DoD acquisitions). DOCUMENTATION IS PROVIDED AS IS AND ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARANTEES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGMENT ARE HEREBY DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. Alien Technology TABLE OF CONTENTS Reader Interface Guide All Fixed Readers July 12, 2005 Table of Contents CHAPTER 1 INTRODUCTION AND READER SETUP...............................................................................1 Audience .......................................................................................................................................................1 Type Conventions .........................................................................................................................................1 Requirements................................................................................................................................................2 Communicating with the Reader...................................................................................................................3 Serial Communication...................................................................................................................................3 Serial Configuration ................................................................................................................................3 Network Communication...............................................................................................................................6 Determine the Reader's Network Settings .............................................................................................6 ALR-9800 and ALR-9770.................................................................................................................6 All Other Readers.............................................................................................................................6 Connecting via TCP/IP ...........................................................................................................................6 TCP/IP Configuration..............................................................................................................................7 CHAPTER 2 READER FUNDAMENTALS ..................................................................................................9 Introduction ...................................................................................................................................................9 Reader Discovery and the Reader Heartbeat...............................................................................................9 DHCP and Automatic Discovery.............................................................................................................9 Serial Interrogation ...............................................................................................................................10 Network Heartbeats..............................................................................................................................10 Heartbeat XML Tags......................................................................................................................11 Heartbeats and Software ...............................................................................................................11 TagList Concepts ........................................................................................................................................11 PersistTime...........................................................................................................................................12 Tag Details............................................................................................................................................12 TagList Size..........................................................................................................................................12 Reading Tags over the Network .................................................................................................................12 Interactive Mode..........................................................................................................................................13 Autonomous Mode......................................................................................................................................13 A Note about AutoMode on the ALR-9770 ....................................................................................14 Defining the Autonomous Read Operation...........................................................................................14 Enter Autonomous Mode (Not shown on the state diagram.).......................................................15 Waiting State..................................................................................................................................15 Start Working Trigger.....................................................................................................................15 Working State.................................................................................................................................15 Stop Working Trigger/Timer...........................................................................................................16 Evaluation ......................................................................................................................................16 True/False Pause...........................................................................................................................16 Notification .....................................................................................................................................16 Autonomous Mode Examples...............................................................................................................16 Example 1 - Background Reading .................................................................................................16 Example 2 - Triggered Reading.....................................................................................................17 Example 3 - Triggered Reading with Notification...........................................................................17 Notification Mode ........................................................................................................................................17 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 i TABLE OF CONTENTS NotifyTime.............................................................................................................................................17 NotifyTrigger .........................................................................................................................................18 NotifyAddress .......................................................................................................................................18 NotifyFormat .........................................................................................................................................18 Listening for Tags over the Network ...........................................................................................................20 CHAPTER 3 TAG FUNDAMENTALS ........................................................................................................21 Introduction .................................................................................................................................................21 Alien RFID Tags..........................................................................................................................................21 Alien NanoBlock Tags ..........................................................................................................................21 Battery Assisted Passive (BAP) Tags ..................................................................................................21 Acquisition Modes .......................................................................................................................................22 Global Scroll .........................................................................................................................................22 Inventory...............................................................................................................................................22 Acquire Parameters..............................................................................................................................23 Masks and Tag Memory Structure..............................................................................................................23 Class I Tag Memory .............................................................................................................................24 Addressing a Subset of Tags ...............................................................................................................24 Persistent Sleep and Wake.........................................................................................................................25 Sleep, Wake, and Masks......................................................................................................................25 CHAPTER 4 ALIEN READER PROTOCOL ..............................................................................................26 Reader Operation Overview........................................................................................................................26 Overview of Commands..............................................................................................................................27 Interactive Mode.............................................................................................................................27 Autonomous Mode.........................................................................................................................27 Command Format.................................................................................................................................27 Suppressing Command Prompts..........................................................................................................28 Interactive Command Format ........................................................................................................28 Non-Interactive Command Format.................................................................................................28 Get and Set Shortcuts ..........................................................................................................................28 XML Messages.....................................................................................................................................28 Command List .............................................................................................................................................29 General Commands.......................................................................................................................29 Network Configuration Commands................................................................................................30 Time Commands............................................................................................................................30 External IO Commands..................................................................................................................31 TagList Commands........................................................................................................................31 Acquisition Commands ..................................................................................................................32 Autonomous Mode Commands .....................................................................................................33 Notify Mode Commands.................................................................................................................34 General Commands ....................................................................................................................................34 Help (h) .................................................................................................................................................34 Info (i)....................................................................................................................................................35
!.............................................................................................................................................................35 Save......................................................................................................................................................35 Q (Quit) .................................................................................................................................................35 Function................................................................................................................................................35 ReaderName ........................................................................................................................................36 ReaderType..........................................................................................................................................36 ReaderVersion......................................................................................................................................36 ReaderNumber .....................................................................................................................................37 Uptime ..................................................................................................................................................37 Username .............................................................................................................................................37 Password..............................................................................................................................................37 MaxAntenna..........................................................................................................................................38 ii READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 TABLE OF CONTENTS AntennaSequence ................................................................................................................................38 RFAttenuation.......................................................................................................................................39 FactorySettings.....................................................................................................................................40 Reboot ..................................................................................................................................................40 Network Configuration Commands .............................................................................................................41 MACAddress.........................................................................................................................................41 DHCP....................................................................................................................................................41 IPAddress .............................................................................................................................................41 Gateway................................................................................................................................................42 Netmask................................................................................................................................................42 DNS ......................................................................................................................................................43 NetworkTimeout....................................................................................................................................43 CommandPort.......................................................................................................................................44 HeartbeatPort .......................................................................................................................................44 HeartbeatTime......................................................................................................................................45 HeartbeatAddress.................................................................................................................................45 HeartbeatCount ....................................................................................................................................46 Time Commands.........................................................................................................................................46 TimeServer ...........................................................................................................................................46 TimeZone..............................................................................................................................................47 Time......................................................................................................................................................48 External I/O Commands..............................................................................................................................48 ExternalInput.........................................................................................................................................48 ExternalOutput......................................................................................................................................49 InitExternalOutput.................................................................................................................................49 InvertExternalInput ...............................................................................................................................50 InvertExternalOutput.............................................................................................................................50 TagList Commands .....................................................................................................................................51 Get TagList (t).......................................................................................................................................51 PersistTime...........................................................................................................................................52 TagListFormat.......................................................................................................................................52 TagListCustomFormat ..........................................................................................................................54 TagListAntennaCombine ......................................................................................................................55 Clear TagList ........................................................................................................................................56 Acquisition Commands ...............................................................................................................................56 AcquireMode.........................................................................................................................................56 Inventory ........................................................................................................................................57 Global Scroll...................................................................................................................................57 TagType................................................................................................................................................57 AcqCycles.............................................................................................................................................58 AcqC1Cycles ........................................................................................................................................59 AcqEnterWakeCount ............................................................................................................................59 AcqC1EnterWakeCount .......................................................................................................................59 AcqCount..............................................................................................................................................60 AcqC1Count .........................................................................................................................................60 AcqSleepCount.....................................................................................................................................60 AcqC1SleepCount ................................................................................................................................61 AcqExitWakeCount...............................................................................................................................61 AcqC1ExitWakeCount ..........................................................................................................................61 AcqG2Cycles........................................................................................................................................61 AcqG2Count .........................................................................................................................................62 AcqG2Q................................................................................................................................................62 AcqC0Cycles ........................................................................................................................................63 AcqC0Count .........................................................................................................................................63 Wake.....................................................................................................................................................64 Sleep.....................................................................................................................................................64 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 iii TABLE OF CONTENTS Mask .....................................................................................................................................................64 Autonomous Mode Commands ..................................................................................................................65 AutoMode .............................................................................................................................................65 AutoWaitOutput ....................................................................................................................................66 AutoStartTrigger ...................................................................................................................................66 AutoStartPause.....................................................................................................................................66 AutoWorkOutput ...................................................................................................................................67 AutoAction ............................................................................................................................................67 AutoStopTrigger....................................................................................................................................68 AutoStopTimer......................................................................................................................................68 AutoStopTimer and the ALR-9770.................................................................................................69 AutoTrueOutput ....................................................................................................................................70 AutoTruePause.....................................................................................................................................71 AutoFalseOutput...................................................................................................................................71 AutoFalsePause ...................................................................................................................................71 AutoModeStatus ...................................................................................................................................72 AutoModeReset....................................................................................................................................72 AutoModeTriggerNow...........................................................................................................................72 Notify Mode Commands..............................................................................................................................73 NotifyMode............................................................................................................................................73 NotifyAddress .......................................................................................................................................73 NotifyTime.............................................................................................................................................74 NotifyTrigger .........................................................................................................................................74 NotifyFormat .........................................................................................................................................75 NotifyHeader.........................................................................................................................................76 NotifyKeepAliveTime ............................................................................................................................76 MailServer.............................................................................................................................................77 MailFrom...............................................................................................................................................77 NotifyRetryCount ..................................................................................................................................77 NotifyRetryPause..................................................................................................................................78 NotifyNow .............................................................................................................................................78 CHAPTER 5 TAG PROGRAMMING..........................................................................................................79 Enabling The Programmer..........................................................................................................................79 Tag Memory Structure ................................................................................................................................79 Class I Tags (96-bit) .............................................................................................................................80 Class I Tags (128-bit) ...........................................................................................................................80 Class BPT Tags....................................................................................................................................81 Programming Distance & Power Levels .....................................................................................................81 Programming Power.............................................................................................................................81 Programming Range ............................................................................................................................82 Programming Problems........................................................................................................................82 Programming Slept Tags......................................................................................................................82 Programming Commands Summary...........................................................................................................83 Program and Erase Functions ....................................................................................................................83 Program Tag.........................................................................................................................................83 Class I Tags ...................................................................................................................................84 Class BPT Tags .............................................................................................................................84 Erase Tag .............................................................................................................................................84 ProgAntenna.........................................................................................................................................85 ProgReadAttempts ...............................................................................................................................85 ProgEraseAttempts ..............................................................................................................................85 ProgAttempts........................................................................................................................................86 Lock and Kill Functions (Class I Only) ........................................................................................................86 Lock Tag...............................................................................................................................................86 Kill Tag..................................................................................................................................................87 iv READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 TABLE OF CONTENTS Acquire vs. Verify ........................................................................................................................................88 Verify Tag .............................................................................................................................................88 Programming Tags in AutoMode ................................................................................................................89 ProgramID ............................................................................................................................................89 ProgramPassCode ...............................................................................................................................90 ProgIncrementOnFail ...........................................................................................................................90 Autonomous Mode Program.................................................................................................................91 Autonomous Mode Program and Lock.................................................................................................91 Autonomous Mode Erase.....................................................................................................................91 Autonomous Mode Kill..........................................................................................................................92 APPENDIX A DTDS FOR XML DATA STRUCTURES .............................................................................93 Heartbeat DTD ............................................................................................................................................93 TagList DTD ................................................................................................................................................93 Notification DTD ..........................................................................................................................................93 APPENDIX B UPGRADING READER FIRMWARE..................................................................................94 ALR-9780, ALR-8780, ALR-9640 ...............................................................................................................94 ALR-9800 ....................................................................................................................................................94 ALR-9770 ....................................................................................................................................................94 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 v CHAPTER 1 INTRODUCTION CHAPTER 1 Introduction and Reader Setup This Reader Interface Guide provides instructions for installing and operating the following Alien Technology RFID readers:
ALR-9800 (Multi-Protocol)
ALR-9780 (US 4-port)
ALR-8780 (EU 4-port)
ALR-9770 (Dual-Protocol)
ALR-9640 (Smart Antenna) This guide also details the protocol used between a host and these readers for system configuration and the acquisition of data by application software. This document is designed for use by RFID system integrators and software developers - those who wish to develop software products and extended systems that take full advantage of the RFID Reader's capabilities. For an overview of RFID technology and a glossary of terms, please refer to the RFID Primer included with your RFID Reader kit. Audience For the purposes of this document, we assume the readers of the Reader Interface Guide:
are competent PC users
may be IT specialists, network specialists or programmers
have minimal previous knowledge of RFID technology
are experienced in software development and/or hardware systems integration Additionally, it is assumed that:
Users installing the reader via direct serial communication are skilled in the application of RS-232 serial protocol.
Users installing the reader for network communication are skilled in basic network configuration.
Programmers are competent in at least one programming or scripting language and have the ability to issue ASCII-based commands with that language. Type Conventions
Regular text appears in a plain, sans-serif font. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 1 INTRODUCTION CHAPTER 1
External files and documents are referenced in italic text.
Specific characters and commands to be typed are shown within quotation marks, and/or in fixed-width font. Example: At the prompt type set DHCP=ON.
Values to be provided and typed in by the user are shown within brackets in upper and lowercase. Example: At the prompt type set IPaddress=[IP address value] or set IPaddress=xxx.xxx.xxx.xxx. The actual command typed in would appear as: set IPaddress=10.1.60.5.
Blocks of sample code or commands appear:
indented, in a fixed-width serif font.
Keys to be pressed are shown in brackets and all caps. Example: Press the [ENTER] key.
Upon entering any command instruction, you must press [ENTER] to send the command.
RFID Reader commands are not case sensitive. Although, for clarity, the commands may be shown in upper and lower case in this document, you may type them in all lowercase characters, if you prefer.
A space is required between the command (verb) such as get or set and the specific parameters, as in the example get IPaddress. However, no space is required between the parameter elements such as IP and address. Requirements In order to fully interface with the RFID Reader you will need the following:
a PC running Windows 98 or higher, with CD-ROM drive and an available RS-232 serial port
standard 120 VAC power
host software (Alien demo software or your own custom software)
RFID Tags (AIDC Class I compliant) Serial communication requires:
running on any computer
a text-based serial communications program (such as HyperTerminal) Ethernet communication requires:
an Ethernet network
a Telnet communication program READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 2 CHAPTER 1 INTRODUCTION Communicating with the Reader This section of the Reader Interface Guide describes how to connect the reader on a host computer, as well as how to issue commands and interact with the reader using two different communication methods: serial (RS-232) and Telnet
(TCP/IP). Whether using direct serial communication with the reader or using one of the network communication options, you may still need serial communications for initial reader setup. The CD provided with an RFID Reader Developers Kit also includes extensive examples of code developed by Alien for the RFID Reader that use the Java, Visual Basic, and .NET programming languages. These examples serve as models for developing new software for the reader. Serial Communication This method is helpful for installing a new RFID Reader. Serial communication requires no pre-configuration and can be performed easily with most computers. This method enables real-time operation of the reader via a serial communications (COM) port. Serial communication is the simplest means by which to interface with the reader and implement the Alien Reader Protocol. The reader is configured to use DHCP to acquire its network settings, and while this method of network configuration is simple and convenient, the problem exists that in order to communicate with the reader, you have to know its IP address. Alien readers have a heartbeat mechanism to assist in discovery of readers on the network, but this mechanism requires a host application (such as the Gateway demonstration software) to intercept the heartbeat messages and report them back to you. In these circumstances, the serial interface can be used to determine the reader's network address. The serial port of the ALR-9770 and ALR-9800 readers serve as a console display to the reader only. Communication using the Alien Reader Protocol is provided only through the TCP/IP interface. The serial port is still useful in determining the network settings of the reader, when other options are not available. A serial command interface for these readers may be provided as a future upgrade. Serial Configuration Whether you will ultimately be operating the reader directly via serial communications or via a network connection, you will need to install the reader initially using the serial port instructions. NOTE: Example screens shown in this section are from HyperTerminal. 1. Ensure the reader is properly connected to power and at least one antenna. See the Hardware Setup Guide for more information. 2. Connect one end of the serial cable to the readers RS-232 port and the other end to either COM1 or COM2 port on the host computer. 3. Launch the desired serial communications program (such as HyperTerminal which is supplied with Microsoft Windows). READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 3 INTRODUCTION CHAPTER 1 4. Enter (or verify) the following settings to configure the serial communications program:
Baud Rate Data Bits Parity Stop Bits Flow Control
: 115200
: 8
: None
: 1
: None Once configured, the software should allow you to communicate with the RFID Reader. HyperTerminal example configuration screens are shown below:
5. Power up the reader, and observe the information reported over the serial port. Perhaps the most important bits of information are the network settings, since you need to know this in order to communicate with the reader using TCP/IP. The ALR-9800 displays a block of text similar to the following, toward the end of the bootup sequence:
Network Settings:
MAC Address : 00:80:66:10:2D:12 DHCP : 1 IP Address : 10.9.8.10 Netmask : 255.255.255.0 Gateway : 10.9.8.2 DNS : 10.9.8.1 TimeServer : time-a.timefreq.bldrdoc.gov TimeZone : -7
Similarly, the ALR-9770 displays a block of text similar to the following when it boots up:
4 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 1 INTRODUCTION ixp1 Link encap:Ethernet HWaddr 00:0A:55:00:01:10 inet addr:10.9.8.10 Bcast:10.255.255.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:602 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:256 For all other readers, the bootup trace displays text such as the following:
Boot> Booting Alien RFID Reader Boot> Boot Level 1 (Console Communication) : Success Boot> Boot Level 2 (Reader Communication) : Success Boot> Boot Level 3 (Command Set) : Success Boot> Boot Level 4 (Tag Manager) : Memory for 1000 Tags Boot> Boot Level 5 (Initializing Network Interface) : ... Boot> Boot Level 6 (Network) : Success - IP Address is 10.9.8.10 Boot> Boot Level 7 (Telnet Interface) : Success - Port 23 Ready Both traces indicate that the reader can be contacted over TCP/IP at the address 10.9.8.10, on port 23. If your reader supports the Alien Reader Protocol over serial the serial interface, you will see the "Alien >" command prompt. At the command prompt, you may now type any command followed by the [ENTER] key to submit the command. The following basic commands are helpful in verifying the reader-host interface:
"Help" (or h) provides a list of all commands available
"Info" (or i) provides a list of current settings for the reader
"get TagList" (or "t") scans field immediately for tags and reports the results NOTE: RFID Reader commands are case insensitive and may be typed in all lowercase characters, if preferred. 6. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 5 INTRODUCTION CHAPTER 1 For a detailed explanation of all commands available, please refer to the chapter titled Alien Reader Protocol. Network Communication TCP/IP communication requires a network connection via the readers Ethernet port and allows the reader to operate like a Telnet server. This mode offers the same form of command line interaction with the RFID Reader as the serial interface, but requires the RFID Reader to be configured for and running on a network in order to use it. By default, all RFID Readers are pre-configured to use DHCP when presented with an Ethernet connection. However, you must first establish a direct serial connection in order to learn the readers IP Address, or be able to detect
"heartbeat" messages sent out over the network by the reader. Determine the Reader's Network Settings Once your readers are set up and configured, you should either keep a record of their addresses, or use some other mechanism for finding them, such as the reader's Heartbeat messages (described later). Following are instructions for querying the reader for this information. ALR-9800 AND ALR-9770 All of the relevant network settings for the ALR-9800 and ALR-9770 readers are displayed in the bootup sequence (see previous topic on Serial Communication), notably, the IP Address and Subnet Mask. ALL OTHER READERS There are five network commands that are used for querying the reader for its network configuration.
get DHCP
get IPAddress
get Netmask
get Gateway
get DNS Once you have the IPAddress and Netmask of the reader, you can connect to it using TCP/IP. Connecting via TCP/IP The reader's TCP/IP interface mimics a basic telnet interface, so you can use any telnet client to connect to the reader. Windows users can use the telnet command at the command prompt or "Start -> Run" window:
telnet <ipaddress> <command port>
For instance, in the earlier example, the command would be:
telnet 10.9.8.10 23 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 6 CHAPTER 1 INTRODUCTION To do this programmatically, simply open a TCP socket to the reader on its command port (default is 23) and begin reading. Refer to chapter 4, Alien Reader Protocol, for details on how to properly terminate command strings, detect the end of a reader's response, and disable the "Alien >" prompt text from the returned data. Default settings are:
Username = alien Password = password You are now ready to interact with the reader. For telnet operation, you use the same text-based commands as in direct serial communication. The only difference is in the use of the q command to quit the telnet session and disconnect the session. The reader automatically disconnects an idle TCP/IP connection, if there has been no activity longer than the NetworkTimeout setting. Reader commands and instructions on their use are provided later in the chapter titled, Alien Reader Protocol. TCP/IP Configuration To configure the system for network operation, you will use the commands shown under the "NETWORK" heading of the reader's "Help" display. There are five network commands that are used for network configuration:
get|set DHCP
get|set IPAddress
get|set Netmask
get|set Gateway
get|set DNS 1. To view the command list, type h or help. network parameters the next time the reader boots. If DHCP is supported at your site:
2. Type set DHCP=ON. DHCP automatically configures the rest of the 3. Skip to step 7. If DHCP is not supported at your site:
4. Type set DHCP=OFF. The reader returns the message DHCP = OFF. 5. Contact your system administrator for the following parameter values:
IPAddress Netmask (also known as Subnet Mask) Gateway (optional) DNS (optional) 6. Type each of the 4 commands below with the assigned values:
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 7 INTRODUCTION CHAPTER 1 set IPaddress = xxx.xxx.xxx.xxx set Netmask = xxx.xxx.xxx.xxx set Gateway = xxx.xxx.xxx.xxx (optional) set DNS = xxx.xxx.xxx.xxx (optional) As each value is accepted, the reader replies with the accepted value. 7. Type Reboot to reboot the reader and apply the new network settings. The network settings can be immediately applied in the ALR-9800 by using the "NetworkReset" command. This causes the network interfaces to be shut down and restarted with the new settings. Note that both the "Reboot" and
"NetworkReset" commands will drop any active TCP/IP connections. 8 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 2 READER FUNDAMENTALS CHAPTER 2 Reader Fundamentals This chapter provides an overview of the major features found in an Alien RFID Reader. Specific instructions for setting up a reader are provided in the previous chapter. Reader commands and their uses are covered in the next chapter. Introduction The most basic function of the RFID Reader is to read RFID tags and to give a user or application access to a list of these tags. The RFID Reader is designed to perform this function either connected to a host via serial cable, or on a network. To assist in the administration of networked operation, the reader has two important features designed to simplify network management:
Reader "heartbeats" allow network applications to easily discover readers on a network.
Autonomous Mode allows unattended readers to look for tags and send notification messages to listening services on the network when certain conditions arise. These important concepts, along with the basics of communicating with the reader, are discussed in this chapter. Reader Discovery and the Reader Heartbeat One of the problems common to many network appliances is simply discovering the address of the device on the network. To operate these devices over the network, users must know the devices IP address. If an IP address is hard-coded into the device, this problem is solved, and often a label on the device can be used to indicate the IP address. However, many systems do not use hard-coded IP addresses, requiring the network to assign an address each time the device is booted. This is called DHCP, which stands for Dynamic Host Configuration Protocol. DHCP and Automatic Discovery The DHCP mode of configuration eliminates the need for the user to perform network configuration for the device. The device simply is plugged into the network socket, booted, and immediately becomes a citizen of the network, acquiring its network settings directly from the DHCP server.. However, the user still needs to learn the IP address of the device. All that is known at this point is that the device does have an IP address and has booted itself on the network. The actual IP address the device is using is still not known. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 9 READER FUNDAMENTALS CHAPTER 2 Serial Interrogation One of the simplest methods to find out the readers IP address is to connect via the RS-232 port and type the command get IPaddress. The reader responds with the IP address currently in use. However, this requires a physical connection between a host computer and the readera connection that in many cases is simply not practical to set up. Additionally, as noted previously, the ALR-9800 and ALR-9770 readers do not provide a serial command interface at this time. Network Heartbeats Another way to find out a readers IP address is to listen for its heartbeat messages over the network. After a reader has booted successfully onto a network it periodically broadcasts a heartbeat message over the network. This heartbeat can be intercepted by network applications, and provides enough information about the reader to locate it on the network and begin communication with it. In network parlance, the heartbeat message is sent via UDP (Universal Datagram Protocol) packets to all network addresses on the readers subnet. There are three relevant configuration options available via the readers command line to affect this heartbeat:
set | get HeartbeatTime: This command specifies the time interval separating successive heartbeat messages sent out over the network. The time is specified in seconds, with a value of zero turning off the heartbeats. The default value is 30 seconds, i.e. send out a heartbeat message every 30 seconds.
set | get HeartbeatPort. This command specifies the port number that the UDP heartbeat messages are addressed to. This is the port number that must be listened to by interested parties on the network. The default value for this setting is 3988, i.e. send out a heartbeat message to UDP port 3988 of every machine on the subnet.
set | get HeartbeatAddress. This command specifies a particular IP Address that the UDP heartbeat messages are addressed to. The default value is 255.255.255.255, which is a special "multicast" addressed which allows any machine on the subnet to receive the heartbeats. Any other HeartbeatAddress results in the heartbeats going only to the machine at that address.
set | get HeartbeatCount. This command is implemented only on the ALR-9800, and allows you to specify the total number of heartbeat messages to send. This allows for the immediate discovery of readers as they come online, but doesn't continuously load the network with unnecessary traffic. The format of the heartbeat is a small XML text-based message, containing information about the reader (name and type), the readers network connection
(IP address and command port) and the length of time until the next heartbeat will be sent out. 10 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 2 READER FUNDAMENTALS
<Alien-RFID-Reader-Heartbeat>
<ReaderName>Alien RFID Reader</ReaderName>
<ReaderType>
Alien RFID Tag Reader, Model: ALR-9780
(Four Antenna / EPC Class 1 / 915 Mhz)
</ReaderType>
<IPAddress>10.1.60.5</IPAddress>
<CommandPort>23</CommandPort>
<HeartbeatTime>30</HeartbeatTime>
<MACAddress>01:02:03:04:05:06</MACAddress>
</Alien-RFID-Reader-Heartbeat>
HEARTBEAT XML TAGS ReaderName is the user-defined name associated with the reader. This name can be set by a user to help identify which reader is which. For example, multiple readers in a warehouse may be named loading bay 1, loading bay 2 etc., thus providing a clear indication as to the physical location of the reader. ReaderType details the specific type of reader sending out the heartbeat. This information is hard-coded into the readers firmware and is not user-configurable. IPAddress and CommandPort elements detail the location of the reader on the network. The IP address is simply the network address of the reader. The command port is the port number on which the reader is listening for incoming user commands. Typically, this is port 23, the standard telnet port, allowing a user to communicate with the reader over the network by typing telnet
[IPAddress] into the command line of most computers. HeartbeatTime is the time until the next heartbeat. This time (in seconds) enables any application software to detect when a reader is powered-down or the network connection breaks; if a new heartbeat is not received after the expected time elapses, then such an interruption to normal service can be detected. MACAddress gives the unique identifier assigned to the reader's network interface hardware by the manufacturer. It is provided in the ALR-9800 and ALR-
9774 heartbeat messages only. HEARTBEATS AND SOFTWARE The RFID Developers Kit CD that may accompany the reader provides source code and software libraries to listen for these network heartbeats, in the Java,
.NET, and Visual Basic languages. The Alien RFID Gateway application, bundled with all readers, uses the Java version of these libraries to build its active reader list on the main screen. The latest Gateway version at the time of this writing is v2.14.13. Alien recommends users download the install the latest version of Gateway software. TagList Concepts During normal operation, the reader always has a concept of "what's out there"
by maintaining an internal list of the tags that are active. Active tags are those read by the reader at least once within a predefined interval. Any new tags presented to the reader are added to the list, and any tags that have not been seen for a period of time (the PersistTime) are removed from the list. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 11 READER FUNDAMENTALS CHAPTER 2 At any time, a programmatic call can be made to the reader to retrieve this list of tags. 8000 0100 8820 FFA4 New tags detected are added to the TagList. 8000 0100 8820 3F02 8000 0400 0232 3F06 8020 0150 2057 3F12 8000 0200 8020 3F16 Reader TagList... All tags listed are active. 8000 0100 8820 3F09 Tags not read for a while are removed from the list. PersistTime The persist time defines the duration between the time a tag was last read and the time it is automatically purged from the TagList. Setting this value to a small time (~1 second) will cause the TagList to contain only what the reader has seen in the last second, i.e., a fair representation of what the reader sees at any one time. Setting the persist time to a long duration allows a history of tags to be built up. For example, setting the persist time to 3600 seconds allows a list to be built up detailing all the tags that were read over the last hour. Setting PersistTime to 1 has the special effect of keeping tags on the list indefinitely until the TagList is delivered to a host, at which point the TagList is cleared. This is the default value, and the only value allowed on the ALR-9770. Tag Details Each entry in the TagList contains a number of sub fields: the Tag's unique ID, the read count (the number of times the tag has been read in the current session), the discovery time (the time the tag was first seen), the last observed time, the antenna (the antenna ID that the tag was last read from), and others. TagList Size The ALR-9800's TagList can hold up to 6000 tag entries. Other Alien RFID readers can handle up to 1000 entries. Reading Tags over the Network The Alien RFID reader provides two methods with which to read tags: Interactive Mode and Autonomous Mode.
Interactive Mode - the controlling application issues commands to the reader to read tags. This command will always immediately return with a list of tags in the reader's field of view.
Autonomous Mode - the reader constantly reads tags, and may initiate a conversation with a network listener when certain events arise. 12 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 2 READER FUNDAMENTALS While both methods are equally useful, the choice will ultimately be determined by the needs of the controlling application. Although it may be easier and require less coding to work in Interactive Mode, a little investment in programming effort lets the user set up Autonomous Mode to provide a more scalable system for multiple readers. In addition, readers that spend less time communicating with the host can spend more time looking for tags. Interactive Mode Reading tags in Interactive Mode is as simple as issuing a single command to the reader. This command is get TagList. This causes the reader to initiate a tag search, and report back the current TagList. Depending on the PersistTime and recent tag activity, the returned data may include tag read data from previous reads. Following is an example of what the default TagList format
("Text") looks like. Tag:041C 1820 2812 4080, Disc:2003/01/21 02:24:00, Last:2003/01/21 02:24:00, Count:1, Ant:0 Tag:1155 8B14 5661 D40B, Disc:2003/01/21 04:14:47, Last:2003/01/21 04:24:00, Count:1, Ant:0 The format of the TagList can be specified using the set TagListFormat command. One of the options is XML format, which would return the same TagList as:
<Alien-RFID-Tag-List>
<Alien-RFID-Tag>
<TagID>041C 1820 2812 4080</TagID>
<DiscoveryTime>2003/01/21 02:24:00</DiscoveryTime>
<LastSeenTime>2003/01/21 02:24:00</LastSeenTime>
<ReadCount>1</ReadCount>
<Antenna>0</Antenna>
</Alien-RFID-Tag>
<Alien-RFID-Tag>
<TagID>1155 8B14 5661 D40B </TagID>
<DiscoveryTime>2003/01/21 02:24:00</DiscoveryTime>
<LastSeenTime>2003/01/21 02:24:00</LastSeenTime>
<ReadCount>1</ReadCount>
<Antenna>0</Antenna>
</Alien-RFID-Tag>
</Alien-RFID-Tag-List>
Additional formats include "Terse", and "Custom". See the TagListFormat section in Chapter 4, Alien Reader Protocol for details on all of the TagList formats. Autonomous Mode Autonomous Mode is a configuration and operation mode that enables automated monitoring and handling of tag data. You first issue a series of configuration commands to the reader which specify how and when to read tags, and optionally what to do with the tag data. Once configured in this mode, the reader can be left to operate on its own. An application on a host computer can then be set up to listen for notification messages from the reader containing any tag data that it has read. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 13 READER FUNDAMENTALS CHAPTER 2 One of the major benefits to this mode of operation is that many readers can be configured to send tag messages to a single host. Thus, a single application can listen for and process data from multiple readers over the network. A NOTE ABOUT AUTOMODE ON THE ALR-9770 The ALR-9770 reader implements a simplified version of the AutoMode found on other Alien readers. Digital I/O hasn't been implemented, so the use of start and stop triggers (discussed on the following pages) doesn't apply. Also, the ALR-
9770 lacks the Notify engine, so there is no asynchronous notification mechanism. Defining the Autonomous Read Operation Autonomous Mode functionality is summarized in the state diagram shown below. Fundamentally, a reader operating in Autonomous Mode moves between several states: Waiting, Working, Evaluation, and Notification. Waiting, Working, and Evaluation states have associated with them an optional digital output state that is set upon entering the state. Movement from one state to the next is initiated by an expiration of a timer, a triggered event on the digital input lines, or changes to the TagList. Each element of the State Diagram is described below. Associated with each element are one or more commands that are used to configure the reader. no no no Wait
(AutoWaitOutput) AutoStartTrigger?
AutoStartPause Expired?
(ALR-9800) AutoAction
(AutoWorkOutput) AutoStopTimer Expired or AutoStopTrigger?
Evaluation
(New Tag? Programmed?) True Evaluation
(AutoTrueOutput) False Evaluation
(AutoFalseOutput) no no AutoTruePause Expired?
AutoFalsePause Expired?
no Notification Needed?
Issue Notification Autonomous Mode State Diagram 14 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 2 READER FUNDAMENTALS ENTER AUTONOMOUS MODE (Not shown on the state diagram.) The user puts the reader into Autonomous Mode with the set AutoMode command. set AutoMode=On puts the Reader into Autonomous Mode. Set AutoMode=Off turns off Autonomous Mode. WAITING STATE Upon entering Autonomous Mode, the reader automatically enters the Waiting State. While waiting for a Start Working Trigger (see below) the reader holds the digital output lines at a value set by the AutoWaitOutput command. For example, set AutoWaitOutput=1 causes digital output line 1 to go high while the reader is in the Waiting state. 8 7 6 4 1 0 9 5 3 2 START WORKING TRIGGER The receipt of a trigger pattern on the digital input lines causes the reader to move from the Waiting state to the Working state. The start condition is set by the AutoStartTrigger command. The AutoStartTrigger command takes two parameters, a rising edge pattern and a falling edge pattern. Each pattern is a single integer which is a bitmap of the desired input triggers, where input pin #1 is represented by bit 0, input pin #2 is represented by bit 1, etc. The table below illustrates the bitmap values that correspond to different pin combinations. This table holds for both input as well as output pin bitmaps. Digital Input Value Pin #1 Pin #2 Pin #3 Pin #4 The command, set AutoStartTrigger=2,0 causes the reader to enter the working state on receipt of a rising edge on pin 2, while set AutoStartTrigger=0,3 causes the reader to enter the working state after the receipt of a falling edge on pins one or two. set AutoStartTrigger=0,0 causes the reader to immediately drop into the Working state. The ALR-9800 has an additional property, AutoStartPause, which causes the reader to pause the specified number of milliseconds after receiving a start trigger before transitioning to the working state.
10 11 12 13 14 15
WORKING STATE In the working state, the reader holds the digital output lines at the value defined by the AutoWorkOutput command. set AutoWorkOutput=3 holds the first two output lines high while the reader is working. The action the reader performs while in the working state is determined by the AutoAction command. set AutoAction=Acquire causes the reader to repeatedly acquire TagList data using the parameters set in the AcquireMode and READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 15 READER FUNDAMENTALS CHAPTER 2 PersistTime commands. The reader continues working until the Stop Working Trigger conditions are met. (see below) STOP WORKING TRIGGER/TIMER Like the Start Working Trigger, the Stop Working Trigger can be a change on the digital input lines, but can also be the expiration of a timer. Use the AutoStopTrigger command with a rising, falling edge pattern to set the trigger conditions. set AutoStopTrigger=1,0 looks for a rising edge on pin 1 before leaving the Working state. In addition, one may use the AutoStopTimer command to repeat the Working action for a specified period of time. For example, set AutoStopTimer=1300 causes the reader to perform the Working action for 1.3 seconds before moving on to the Evaluation stage. If both a stop trigger and a stop timer are specified, whichever event happens first fill stop the working state. EVALUATION At the Evaluation decision point, the reader looks to see if new tags have been added to the TagList since the last evaluation. If so, it drops to the AutoTruePause state, if not, it drops to the AutoFalsePause state. Note: the Evaluation looks at the TagList and therefore is very much dependent on the value of the PersistTime setting. TRUE/FALSE PAUSE After evaluation, the Reader sets the output lines to the values specified in the AutoTrueOutput and AutoFalseOutput commands. This condition is held for AutoTruePause or AutoFalsePause milliseconds before the test for Notification begins. For example, set AutoTrueOutput=1 and set AutoTruePause=20 cause the reader to hold output pin #1 high (and all others low) for 20 milliseconds before proceeding. NOTIFICATION If NotifyMode is enabled (set NotifyMode=On) and the specified NotifyTrigger has occurred, the reader issues an notification message. The NotifyTrigger is specified with the set NotifyTrigger command and can be set to Add, "Remove, Change, True, False, or "TrueFalse", as described in the next topic. If a notification is to be issued, the TagList data is sent to the NotifyAddress. The reader then returns to the Waiting state. Autonomous Mode Examples EXAMPLE 1 - BACKGROUND READING In this case, we would like the reader to monitor the tag field continuously. The application will periodically ask for the TagList. If a new tag is seen, output pin 1 will be flashed high for 500 msec. Otherwise, output pin 2 will be flashed high for 500 msec. 16 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 2 READER FUNDAMENTALS AutoModeReset set AutoAction = Acquire set AutoStartTrigger = 0,0 set AutoStopTimer = 0 set AutoTrueOutput = 1 set AutoTruePause = 500 set AutoFalseOutput = 2 set AutoFalsePause = 500 set AutoMode = On EXAMPLE 2 - TRIGGERED READING Here a forklift will cause an electric eye to send a signal to the reader. We want the reader to look for a rising edge on this signal and scan for tags for 1.8 seconds before going back to the Waiting state. We won't make any changes to the output pins. AutoModeReset set AutoAction = Acquire set AutoStartTrigger = 1, 0 set AutoStopTimer = 1800 set AutoTruePause = 0 set AutoFalsePause = 0 set AutoMode = On EXAMPLE 3 - TRIGGERED READING WITH NOTIFICATION A trigger is used to start the reading. If a tag is found, send an email message. After the email is sent, return to the waiting state. AutoModeReset set AutoAction = Acquire set AutoStartTrigger = 1, 0 set AutoStopTimer = 0 set AutoTruePause = 0 set AutoFalsePause = 0 set NotifyAddress = borg@mycompany.com set MailServer = mail.mycompany.com set NotifyTrigger = Add set NotifyMode = On set AutoMode = On Notification Mode The last stage in configuring the Autonomous Mode is to tell the reader under what conditions to notify listeners about TagLists. Listeners (network applications
/ people) are notified only when specific conditions arise, such as when new tags are read, or when tags disappear from view. Note: Notification Mode is not supported on the ALR-9770 reader at this time. NotifyTime The NotifyTime command instructs the reader to send out a copy of its TagList to a listener every n seconds, regardless of whether the TagList has changed or not. This is a simple way to force the reader to send out its TagList to a listener. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 17 READER FUNDAMENTALS CHAPTER 2 NotifyTrigger The NotifyTrigger command specifies a condition that must occur before a TagList is sent out to a listener. There are a number of possible triggers that can be used:
Trigger Add Remove Change True False TrueFalse Trigger Condition Tag Data Included Only the removed tags. Entire TagList. A new tag was read and added to the TagList. Only the added tags. A tag was removed from the TagList. A tag was either added to, or removed from, the TagList. The evaluation task of the autonomous state loop evaluates to true
(typically when a tag is added to the TagList). the evaluation task of the autonomous state loop evaluates to false
(typically when no tag is added to the TagList) the evaluation task of the autonomous state loop evaluates to true or false
(i.e. every autonomous mode cycle) Entire TagList. Entire TagList. Entire TagList. NotifyAddress You must tell the reader where to send notification messages when it is operating in Autonomous Mode. The reader can be instructed to send messages to a specific machine on the network, or via email to a specific email address. This is configured using the command:
set NotifyAddress = <address>
The format of <address> indicates the method of delivery:
NotifyAddress hostname:port user@domain.com serial Description Send a message to a specified port on a networked machine. The address takes the form hostname:port. For example, 123.01.02.98:3450 or "listener.alientechnology.com:10002 Send a message via e-mail to the address specified. The address is specified in standard email form, i.e., user@domain.com NOTE: the MailServer parameter must be configured for this to work. Send a message to the serial connection. The word serial is used as the address, and is not case sensitive. NotifyFormat You can tell the reader the format for any notification that it issues. When a notification message is sent out, it contains two parts:
18 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 2 READER FUNDAMENTALS
The first part, the header, provides details about the reader that sent the message, and the reason the message was sent.
The second part is the TagList - either newly added or removed tags, or the complete list of tags as seen by the reader, depending on the NotifyTrigger. The format of the message is configured using a single command:
set NotifyFormat = format The format may be one of the following:
NotifyFormat Text Terse XML Custom Description Plain text messages, one tag ID per line. Plain text messages, one tag ID per line, compact form XML text format Same as Text format, except the contents of each tag ID line is defined by the TagListCustomFormat parameter Text-formatted notifications take the form:
#Alien RFID Reader Auto Notification Message
#ReaderName: Spinner Reader
#ReaderType: Alien RFID Tag Reader, Model: ALR-9780
(Four Antenna / Class 1 / 915Mhz)
#IPAddress: 10.1.70.13
#CommandPort: 23
#Time: 2003/01/21 12:48:59
#Reason: TEST MESSAGE Tag:1115 F268 81C3 C012, Disc:2003/01/21 09:00:51, Last:2003/01/21 09:00:51, Count:1, Ant:0 Tag:0100 0100 0002 0709, Disc:2003/01/21 11:00:10, Last:2003/01/21 11:00:10, Count:1, Ant:0
#End of Notification Message Terse-formatted notifications take the form:
#Alien RFID Reader Auto Notification Message
#ReaderName: Spinner Reader
#ReaderType: Alien RFID Tag Reader, Model: ALR-9780
(Four Antenna / Class 1 / 915Mhz)
#IPAddress: 10.1.70.13
#CommandPort: 23
#Time: 2003/01/21 12:48:59
#Reason: TEST MESSAGE 1115 F268 81C3 C012,1,0 0100 0100 0002 0709,1,0
#End of Notification Message READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 19 READER FUNDAMENTALS CHAPTER 2
<TagID>0102 0304 0506 0709</TagID>
<DiscoveryTime>2003/01/17 11:37:01</DiscoveryTime>
<LastSeenTime>2003/01/17 11:37:01</LastSeenTime>
<Antenna>0</Antenna>
<ReadCount>1413726</ReadCount>
XML-formatted notifications take the form:
<Alien-RFID-Reader-Auto-Notification>
<ReaderName>Spinner Reader</ReaderName>
<ReaderType>
Alien RFID Tag Reader, Model: ALR-9780
(Four Antenna / Class 1 / 915 MHz)
</ReaderType>
<IPAddress>10.1.70.13</IPAddress>
<CommandPort>23</CommandPort>
<Time>2003/01/21 12:49:22</Time>
<Reason>TEST MESSAGE</Reason>
<Alien-RFID-Tag-List>
<Alien-RFID-Tag>
</Alien-RFID-Tag>
<Alien-RFID-Tag>
</Alien-RFID-Tag>
</Alien-RFID-Tag-List>
</Alien-RFID-Reader-Auto-Notification>
An example of a custom-formatted notification might be:
#Alien RFID Reader Auto Notification Message
#ReaderName: Spinner Reader
#ReaderType: Alien RFID Tag Reader, Model: ALR-9780
(Four Antenna / Class 1 / 915Mhz)
#IPAddress: 10.1.70.13
#CommandPort: 23
#Time: 2003/01/21 12:48:59
#Reason: TEST MESSAGE Tag 1115 F268 81C3 C012 was read 3 times Tag 0100 0100 0002 0709 was read 1 times
#End of Notification Message
<TagID>2283 1668 ADC3 E804</TagID>
<DiscoveryTime>2003/01/19 07:01:19</DiscoveryTime>
<LastSeenTime>2003/01/19 07:01:19</LastSeenTime>
<Antenna>0</Antenna>
<ReadCount>1</ReadCount>
Listening for Tags over the Network When a reader has been configured for Autonomous Mode, interactive communication with the reader is unnecessary and it can be left to work on its own. It is then up to the application to listen for any notification messages from the reader. Libraries included in the RFID Reader Developers Kit provide this functionality in Java, .NET, and Visual Basic environments. In both cases, setting up a listening service is a simple coding task, involving less than ten lines of code. 20 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 3 TAG FUNDAMENTALS CHAPTER 3 Tag Fundamentals Introduction RFID tag reading is not just about getting the tag ID from a tag into the reader. There are different methods available to perform this basic operation, and different parameters and settings that can be altered to tweak the performance of this basic operation. Alien RFID Tags For the purposes of this Reader Interface Guide, it is assumed you will be using either the Alien beam-
powered tag (Class I) or the Alien long-
range battery-powered tag, both of which use modulated backscatter communications. Alien NanoBlock Tags Aliens offerings in the Class I tag category use proprietary NanoBlock ICs to meet the cost and size requirements of the EPCglobal specification. This is a completely passive tag by both common definitions of the term in both its means of communication (backscatter) and its power source (beam-powered). Thus, if you hear Aliens refer to a passive tag, this is the type of tag they are talking about. Examples of Alien RFID Tag and Antenna Designs. Battery Assisted Passive (BAP) Tags Aliens long-range, battery-assisted passive tag would be categorized as a Class 3 dynamic tag under the EPCglobal scheme, though with performance enhancements over those of the basic Class 3 tag. These battery tags can be configured for any number of specific applications. Aliens Temperature Tag, in particular, allows manufactures and shippers of temperature-sensitive and perishable products to track temperature variations these products encounter during handling. Such temperature records can help pinpoint handling problems and calculate more realistic shelf-life and expiration dates. Battery tags may be used effectively for supply chain applications as well as commercial applications including fleet management, automatic toll collection, and equipment tracking. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 21 TAG FUNDAMENTALS Acquisition Modes CHAPTER 3 The AcquireMode property defines the method used to read tags in the field. There are two distinct methods for reading tags, and the choice of one method over another depends on the application at hand. You specify the Acquire Mode by issuing the set AcquireMode command. It can take one of two values, "Global Scroll" or "Inventory. Global Scroll Global Scroll is the most primitive of tag ID reading operations supported by the Alien RFID Reader system. When a global scroll command is issued, the RFID Reader sends a single command over the air to all and any tags. That command is simply a request for any tag to immediately send back its ID to the RFID Reader. The simplicity of this command is both its advantage and its downfall: The command is very quick to execute as it involves only one round trip between the reader and the tag. However, because the command is so simple, problems may arise if there is more than one tag in the field. At this point, multiple tags will all receive the same command, and will all send back their IDs to the reader at virtually the same time. A situation such as this makes it difficult for the reader to discern individual IDs among the general noise. Typically one or two of the loudest or closest tags will be decoded, but the majority will not be discerned. This is analogous to walking into a dark room full of people and shouting out the command if anyone can hear me, shout your name back now. If there is one person in the room with you, you will be able to hear their name. If there are multiple people in the room, the results will be noise. Maybe you will be able to make out one or two names, but typically not more than that. There are many applications where global scroll is the best tag reading method to use. These applications typically expect just one or two tags in the field of view at any one time, such as conveyor belt or tollbooth applications. For these systems, global scroll outperforms a full inventory by a factor of three as far as individual read rates are concerned. Inventory The inventory command is a full-featured system for discerning the IDs of multiple tags in the field at the same time. This single high-level command transforms itself into a complex series of reader-tag interrogations that eventually resolve themselves into a single list of tag IDs seen by the RFID Reader. This method of interrogation and evaluation of multiple tags is known as an anti-
collision search. Continuing the analogy used in the global scroll description, the anti-collision sort works in the following way: You walk into a dark room full of people and instruct everyone to stand up. Then you start with the letter A and tell anyone whose name begins with this letter to shout their name back. You may get zero replies, one reply, or multiple noisy replies. If you can clearly make out any individual name from the noise, you shout back telling that person to sit down and be quite from now on. Next repeat the series of events, this time telling anyone whose name begins with AA to shout back their name. If you can pick out one name, tell that person to sit down and be quite. You repeat this until no names are heard at all, each time adding a letter such as AB, AC. When it gets to the point 22 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 3 TAG FUNDAMENTALS that there are no more names to be heard, you move on to the letter B and repeat the series. By the time youve been through the letter Z, you should have been able to get everyones name, and everyone should be sitting down. At this point the sort has been finished. Obviously this sort algorithm is far more complex than the global scroll algorithm, requiring many more reader-tag instructions. However the Alien RFID Reader considerably optimizes this basic sort method, and in doing so still provides a very fast and efficient sort algorithm. Acquire Parameters When the reader scans for tags, it can automatically perform a complex sequence of repeated wakes, sleeps, and reads. This sequence is defined by the acquire parameters, and by adjusting each value you can configure the Reader to perform optimally, depending on the particular use case. When the reader does an acquire action, it performs a total number of acquire cycles specified by the AcqCycles parameter. Each cycle consists of a number of Wakes (given by AcqEnterWakeCount) on each antenna, then a number of reads (given by AcqCount) and Sleeps (given by AcqSleepCount) on each antenna. Finally, after all of the cycles have completed, a number of Wakes
(given by AcqExitWakeCount) are issued on each antenna. The Wakes and Acquires all act on the current Tag Mask. The Sleeps act only on tags as they are found. The acquire parameters are demonstrated by the following pseudo-code:
foreach cycle in AcqCycles foreach wake in AcqEnterWakeCount foreach antenna in AntennaSequence Wake (using current mask) next antenna next wake foreach count in AcqCount foreach antenna in AntennaSequence DoAcquisition (using currentMask) foreach sleep in AcqSleepCount Sleep(TagsFound) next sleep next antenna next count next cycle foreach wake in AcqExitWakeCount foreach antenna in AntennaSequence Wake(currentMask) next antenna next wake Masks and Tag Memory Structure Many commands aimed at Alien RFID tags require the setting of a mask, which directs the commands only at the tags who's ID matches the mask. This READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 23 TAG FUNDAMENTALS CHAPTER 3 mechanism allows commands to be sent to one specific tag, a selective group of tags, or the whole field of tags. To understand the use of masks, a basic understanding of tag memory structure is first required. Class I Tag Memory Class I tags from Alien contain 96 bits of programmable memory, of which 64 bits are user-programmable. The remaining 32 bits are controlled by the reader to record state and checksum information inside the tag. Checksum 1 Byte 0 EPC Code (or User ID Code) Lock PC 0 1 2 3 4 5 6 7 0 0 Bit 0-7 8-15 0-7 8-15 16-23 24-31 32-39 40-47 48-55 56-63 0-7 0-7 Class I Tag Memory Structure The 64-bit ID Code (either a fully qualified EPC code or user-defined ID Code) is address from left to right, where the leftmost bit (the Most Significant Bit) is bit 0, and the rightmost bit (the Least Significant Bit) is bit 63. There is no restriction on the data that resides in this portion of the tag. The checksum is calculated over the 64 bits of the ID Code only. The checksum is calculated and programmed into the tag automatically by the reader. This checksum is calculated using the CCITT-16 standard. The Lock and PassCode (PC) bytes stored at the end of tag memory are used to lock a tag and kill a locked tag. Each of these codes takes exactly one byte. The user can control the value of the PassCode, passing it in as a parameter to the Lock command. The reader takes full control of the Lock byte, allowing it to flag the tag as either locked or unlocked. For further details on programming tag IDs and tag memory, please see the Tag Programming chapter. set Mask = 32, 0, 80 00 00 40 Addressing a Subset of Tags One of the more useful applications of the mask command is to address a subset of tags in the field. This is achieved using partial masks. For example, the following mask command can be issued to address only tag IDs that start with the numbers "8000 0040":
The first value is the length of the mask - 32 bits (4 bytes x 8 bits/byte). The second value is the starting position in the ID - bit 0. Finally, a sequence of hex bytes is given specifying the mask 80 00 00 40. Subsequent commands that use a mask will now only be recognized by tags that start with this tag ID. This can be useful if, for example, the reader is scanning food items but is only interested in finding a certain brand of breakfast cereal. By setting the mask to identify only the breakfast cereal tag IDs, any acquire command on the food items will only return the items of interest. This methodology works particularly well when combined with the EPC code strategy, 24 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 3 TAG FUNDAMENTALS where each product type and manufacturer code use well-defined memory codes that can be masked. Another example is to search for all Class I tags whose last three bits of a 64-bit EPC code are set to 1. The mask settings for this would be:
In other words, length = 3 bits, starting at bit 61, and matching value E0hex. The mask value is specified as E0hex (11100000binary) and not 07hex (111binary) because 07hex is interpreted as 00000111binary, and when the bit pattern is applied as a mask, the bits are applied from left to right (most-significant-bit to least-
significant-bit). set Mask = 3, 61, E0 Persistent Sleep and Wake Tags have the ability to be put to sleep and awakened on command. Once tags have been put to sleep they will ignore any subsequent commands, even if addressed directly to them. The only command that these slept tags will respond to is wake, which will bring them back to life and make them respond to all commands again. The Sleep and Wake commands can act together in a powerful way to help address multiple tags in the field. By default the inventory and global scroll commands will read tags in the field, and leave them in a wakened state. This means that the very next time an acquire action is made, the same tags will answer back to the reader, resulting in an identical TagList. However it is possible to sleep tags are they are found. Both the inventory and global scroll modes support this action. In this scenario, as a tag is discovered by the reader, it is told to sleep. The very next time an acquire command is issued, the reader will scan the field of tags, but as they are all asleep, they will not answer and the TagList returned will be empty. The effects of the sleep-as-found mode can be reverted at any time by issuing a Wake command. This will immediately wake up all tags in the field of view, making them ready for subsequent acquire commands. This is a useful mode to use when dealing with very large numbers of tags in the field at once (>100 tags). Using these modes, the acquire command can discern as many tags as it can in one pass, leaving these tags asleep as it finds them. Then any subsequent acquire commands will now only be dealing with tags it missed in previous rounds, or tags that have entered the field since the last round. Thus a large population of tags can be sorted in smaller, more manageable rounds. Sleep, Wake, and Masks The Sleep and Wake commands always work with the current Mask setting. Therefore it is possible to Sleep a subset of tags before performing an acquire, or to Sleep all tags then Wake a subset before acquire. Combining Sleep, Wake, Masks and Acquire Modes offers up many interesting possibilities for tag reading that will address virtually all problems in the field. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 25 ALIEN READER PROTOCOL CHAPTER 4 CHAPTER 4 Alien Reader Protocol The Alien Reader Protocol is a text-based communications protocol for configuring and operating an Alien RFID Reader. This chapter describes the programming interface that links the Alien RFID Reader to the outside world. For an overview of the reader system and instructions on setting up reader operation via a host computer, see the chapters entitled: Reader Fundamentals and Tag Fundamentals. Reader Operation Overview As detailed in the previous chapter, you may interact with the reader and configure its operation using either of two text-based command line methods:
direct serial (RS-232) if supported by the reader
telnet connection (TCP/IP) For the purposes of these instructions, the serial and telnet operations are considered essentially identical. In both cases, the screens look similar and will thus be considered identical for the purposes of the instructions that follow. Telnet Exceptions:
In telnet operation you must issue the command q to quit the session.
Accessing the reader via telnet requires an authorized user name and password (both of which can be changed with commands in the General command set). Telnet connection Direct serial connection via HyperTerminal 26 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL Overview of Commands There are two distinct categories of reader activities: those initiated by the host
(Interactive Mode), and those initiated by the reader itself (Autonomous Mode). INTERACTIVE MODE Interactive Mode activities are initiated by a program or user who issues commands to the reader from a separate host computer. The host always initiates the transaction with a request, and the reader responds with an immediate reply. The host should wait for a reply before initiating another command. Interactive commands are used to configure and operate the reader, as well as to interrogate tags and retrieve the stored TagList on demand. AUTONOMOUS MODE Autonomous Mode activities instruct the reader to perform certain tasks without outside intervention, according to conditions set by the programmer. These commands typically tell the reader to read tags based on trigger events
(external digital inputs or internal timers) and then send notification messages to a host system, depending on various TagList-based triggers. For example, the reader can be instructed to search the field until it sees a tag, then to read the new tag and e-mail the event to a specified e-mail address. Command Format All commands between the host system and the reader are human readable, ASCII text-based messages. For example, a command to set the name of the reader using the "set ReaderName" command takes the form:
Alien >set ReaderName = My Alien Reader[CR][LF]
All commands to the reader are single-line ASCII strings, terminated by a carriage-return / line-feed pair, written as [CR][LF]. The [CR] character is ASCII code 0x0D, while the [LF] character is ASCII code 0x0A. These characters are sometimes written as "\r" and "\n" respectively. All responses from the reader are either single-line or multi-line ASCII strings, terminated by [CR][LF][0], where [0] is ASCII code 0x00. When a responses is comprised of multiple text lines, each line is separated by a single [CR][LF]
sequence. An example of a command and single-line response is:
Alien >get ReaderName[CR][LF]
ReaderName = Alien Reader[CR][LF][0]
An example of a command and multi-line response is:
Alien >get ReaderVersion[CR][LF]
Ent. SW Rev: 03.00.10 : Jun 08 2004 : 10:54:30[CR][LF]
Country Code: 01, Reader Type: 03, Firmware Rev: 2.1.4[CR][LF][0]
Commands are not case sensitive:
set readername is equivalent to sET ReADerNaME. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 27 ALIEN READER PROTOCOL CHAPTER 4 Suppressing Command Prompts By default, the reader responds to all commands using the interactive console-
style interface. Consequently replies are always followed by a command prompt indicating that the reader is ready for more user input. Often, the command prompt is not required, especially when client software is written that programmatically communicates with the reader. Since the command prompt is sent after the null-terminated response, this prompt text would be interpreted as the beginning of the next reader response. To accommodate this, command prompts can be suppressed by prepending a 0x01 character, written as [1], to the command string. For example:
INTERACTIVE COMMAND FORMAT Alien >get ReaderName[CR][LF]
ReaderName = Alien Reader[CR][LF][0]
[CR][LF]Alien >
NON-INTERACTIVE COMMAND FORMAT
[1]get ReaderName[CR][LF]
ReaderName = Alien Reader[CR][LF][0]
Get and Set Shortcuts As a typing convenience, you may also use the following shortened command syntax:
Standard Syntax Shortened Syntax Get <attributeName>
Set <attributeName> = <attributeValue>
<attributeName>?
<attributeName> = <attributeValue>
Examples:
Alien >get ReaderName ReaderName = Alien RFID Reader Alien >ReaderName?
ReaderName = Alien RFID Reader Alien >set ReaderName = Alice ReaderName = Alice Alien >ReaderName = Alice ReaderName = Alice XML Messages There are a few cases where text-based replies and messages are formatted in XML format for easier computer parsing. Complete Document Type Definitions
(DTDs) for each XML document are provided in this document as an appendix, as well as on the Developer's Kit CD. The following messages are sent in XML format:
Heartbeat Messages
Notification Messages (if NotifyFormat = XML)
The "get TagList" commands (if TagListFormat = XML) 28 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL Command List GENERAL COMMANDS Command Help (or h) Info (or (i)
! (exclamation mark) Save Quit ("q") get Function set Function get ReaderName set ReaderName get ReaderType get ReaderVersion get ReaderNumber set ReaderNumber get Uptime get Username set Username get Password set Password get MaxAntenna get AntennaSequence set AntennaSequence get RFAttenuation set RFAttenuation FactorySettings Reboot Description List all reader commands available. List all current reader settings. Repeats the last command issued. Save current settings to flash memory Quit session (telnet only) Used to enable and disable classes of commands
(programming, for example) Allows an arbitrary name to be associated with and retrieved from the reader. Get a description of the reader type. Get the reader software/hardware versions. Get and Set an arbitrary number (1-255) to be associated with the reader. Returns the number of seconds that have elapsed since the reader was last booted. Get and Set the Username used for the Network based access control. Get and Set the Password used for the Network based access control. Returns the maximum addressible antenna port number (total number of antennas is MaxAntenna+1) Get and Set the antenna port sequence the reader should use. Get and Set the amount of digital attenuation to apply to the emitted RF. Reset the reader to its original factory settings. Reboot the reader. 0 0 8 9 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 29 ALIEN READER PROTOCOL NETWORK CONFIGURATION COMMANDS CHAPTER 4 Command get MACAddress get DHCP set DHCP get IPAddress set IPAddress get Gateway set Gateway get Netmask set Netmask get DNS set DNS get NetworkTimeout set NetworkTimeout get CommandPort set CommandPort Ping NetworkReset get HeartbeatAddress set HeartbeatAddress get HeartbeatPort set HeartbeatPort get HeartbeatTime set HeartbeatTime get HeartbeatCount set HeartbeatCount TIME COMMANDS Description Returns the reader's MAC (Media Access Control) address an identifier unique to every reader. Turn DHCP on or off. If DHCP is on, the reader automatically configures itself for the network on power-
up. Set and Get the network ID (IP Address) of the reader. If DHCP is enabled this will be set automatically. Set and Get the network gateway. If DHCP is enabled this will be set automatically. Set and Get the subnet mask. If DHCP is enabled this will be set automatically. Set and Get the domain name server. If DHCP is enabled this will be set automatically. The amount of time before the reader closes a network socket after inbound communication ceases. The reader reacts to commands over the network only if they are directed at a specific Command Port. Tests a network connection to another device. Applies network changes immediately, without rebooting. Set and Get the IP address to deliver heartbeat message to. The default value is 255.255.255.255
(multicast). The reader periodically sends out heartbeat messages to network devices on its subnet to this port. Set and Get the time interval, in seconds, between successive heartbeats. Set and Get the total number of heartbeats to send out after booting. Command Description 0 0 8 9 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9 0 0 8 9 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9 get TimeServer set TimeServer get TimeZone set TimeZone get Time set Time Get and Set the location of a network time server. Get and Set the time zone offset from UTC for the real time clock. Get and Set the real time clock on the reader in Local time. 30 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL EXTERNAL IO COMMANDS Command get ExternalInput get ExternalOutput set ExternalOutput get InitExternalOutput set InitExternalOutput get InvertExternalOutput set InvertExternalOutput get InvertExternalInput set InvertExternalInput TAGLIST COMMANDS Description Get the External Input pin values. Get and Set the External Output pin values. Get and Set the External Output state the apply during and after the reader boots. Turn on or off inversion of the External Outputs. When inverted, setting an output high drives its voltage low. Turn on or off inversion of the External Inputs. When inverted, driving an input voltage high indicates low. Command get TagList (t) get PersistTime set PersistTime get TagListFormat set TagListFormat get TagListAntennaCombine set TagListAntennaCombine get TagListCustomFormat set TagListCustomFormat Clear TagList Description Get the current list of active tags from the reader. Get and Set the persistence time for tags in the TagList. Set and Get the format for TagLists. Specify whether to combine reads of a tag from different antennas into one TagList entry. Specify a custom format for text based TagLists. Clear the list of active tags on the reader. 0 0 8 9 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9 0 0 8 9 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 31 ALIEN READER PROTOCOL ACQUISITION COMMANDS CHAPTER 4 Command get AcquireMode set AcquireMode get AcqCycles set AcqCycles get AcqCount set AcqCount get AcqEnterWakeCount set AcqEnterWakeCount get AcqExitWakeCount set AcqExitWakeCount get AcqSleepCount set AcqSleepCount get AcqC1Cycles set AcqC1Cycles get AcqC1Count set AcqC1Count get AcqC1EnterWakeCount set AcqC1EnterWakeCount get AcqC1ExitWakeCount set AcqC1ExitWakeCount get AcqC1SleepCount set AcqC1SleepCount get AcqG2Cycles set AcqG2Cycles get AcqG2Count set AcqG2Count get AcqG2Q set AcqG2Q get AcqC0Cycles set AcqC0Cycles get AcqC0Count set AcqC0Count get TagType set TagType Wake Sleep get Mask set Mask Description Specify how the RFID Reader reads tags. Specify the number of acquisition cycles to perform during each Class1/Gen1 tag read action. Specify the number of reads to perform in each Class1/Gen1 read cycle. Specify the number of times to Wake tags before each Class1/Gen1 acquisition cycle. Specify the number of times to Wake tags at the end of each Class1/Gen1 acquisition cycle. Specify the number of times Class1/Gen1 tags are slept, as they are read. Same as AcqCycles. Same as AcqCount. Same as AcqEnterWakeCount. Same as AcqExitWakeCount. Same as AcqSleepCount. Specify the number of acquisition cycles to perform during each Class1/Gen2 tag read action. Specify the number of reads to perform in each Class1/Gen2 read cycle. Specify the starting "Q" value to use in each Class1/Gen2 read cycle. Specify the number of acquisition cycles to perform during each Class0 tag read action. Specify the number of reads to perform in each Class0 read cycle. Get and Set a flag indicating which tag types to look for may improve reader performance. Wake tags addressed by the Mask settings Sleep tags addressed by the Mask settings Get and Set the current tag mask as an array of bytes. ALR-9800 also accepts "AcqMask". 0 0 8 9 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9 32 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL AUTONOMOUS MODE COMMANDS Command get AutoMode set AutoMode get AutoWaitOutput set AutoWaitOutput get AutoStartTrigger set AutoStartTrigger get AutoStartPause set AutoStartPause get AutoWorkOutput set AutoWorkOutput get AutoAction set AutoAction get AutoStopTrigger set AutoStopTrigger get AutoStopTimer set AutoStopTimer get AutoTrueOutput set AutoTrueOutput get AutoTruePause set AutoTruePause get AutoFalseOutput set AutoFalseOutput get AutoFalsePause set AutoFalsePause AutoModeTriggerNow AutoModeReset get AutoModeStatus Description 0 0 8 9 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9 Switch auto mode on and off. Specify the value of the output pins while in wait mode. Get and Set the trigger that sends the auto mode state into working state. Get and Set the time to wait after receiving a start trigger before starting AutoMode Specify the value of the output pins while in work mode. Get and Set the action to perform in auto mode. Set and Get the external trigger that will move the auto mode state from work mode to evaluate mode. Set and Get the timer that will move the auto mode state from work mode to evaluate mode. Specify the value of the output pins when the auto mode evaluation returns a True condition. Set and Get the pause time after the auto mode evaluation returns a True condition. Specify the value of the output pins when the auto mode evaluation returns a False condition. Set and Get the pause time after the auto mode evaluation returns a False condition. Force a trigger event to occur. Reset all auto mode values to their default states. Get the current status of auto mode.
* The ALR-9770 also uses the AutoStopTimer value as a time limit on individual read operations. See the AutoStopTimer discussion on the following pages for more information. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 33 ALIEN READER PROTOCOL NOTIFY MODE COMMANDS CHAPTER 4 Command get NotifyMode set NotifyMode get NotifyFormat set NotifyFormat get NotifyHeader set NotifyHeader get NotifyAddress set NotifyAddress get NotifyTime set NotifyTime get NotifyTrigger set NotifyTrigger get NotifyKeepAliveTime set NotifyKeepAliveTime get MailServer set MailServer get MailFrom set MailFrom get NotifyRetryCount set NotifyRetryCount get NotifyRetryPause set NotifyRetryPause NotifyNow Description Switch notify mode on and off. Get and Set the format for TagLists pushed out in notify mode. Turns on and off the additional header (and footer) lines in notification messages. Get and Set the address to push TagLists to. Get and Set the time interval for automatically pushing TagLists. Get and Set the trigger for pushing TagLists. The amount of time the reader keeps it's notification TCP socket open without communication activity. Set and Get an SMTP mail server. This is only required if notification email messages are sent out. Set and Get the email address of the RFID Reader. Get and Set the number of times a failed network notification is repeated. Get and Set the delay between failed network notification retries. Force a message via the notification system. 0 0 8 9 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9 The following sections describe each command category - detailing each command, its use and the response formats. NOTE: RFID Reader commands are not case sensitive, that is, you can use upper or lower case, or any combination thereof, and the reader will understand the command. Capitalization of commands is used in this document and in actual command responses solely for the purpose of readability. General Commands General commands cover basic reader, antenna functions and help &
information. Help (h) This command lists all reader commands available. You may also type just the letter h to send this command. 9800 | 9780 | 8780 | 9640 | 9774 34 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL Info (i) 9800 | 9780 | 8780 | 9640 | 9774 This provides a list of current reader settings. You may also type just the letter i to send this command.
This command (exclamation mark) asks the reader to repeat the last command issued. 9800 | 9780 | 8780 | 9640 | 9774 Save The Save command writes the current settings to flash memory. This ensures that if the reader loses power it will restart in the same state. 9800 | 9780 | 8780 | 9640 | 9774 Save Example Command Response
>Save All settings have been saved to flash!
Q (Quit)
(For Telnet operation only) The Quit command allows you to exit the current Telnet session. 9800 | 9780 | 8780 | 9640 | 9774 Function 9800 | 9780 | 8780 | 9640 | 9774 The standard operating mode of a reader is to read tags. Additional functionality exists in the reader to program, lock, erase, and kill tags, but these functions must first be enabled. This is done by changing the reader's "Function" attribute from "Reader" to "Programmer". Doing so enables these additional programming commands, as can be evidenced by observing the new programming commands in the Help display (see above). To once again disable the programming commands, change the "Function"
attribute back to "Reader". Function Examples
>get Function Function = Reader
>set Function = Programmer Function = Programmer
>set Function = Reader Function = Reader Command Response Command Response Command Response READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 35 ALIEN READER PROTOCOL CHAPTER 4 ReaderName The reader can be assigned an arbitrary text name to aid identification in multiple-reader environments. This name can be retrieved and changed at any time throughout reader operation. 9800 | 9780 | 8780 | 9640 | 9774 ReaderName Examples
>get ReaderName ReaderName = My First Alien Reader
>set ReaderName = My Second Alien Reader ReaderName = My Second Alien Reader Command Response Command Response ReaderType 9800 | 9780 | 8780 | 9640 | 9774 The reader type can be retrieved using this command. The resulting text will be a single-line reply describing the model number of the reader and related information. Command Response Command Response ReaderType Example
>get ReaderType ReaderType = Alien RFID Tag Reader, Model: ALR-9780
(Four Antenna / Class 1 / 915 MHz)
>get ReaderType ReaderType = Alien RFID Tag Reader, Model: ALR-9800
(Four Antenna / Multi-Protocol / 915 MHz) ReaderVersion The reader version can be retrieved using this command. The resulting text is a multi-line reply. Each line of the reply describes the version number of a major reader component, as well as some additional locality information. 9800 | 9780 | 8780 | 9640 | 9774
This command is not available when AutoMode is on. The reader responds with "Error 27: Invalid context. Command cannot be issued while AutoMode is ON". Command Response Command Response ReaderVersion Example
>get ReaderVersion Ent. SW Rev: 3.2.02 Country Code: 01, Reader Type: 03, Firmware Rev: 2.2.21
>get ReaderVersion (ALR-9770) ReaderVersion = Firmware Rev: 2.1.12 (Alien Technology v1.04.04, 02/14/05) OS Version: Linux 2.4.22-uc0 2005-01-26T12:00:35-0500 36 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL ReaderNumber The reader can be assigned an arbitrary number to aid identification in multiple-
reader environments. This number can be retrieved and changed at any time throughout reader operation. 9800 | 9780 | 8780 | 9640 | 9774
Allowed values for ReaderNumber are 1-255.
The default ReaderNumber value is 255. Command Response Command Response ReaderNumber Examples
>get ReaderNumber ReaderNumber = 255
>set ReaderNumber = 15 ReaderNumber = 15 Uptime The Uptime command returns the elapsed time, in seconds, since the last time the reader was rebooted. 9800 | 9780 | 8780 | 9640 | 9774 Command Response Uptime Example
>get Uptime Uptime (secs) = 702048 Username The reader can be operated over the network. When operated in this mode it uses a simple username/password authentication scheme to stop unwelcome visitors accessing it. This command allows the username to be defined and obtained. 9800 | 9780 | 8780 | 9640 | 9774
A username/password pair is not required when operating the reader via serial connection.
The default username setting is alien NOTE: The username is case sensitive and must be entered in all lowercase. Command Response Command Response Username Examples
>get Username Username = alien
>set Username = hal Username = hal Password The reader can be operated over the network. When operated in this mode it uses a simple username/password authentication scheme to stop unwelcome 9800 | 9780 | 8780 | 9640 | 9774 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 37 ALIEN READER PROTOCOL CHAPTER 4 visitors accessing it. This command allows the password to be defined and obtained.
A username/password pair is not required when operating the reader via serial connection.
The default password setting is password NOTE: The password is case sensitive and must be entered in all lowercase. Command Response Command Response Password Examples
>get Password Password = password
>set Password = 1234fab Password = 1234fab MaxAntenna 9800 | 9780 | 8780 | 9640 | 9774 To determine the maximum addressible antenna port of the reader, use the get MaxAntenna command. Antenna ports are numbered starting at zero, so the actual number of ports is one more than the MaxAntenna value. A reader with four antenna ports returns a MaxAntenna of 3. Similarly, a reader with only two antenna ports returns a MaxAntenna of 1.
This command is not available when AutoMode is on. The reader responds with "Error 27: Invalid context. Command cannot be issued while AutoMode is ON". Command Response MaxAntenna Example
>get MaxAntenna MaxAntenna = 3 AntennaSequence The reader can support the use of multiple antennas. This command allows the user to select which antenna port(s) to use and in what sequence. 9800 | 9780 | 8780 | 9640 | 9774
If using only one antenna, you will assign just one antenna port number.
To instruct the reader to cycle through the antenna list during tag reads, enter the port designations for all antennas to be used and the order in which they should be used.
Multiple antennas are specified by passing in a comma-separated list as the argument. The default AntennaSequence is 0.
This command is not available when AutoMode is on. The reader responds with "Error 27: Invalid context. Command cannot be issued while AutoMode is ON".
Multi-Static antenna readers, such as the ALR-9800 and newer ALR-
8780 readers pair up two antennas as send/receive pairs - #0 and #1 form one antenna pair, and #2 and #3 form another pair. In these cases, READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 38 CHAPTER 4 ALIEN READER PROTOCOL the antenna number specified in the AntennaSequence is always the transmit antenna. The receive antenna is taken to be the remaining antenna of the pair.
The ALR-9770 reader recognizes only those antennas that are present when the reader boots up. If the antenna configuration is changed, the ALR-9770 must be restarted before it will be aware of the new configuration. AntennaSequence Examples Command Response To always use antenna 1:
Command Response To cycle between antenna 0 and antenna 1:
Command Response To weight antenna 0 more than antenna 1:
Command Response
>get AntennaSequence AntennaSequence = 0
>set AntennaSequence = 1 AntennaSequence = 1
>set AntennaSequence = 0, 1 AntennaSequence = 0, 1
>set AntennaSequence = 0, 0, 0, 1 AntennaSequence = 0, 0, 0, 1 RFAttenuation 9800 | 9780 | 8780 | 9640 | 9774 Alien RFID readers output 1 watt of RF power at each antenna. While this power is sufficient to provide good penetration and range, these attributes are not always desireable. If multiple readers are in the same vicinity, their signals may interfere with each other. Also, in situations where tagged product is close together, but only on product should be read at a time (a conveyor belt, for example), then penetrating power and long range are your enemies. Attenuating RF reduces its power, and there are two ways to do this. The first method involves placing attenuators inline in the antenna cable. This method is quick but is not flexible and, more importantly, reduces both the emitted RF power as well as the return signal from the tag, which is already very weak. This would impair the reader's ability to detect tags. The second method uses software-controlled digital attenuation, built into Alien readers. Using the software-controlled digital attenuation reduces the emitted power but not the return signal. The RFAttenuation value ranges from 0 (no attenuation, maximum power) to 160 (maximum attenuation, minimum power), in increments of 10 - each "decade" representing an additional 1 dB of RF attenuation.
The default value for RFAttenuation is 0.
RFAttenuation can range from 0 to 160.
Increasing RFAttenuation by 10 reduces RF power by 1 dB.
Changes take effect immediately. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 39 ALIEN READER PROTOCOL CHAPTER 4 Command Response Command Response RFAttenuation Examples
>get RFAttenuation RFAttenuation = 0
>set RFAttenuation = 30 RFAttenuation = 30 FactorySettings 9800 | 9780 | 8780 | 9640 | 9774 The FactorySettings command will reset all reader settings to their factory default values, and then reboot the reader. The reboot is required in order for the new settings (especially network values) to take effect. FactorySettings Examples
>FactorySettings All settings have been reset !
Rebooting System... Command Response Reboot The Reboot command causes the reader to immediately close all network connections and reboot.
It is recommended that you reboot the reader any time network 9800 | 9780 | 8780 | 9640 | 9774 configuration parameters are changed.
The ALR-9770 reader may also be rebooted via its web interface. Browse to the readers IP address in a web browser, click the Restart link on the left side of the page and follow the provided instructions. Reboot Examples Command Response
>Reboot Rebooting System... 40 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL Network Configuration Commands These commands allow you to configure and retrieve settings related to reader communications with the network. MACAddress The MAC (Media Access Control) Address is a unique, hardcoded value that identifies each device with a network interface. The reader's MAC Address can be retrieved with the get MACAddress command. The value returned is a sequence of six hex bytes, separated by colons. 9800 | 9780 | 8780 | 9640 | 9774 Command Response MACAddress Example
>get MACAddress MACAddress = 00:90:c2:c3:14:38 DHCP The reader supports automatic network configuration using the widely available DHCP protocol. If DHCP is available at the reader installation site, this protocol can be switched on. If DHCP is not available or not desired the use of this protocol can be switched off. 9800 | 9780 | 8780 | 9640 | 9774
Valid command parameters are ON and OFF.
The default setting is ON.
After making changes with this command, you must save and reboot the reader to implement the changes. Command Response Command Response DHCP Examples
>get DHCP DHCP = ON
>set DHCP = OFF DHCP = OFF IPAddress If DHCP is not used for automatic configuration, the reader must be manually configured for use on a network. The IPAddress command allows you to assign and retrieve the hosts IP address. 9800 | 9780 | 8780 | 9640 | 9774
DHCP must be off in order to change the IPAddress.
After making changes with this command, you must save and reboot the reader to implement the changes. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 41 ALIEN READER PROTOCOL CHAPTER 4 IPAddress Examples
>get IPAddress IPAddress = 12.34.56.78
>set IPAddress =34.55.33.12 IPAddress = 34.55.33.12 Command Response Command Response Gateway If DHCP is not used for automatic configuration, the reader must be manually configured for use on a network. The gateway command allows the network gateway to be assigned and retrieved. 9800 | 9780 | 8780 | 9640 | 9774
Gateway must be specified as a numerical IP address.
DHCP must be off in order to change the Gateway.
After making changes with this command, you must save and reboot the reader to implement the changes. Command Response Command Response Gateway Examples
>get Gateway Gateway = 34.56.78.90
>set Gateway=12.56.23.01 Gateway = 12.56.23.01 Netmask If DHCP is not used for automatic configuration, the reader must be manually configured for use on a network. The subnet mask command pair allow the subnet mask to be assigned and retrieved. 9800 | 9780 | 8780 | 9640 | 9774
A subnet mask must be specified as a numerical IP address.
DHCP must be off in order to change the Netmask.
After making changes with this command, you must save and reboot the reader to implement the changes. Command Response Command Response Netmask Examples
>get Netmask Netmask = 255.255.255.128
>set Netmask=255.255.255.0 Netmask = 255.255.255.0 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 42 CHAPTER 4 ALIEN READER PROTOCOL DNS If DHCP is not used for automatic configuration, the reader must be manually configured for use on a network. The DNS command pair allow the DNS server location to be assigned and retrieved. 9800 | 9780 | 8780 | 9640 | 9774
A DNS server must be specified as a numerical IP address.
DHCP must be off in order to change the DNS.
After making changes with this command, you must save and reboot the reader to implement the changes. Command Response Command Response DNS Examples
>get DNS DNS = 12.34.56.78
>set DNS=45.224.124.34 DNS = 45.224.124.34 NetworkTimeout When the reader receives a command on its Command port, it opens a TCP socket and waits for data to arrive. If inbound communication ceases, rather than hold the socket open indefinitely the reader waits a period of time then automatically closes the connection, ignoring any partial command it may have already received. This time period is the NetworkTimeout. 9800 | 9780 | 8780 | 9640 | 9774
The NetworkTimeout is specified in seconds
The default value is 90 seconds NOTE: Changes made with this command will take effect immediately. NetworkTimeout Examples Command Response Command Response Example Behavior
(using Telnet)
>get NetworkTimeout NetworkTimeout = 90
>set NetworkTimeout = 120 NetworkTimeout = 120
>set NetworkTimeout = 5 NetworkTimeout = 5
>(wait more than 5 seconds) Connection Timeout. Closing ConnectionBye!
(Telnet session ends) READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 43 ALIEN READER PROTOCOL CHAPTER 4 CommandPort The reader can be configured and operated over the network using standard network sockets. The CommandPort settings are used to assign and retrieve the exact port number used by the reader for this network connectivity. 9800 | 9780 | 8780 | 9640 | 9774
The default setting for this command is 23 (the standard Telnet port)
Changes to this setting do not affect serial communication and/or Web communication with the reader. Command Response Command Response CommandPort Examples
>get CommandPort CommandPort = 23
>set CommandPort=10004 CommandPort = 10004 9800 | 9780 | 8780 | 9640 | 9774 HeartbeatPort The reader can be configured to periodically send out a heartbeat message to the network. This heartbeat takes the form of a single UDP packet (Universal Datagram Packet) broadcast out to the entire subnet or a particular address. The Set HeartbeatPort command allows you to configure the actual port number that this packet is sent out to. Listening for this heartbeat can be used to initially locate a reader on a network and subsequently make sure that the reader is still alive.
The default port setting for this command is 3988
Changes made with this command take effect immediately. The format of the UDP packet is a single XML document detailing the reader:
<Alien-RFID-Reader-Heartbeat>
<ReaderName>Alien RFID Reader</ReaderName>
<ReaderType>
Alien RFID Tag Reader, Model: ALR-9780
(Four Antenna / Class 1 / 915Mhz)
</ReaderType>
<IPAddress>10.1.60.5</IPAddress>
<CommandPort>23</CommandPort>
<HeartbeatTime>30</HeartbeatTime>
</Alien-RFID-Reader-Heartbeat>
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 44 CHAPTER 4 ALIEN READER PROTOCOL Command Response Command Response HeartbeatPort Examples
>get HeartbeatPort HeartbeatPort = 3004
>set HeartbeatPort=10002 HeartbeatPort = 10002 HeartbeatTime The reader can be configured to periodically send out a heartbeat message to the network. This heartbeat takes the form of a single UDP packet (Universal Datagram Packet) broadcast out to the entire subnet or a particular address. The time interval between heartbeats can be assigned and retrieved using this command. 9800 | 9780 | 8780 | 9640 | 9774
All intervals are specified in seconds.
A setting of zero (seconds) will suspend the output of any further heartbeats.
The default setting for this command is 30 seconds.
Changes made with this command take effect immediately. Command Response Command Response HeartbeatTime Examples
>get HeartbeatTime HeartbeatTime = 30
>set HeartbeatTime=60 HeartbeatTime = 60 9800 | 9780 | 8780 | 9640 | 9774 HeartbeatAddress The reader can be configured to periodically send out a heartbeat message to the network. This heartbeat takes the form of a single UDP packet (Universal Datagram Packet) broadcast out to the entire subnet or a particular address. The address of the host to receive these packets is defined by the HeartbeatAddress command.
The default value 255.255.255.255 is a special "multicast" address, which enables all devices on the subnet to receive the packets.
Changes made with this command take effect immediately. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 45 ALIEN READER PROTOCOL CHAPTER 4 HeartbeatAddress Examples
>get HeartbeatAddress HeartbeatAddress = 255.255.255.255
>set HeartbeatAddress =10.1.70.17 HeartbeatAddress = 10.1.70.17 Command Response Command Response HeartbeatCount The HeartbeatCount property specifies how many heartbeat messages the reader broadcasts after it boots. After this point the reader stops sending heartbeat messages until the HeartbeatCount is changed, or the reader is rebooted. 9800 | 9780 | 8780 | 9640 | 9774
The range of values for HeartbeatCount is 1 to 65535.
The default value of 1 indicates that the reader should send heartbeat messages indefinitely. Command Response Command Response HeartbeatAddress Examples
>get HeartbeatCount HeartbeatCount = -1
>set HeartbeatCount = 5 HeartbeatCount = 5 Time Commands The time at which tags are read by a reader is particularly important for many applications. For this reason, the reader has three time commands to ensure that the onboard real-time clock is always set accurately. 9800 | 9780 | 8780 | 9640 | 9774 TimeServer The reader uses the Internet to accurately set its internal clock every time it is rebooted. The protocol it uses is called the Daytime Protocol (RFC-867) which typically returns the time in UTC format. In order to use this feature, a TimeServer must be specified. This is the network address of a machine that is constantly running the Daytime Protocol. In the US there are a number of machines owned and operated by the Government explicitly providing the time and date to Internet users.
By default the reader is configured to connect to one of these machines on boot-up to get the current time.
For a more in-depth description of this server, and a list of other publicly accessible Daytime Protocol Servers, see:
http://www.boulder.nist.gov/timefreq/service/its.htm READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 46 CHAPTER 4 ALIEN READER PROTOCOL
The default setting for this command is 132.163.4.101, a primary NIST network time server. Some alternative time servers are:
time-a.nist.gov / 129.6.15.28 time-b.nist.gov / 129.6.15.29 time.nist.gov
/ 192.43.244.18
After making changes with this command, you must save and reboot the reader to implement the changes. Command Response Command Response TimeServer Examples
>get TimeServer TimeServer = 129.6.15.28
>set TimeServer = 129.6.15.28 TimeServer = 129.6.15.28 TimeZone 9800 | 9780 | 8780 | 9640 | 9774 These commands allow the current time zone to be assigned to or retrieved from the reader. The time zone specifies the number of hours that must be added to or subtracted from UTC (Coordinated Universal Time; also known as GMT or Zulu) to determine a local time reference. For example, to convert from UTC to Pacific Standard Time, set the TimeZone to 8. To convert from UTC to Pacific Daylight Time, set the TimeZone to 7.
The default setting for this command is -7 hours (Pacific Daylight Time) because PDT is UTC time minus 7 hours.
For more information about time zones, servers and UTC, refer to the Website listed under the Get/Set TimeServer command.
Changes made with this command will take effect immediately. The TimeZone parameter is only useful if the TimeServer is used to automatically set the system clock. In this case, the TimeServer always retrieves the time in UTC format and will need to be offset to reflect local time using this parameter. Command Response Command Response TimeZone Examples
>get TimeZone TimeZone = -8
>set TimeZone = 3 TimeZone = 3 The TimeServer is only used once when the reader is booted up. A message in the boot sequence (sent out to the serial console) indicates success or failure of this option. For example, a successful boot sequence will report the following messages to the serial console:
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 47 ALIEN READER PROTOCOL CHAPTER 4 Booting Alien RFID Reader Boot> Boot Level 1 (Console Communication) : Success Boot> Boot Level 2 (Reader Communication) : Success Boot> Boot Level 3 (Command Set) : Success Boot> Boot Level 4 (Tag Manager) : Memory for 1000 Tags Boot> Boot Level 5 (Initializing Network Interface) : ... Boot> Boot Level 6 (Network) : Success - IP Address is 10.1.60.114 Boot> Boot Level 7 (Telnet Interface) : Success - Port 23 Ready Boot> Boot Level 8 (Network Time Service) : Success - Time Set to 2003/12/04 12:32:59 Boot> Ready Time These commands allow the current time to be assigned to or retrieved from the reader. 9800 | 9780 | 8780 | 9640 | 9774
Times used by this command are always specified in local time, as defined by the TimeZone command.
Times are always specified by the format YYYY/MM/DD hh:mm:ss.
Changes made with this command will take effect immediately. Command Response Command Response Time Examples
>get Time Time = 2002/6/3 9:23:01
>set Time = 2002/6/3 19:23:01 Time = 2002/6/3 19:23:01 External I/O Commands These commands allow you to configure and retrieve data from the readers external input/output pins. ExternalInput The reader monitors four external input pins, which can subsequently be controlled by external proximity detectors and other input devices such as magic-eyes and magnetic switches. This command allows these external input pin values to be obtained. Please refer to the Hardware Setup Guide for pinout diagrams. 9800 | 9780 | 8780 | 9640 | 9774
The command returns a single byte result that represents the bitmap of the external input pin states. Bit 0 represents the state of input #1, bit 1 represents the state of input #2, etc.
The ALR-9640's input states are inverted, as compared to the other fixed readers. This can be rectified by using the InvertExternalInput command. 48 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL Command Response ExternalInput Examples
>get ExternalInput ExternalInput = 2 (i.e., binary "10") ExternalOutput 9800 | 9780 | 8780 | 9640 | 9774 The reader controls four external output pins, which can subsequently be used to control external devices such a doors/gates, security lights, etc. Please refer to the Hardware Setup Guide for pinout diagrams. With this command you can get or set the external output pin states. The single parameter/return value is an integer bitmap representing the states of the external output pins.
Bit 0 represents the state of output #1, bit 1 represents the state of output #2, etc.
For example, to set pin 1 to high and pin 0 on low, use the bitmap of 2decimal, which translates to 10binary.
The ALR-9640's output states are inverted, as compared to the other fixed readers. This can be rectified by using the InvertExternalOutput command. Command Response Command Response ExternalOutput Examples
>set ExternalOutput = 2 ExternalOutput = 2
>get ExternalOutput ExternalOutput = 2 InitExternalOutput 9800 | 9780 | 8780 | 9640 | 9774 When the reader is powered up, it sets the external output pins to states defined by the InitExternalOutput attribute. This gives you the flexibility to choose which output pins should default to high, and which output pins should default to low a very important consideration if there are mechanical devices controlled by the readers I/O port. With this command you can get or set the initial external output pin states. The single parameter/return value is an integer bitmap representing the states of the external output pins during and after a startup.
Bit 0 represents the desired state of output #1, bit 1 represents the desired state of output #2, etc.
For example, to set pin 1 to high and pin 0 on low, use the bitmap of 2decimal, which translates to 0010binary.
Changes made with this command take effect during the next reboot.
The bitmap that you specify is applied directly to the outputs upon startup, without any inversion that may have been set with InvertExternalOutput. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 49 ALIEN READER PROTOCOL CHAPTER 4 Command Response Command Response InitExternalOutput Examples
>set InitExternalOutput = 7 (0111binary = #1, 2, 3 high, #4 low) InitExternalOutput = 7
>get InitExternalOutput InitExternalOutput = 7 9800 | 9780 | 8780 | 9640 | 9774 InvertExternalInput In the default configuration, a high voltage applied to an externa input results in an external input reading of "1", or "on". Depending on the electronics of the connected device, a high voltage applied to the pin may actually be the result of the device being "inactivate" instead of "activate". To accommodate this case and avoid possible confusion when examining bitmaps of external input states, turning on InvertExternalInput reverses the "sense" of all the external inputs, effectively resulting an external input value to be "1" when the pin voltage is driven low, and vice versa..
Valid command values are ON and OFF.
The default setting is OFF. Command Response Command Response Command Response Command Response InvertExternalInput Examples
>get ExternalInput ExternalInput = 0
>set InvertExternalInput = ON InvertExternalInput = ON
>get InvertExternalInput InvertExternalInput = ON
>get ExternalInput ExternalInput = 15 (inverted value - inputs haven't changed) 9800 | 9780 | 8780 | 9640 | 9774 InvertExternalOutput In the default configuration, setting an external output to "1", or "on", causes the voltage on that output pin to go high. Depending on the electronics of the connected device, a high voltage on the pin may cause that device to "activate"
or vice versa. To accommodate this case and avoid possible confusion when specifying bitmaps of desired external output states, turning on InvertExternalOutput reverses the "sense" of all the external outputs, effectively causing to pin voltage to go high when the external output is set to "0", and vice versa.
Valid command values are ON and OFF.
The default setting is OFF.
When ON, the inversion of output states is applied both in setting and getting the pin states. It is therefore a transparent change, unless test the voltage on the output pins. 50 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL
The state of InvertExternalOutput has no effect on the InitExternalOutput during bootup. The pin state defined by InitExternalOutput is applied to the output pins regardless of the InvertExternalOutput setting. Command Response Command Response Command Response Command Response InvertExternalOutput Examples
>get ExternalOutput ExternalOutput = 0
>set InvertExternalOutput = ON InvertExternalOutput = ON
>get InvertExternalOutput InvertExternalOutput = ON
>get ExternalOutput ExternalOutput = 15 (inverted value - outputs haven't changed) TagList Commands TagList commands allow you to retrieve immediate listings of tags that have been read and saved by the reader, and to assign and retrieve TagList functional parameters. Get TagList (t) You can retrieve the readers stored TagList with the Get TagList command. 9800 | 9780 | 8780 | 9640 | 9774
The maximum number of tags that can be stored in the TagList is 6000 for the ALR-9800, and 1000 for all other models.
"Get TagList" and "t" can be used interchangeably. Using the Get TagList to retrieve the stored list only once:
If the reader is not in Autonomous Mode, the reader immediately performs a full tag search (read and report) and displays its current internal TagList. The reply is a multi-line response, with each line listing an active tag. If the TagList is empty, the message (No Tags) is returned.
If the reader is in Autonomous Mode, the reader just returns its current internal TagList. The format of the data returned by this command is specified using the Set TagListFormat command, described below. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 51 ALIEN READER PROTOCOL CHAPTER 4 Command Response Command Response TagList Examples
>get TagList Tag:8000 8004 0000 003B, Disc:2003/12/04 12:35:11, Last:2003/12/04 12:35:11, Count:3, Ant:0 Tag:8000 8004 9999 0004, Disc:2003/12/04 12:35:11, Last:2003/12/04 12:35:11, Count:3, Ant:0
>get TagList
(No Tags) PersistTime The PersistTime specifies the length of time a tags data will remain in the readers internal list of active tags. 9800 | 9780 | 8780 | 9640 | 9774
Persist times are specified in seconds.
Setting the persist time to a positive number (1-n) establishes a persist time of the desired number of seconds
A zero persist time (0) guarantees that tags are not stored in the TagList. However issuing a get TagList command in Interactive Mode returns any tags immediately found even though they wont be stored in the TagList.
This command is not available when AutoMode is on. The reader responds with "Error 27: Invalid context. Command cannot be issued while AutoMode is ON".
Setting the persist time to -1 causes the history to build indefinitely until a get TagList command is issued; at this point the TagList is returned, and then immediately cleared. This is the default setting.
The ALR-9770 reader currently only supports a PersistTime of -1. The maximum number of tags that can be stored in the TagList is 1000 (the ALR-
9800 can store 6000 tags). Once this tag limit is reached, older tag entries are replaced by newer ones. PersistTime Examples
>get PersistTime PersistTime = -1
>set PersistTime=300 PersistTime = 300 Command Response Command Response TagListFormat The Get and Set TagListFormat commands specify the formatting of TagLists. The command itself takes a text string as its argument, and can be one of the following:
9800 | 9780 | 8780 | 9640 | 9774 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 52 CHAPTER 4 ALIEN READER PROTOCOL TagListFormat Description Text Terse XML Custom TagLists displayed as plain text messages, one tag ID per line. TagLists displayed as plain text messages, one tag ID per line, but just ID, count, and antenna, with no labels. TagLists are displayed in XML text format TagLists are displayed in the format described by TagListCustomFormat.
Text-formatted TagLists take the following form:
Tag:1115 F268 81C3 C012, Disc:2003/01/21 09:00:51, Last:2003/01/21 09:00:51, Count:4, Ant:0 Tag:0100 0100 0002 0709, Disc:2003/01/21 11:00:10, Last:2003/01/21 11:00:10, Count:6, Ant:0 Tag:1054 A334 54E1 7409, Disc:2003/01/21 11:50:03, Last:2003/01/21 11:50:03, Count:2, Ant:0 The ALR-9800 has an additional field at the end of the Text-formatted TagList, specifying the air protocol used to find the tag. The protocol is given as a single number: 0 = Class 0, 1 = Class1/Gen1, 2 = Class1/Gen2. Tag:0000 0000 0000 0000 0000 0000, Disc: ..., Ant:0, Proto:0 Tag:A5A5 FFFF 8000 8004 AB12 CD1A, Disc: ..., Ant:0, Proto:1 Tag:3000 2141 60C0 0400 0000 6013, Disc: ..., Ant:0, Proto:2
Terse-formatted TagLists take the following form:
1115 F268 81C3 C012,4,0 0100 0100 0002 0709,6,0 1054 A334 54E1 7409,2,0 The fields given in the Terse format are: TagID, Reads, Antenna.
XML-formatted TagLists take the form:
<Alien-RFID-Tag-List>
<Alien-RFID-Tag>
<TagID>0102 0304 0506 0709</TagID>
<DiscoveryTime>2003/01/17 11:30:01</DiscoveryTime>
<LastSeenTime>2003/01/17 11:37:01</LastSeenTime>
<Antenna>0</Antenna>
<ReadCount>14</ReadCount>
</Alien-RFID-Tag>
<Alien-RFID-Tag>
<TagID>2283 1668 ADC3 E804</TagID>
<DiscoveryTime>2003/01/19 07:01:19</DiscoveryTime>
<LastSeenTime>2003/01/19 07:01:19</LastSeenTime >
<Antenna>0</Antenna>
<ReadCount>1</ReadCount>
</Alien-RFID-Tag>
</Alien-RFID-Tag-List>
The ALR-9800 has an additional element, specifying the air protocol used to find the tag. The protocol is given as a brief text string, as follows:
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 53 ALIEN READER PROTOCOL CHAPTER 4
<Alien-RFID-Tag-List>
<Alien-RFID-Tag>
<TagID>0000 0000 0000 0000 0000 0000</TagID>
<DiscoveryTime>2005/05/31 17:39:13</DiscoveryTime>
<LastSeenTime>2005/05/31 17:39:13</LastSeenTime>
<Antenna>1</Antenna>
<ReadCount>22</ReadCount>
<Protocol>Class 0</Protocol>
</Alien-RFID-Tag>
<Alien-RFID-Tag>
<TagID>A5A5 FFFF 8000 8004 6546 6091</TagID>
<DiscoveryTime>2005/05/31 17:39:13</DiscoveryTime>
<LastSeenTime>2005/05/31 17:39:13</LastSeenTime>
<Antenna>0</Antenna>
<ReadCount>3</ReadCount>
<Protocol>Class 1 Gen 1</Protocol>
</Alien-RFID-Tag>
<Alien-RFID-Tag>
<TagID>3000 2141 60C0 0400 0000 6013</TagID>
<DiscoveryTime>2005/05/31 17:39:13</DiscoveryTime>
<LastSeenTime>2005/05/31 17:39:14</LastSeenTime>
<Antenna>1</Antenna>
<ReadCount>19</ReadCount>
<Protocol>Class 1 Gen 2</Protocol>
</Alien-RFID-Tag>
</Alien-RFID-Tag-List>
In all cases the following information is reported per tag:
TagID: the 64-bit or 96-bit tag ID.
Disc: the time the tag was first read by the reader in the current session.
Last: the most recent time the tag was read by the reader in the current session.
Count: the number of times the tag has been read in the current session.
Ant: the antenna port number where the tag was LAST seen. Since the ALR-9800 uses separate transmit and receive antennas, the reported antenna is the transmit antenna. Command Response Command Response TagListFormat Examples
>get TagListFormat TagListFormat = Text
>set TagListFormat = XML TagListFormat = XML TagListCustomFormat 9800 | 9780 | 8780 | 9640 | 9774 The TagListCustomFormat command allows a customized TagList to be defined. Once the format has been defined it can be applied by issuing the command set TagListFormat = Custom The TagListCustomFormat command takes a single text line argument that defines how each tag should be represented on-screen. This argument can be made up of a mixture of text and tokens, as defined in the table below. The maximum length of a custom TagList format definition is 255 characters. 54 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL When the RFID Reader is required to print a TagList, the tokens in the custom format are replaced with the actual values for each tag. Tokens Description
%i
%k
%d
%t
%D
%T
%r
%a
%A
%p
%P Tag ID with a white space between each pair of bytes i.e., 8000 00FE 8010 2AB7 Tag ID with no spaces between i.e., 800000FE80102AB7 Discovery date of tag, in format YY/MM/DD Discovery time of tag, in format hh:mm:ss Last Seen date of tag, in format YY/MM/DD Last Seen time of tag, in format hh:mm:ss Read Count of tags, i.e., how many times the tag has been read Antenna the tag was last seen at (for the ALR-9800, this is the transmit antenna)
(ALR-9800 only) Receive Antenna where the tag was last seen
(ALR-9800 only) Integer value indicating the tag's protocol
(0 = Class0, 1 = Class1/Gen1, 2 = Class2/Gen2)
(ALR-9800 only) String representation of the tag's protocol Command Response Get TagList Command Response Get TagList TagListCustomFormat Examples
>set TagListCustomFormat = Here is a tag %i TagListFormat = Here is a tag %i Here is a tag 8000 0000 0000 0808 Here is a tag 102F ED3D 0303 0001
>set TagListCustomFormat = Tag %k, read %r times from antenna %a TagListFormat = Tag %k, read %r times from antenna %a Tag 8000000000000808, read 3 times from antenna 0 Tag 102FED3D03030001, read 120 times from antenna 1 9800 | 9780 | 8780 | 9640 | 9774 TagListAntennaCombine The TagListAntennaCombine command turns on or off the antenna combine mode. When TagListAntennaCombine is ON, the reader combines tag IDs into a single TagList even if the Ids are read by different antennas. Setting this value to OFF forces the TagList to keep multiple copies of a tag ID for each antenna where it is seen. For example, reading a tag that is visible to both antenna 0 and antenna 1, with an AntennaSequence of "0,1", would give the following TagList:
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 55 ALIEN READER PROTOCOL CHAPTER 4 TagListAntennaCombine = ON Tag:8000 8004 2665 8426, Count:2, Ant:1 TagListAntennaCombine = OFF Tag:8000 8004 2665 8426, Count:1, Ant:0 Tag:8000 8004 2665 8426, Count:1, Ant:1
Valid command parameters are ON and OFF
The default setting is ON TagListAntennaCombine Examples Command Response Command Response
>get TagListAntennaCombine TagListAntennaCombine = ON
>set TagListAntennaCombine = off TagListAntennaCombine = OFF Clear TagList 9800 | 9780 | 8780 | 9640 | 9774 The Clear TagList command instructs the reader to immediately clear its internal TagList. Command Response Clear TagList Examples
>Clear TagList TagList has been reset!
Acquisition Commands Acquisition commands allow you to configure the reader's parameters that govern how it utilizes the various air protocols to best read a particular tag population. AcquireMode When the reader is called upon to read a tag it does so using the current AcquireMode. Currently the allowable modes are as follows:
9800 | 9780 | 8780 | 9640 | 9774 AcquireMode Inventory Global Scroll Description Perform full inventory of multiple tags. Perform fast search for single tag The default setting is Inventory. For a detailed description of the different modes, please refer to the earlier chapter titled "Tag Fundamentals". READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 56 CHAPTER 4 ALIEN READER PROTOCOL INVENTORY The Inventory acquire mode performs a full anti-collision search on tags in the readers field of view. This method will locate and distinguish multiple tags in front of the reader at the same time. GLOBAL SCROLL The Global Scroll acquire mode instructs the reader to read a single tag repeatedly. This is a very fast tag reading method that is most effective when only one tag at a time is expected to be within reader range, as in conveyor belt applications. Under such circumstances, the performance for single tag reading is considerably faster than repeatedly doing a full tag search using the Inventory mode. NOTE: If multiple tags are in range of the reader when this mode is used, the reader will either select one of the tags (usually the strongest or loudest) to read and report, or will read none of the tags. NOTE: Changes made with this command will take effect immediately. Command Response Command Response AcquireMode Examples
>set AcquireMode = Global Scroll AcquireMode = Global Scroll
>set AcquireMode = Inventory AcquireMode = Inventory TagType There are currently five types of tags supported by Alien RFID readers, each implementing one of the three EPCglobal air protocols. By allowing the reader to ignore certain tag types, the reader can focus its attention and spend more time acquire tags at a higher speed. This is accomplished by setting the TagType property. The TagType value is a bitmap, where each bit enables a certain tag type, as summarized in the following table. 9800 | 9780 | 8780 | 9640 | 9774 TagType Bit Bit 1 Tag Enabled
"Quark"
Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit 8
"Omega"
"Lepton"
C0 C1G2 reserved reserved reserved READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 Air Protocol 9 0 0 8 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9
Class 1 / Gen 1 Class 0 Class 1 / Gen 2 57 ALIEN READER PROTOCOL CHAPTER 4 So, a TagType of 3 (011decimal) indicates that the reader is looking only for
"Quark" and "Omega" tag types. Similarly, a TagType of 7 indicates it is looking for all Class 1 / Gen 1 tag types, and a TagType of 4 indicates it is only looking for "Lepton" tags. To enable Class 0 tags only, ensure bit #4 is on, which corresponds to a TagType of 8. Similarly, TagType of 16 enables Class 1 / Gen 2 tags.
The allowable range of values for TagType depends on the capabilities of the reader. For the ALR-9780, 8780, and 9640 the range is 1-7. For the ALR-9770 the range is 1-15, and for the ALR-9800 the range is 1-31.
The ALR-8780 is only designed to read Lepton tags, so a TagType of 4 should be used for this reader. Command Response Command Response TagType Examples
>set TagType = 3 TagType = 3
>get TagType TagType = 3 AcqCycles 9800 | 9780 | 8780 | 9640 | 9774 AcqCycles takes a single integer parameter between 1 and 255. It is the number of acquisition cycles that are performed each time the reader scans for Class1 /
Gen1 tags. Note: While this attribute has a maximum value of 255 (as do the other acquisition settings), setting them to high values can result in very long acquisition times, which may cause the reader to appear non-responsive. For example, setting both AcqCycles and AcqCount to 255 causes the reader to perform more than 65,000 acquisitions when it is directed to look for Class1 /
Gen1 tags. The default value for AcqCycles is 1. An acquisition cycle consists of a sequence of repeated wakes, reads, and sleeps, depending on the AcqEnterWakeCount, AcqCount, and AcqSleepCount parameters (below). The AcqCycles parameter controls the "outer loop" of the acquisition cycle, described in the "Tag Reading Fundamentals" chapter. Its value has a significant impact on the time the reader takes to perform each scan for Class1 / Gen1 tags. NOTE: Changes made with this command will take effect immediately. Command Response Command Response AcqCycles Examples
>get AcqCycles AcqCycles = 1
>set AcqCycles = 5 AcqCycles = 5 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 58 CHAPTER 4 ALIEN READER PROTOCOL AcqC1Cycles AcqC1Cycles is an alias for the AcqCycles command. The ALR-9800, being a multi-protocol reader, must explicitly call out the specific air protocol to which each acquisition parameter applies. 9800 | 9780 | 8780 | 9640 | 9774 Command Response Command Response AcqC1Cycles Examples
>get AcqC1Cycles AcqC1Cycles = 1
>set AcqC1Cycles = 5 AcqC1Cycles = 5 9800 | 9780 | 8780 | 9640 | 9774 AcqEnterWakeCount AcqEnterWakeCount takes a single integer parameter between 0 and 255. It is the number of Wake commands that are issued at the start of each Class1 /
Gen1 acquisition cycle. The default value for AcqEnterWakeCount is 3. The Wake commands act on tags matching the current Tag Mask. For example, if AcqEnterWakeCount is set to 10, then ten Wake commands are issued at the start of each acquisition cycle. If AcqEnterWakeCount is set to zero, no Wake commands are issued. NOTE: Changes made with this command will take effect immediately. AcqEnterWakeCount Examples Command Response Command Response
>set AcqEnterWakeCount = 0 AcqEnterWakeCount = 0
>get AcqEnterWakeCount AcqEnterWakeCount = 0 AcqC1EnterWakeCount AcqC1EnterWakeCount is an alias for the AcqEnterWakeCount command. The ALR-9800, being a multi-protocol reader, must explicitly call out the specific air protocol to which each acquisition parameter applies. 9800 | 9780 | 8780 | 9640 | 9774 AcqC1EnterWakeCount Examples Command Response Command Response
>get AcqC1EnterWakeCount AcqC1EnterWakeCount = 1
>set AcqC1EnterWakeCount = 5 AcqC1EnterWakeCount = 5 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 59 ALIEN READER PROTOCOL CHAPTER 4 9800 | 9780 | 8780 | 9640 | 9774 AcqCount AcqCount takes a single integer parameter between 1 and 255. It is the number of reads (Global Scroll or Inventory) that are performed in each Class1 / Gen1 acquisition cycle. The default value for AcqCount is 3. For example, if AcqCount is set to 10, then ten acquisition commands are issued during each acquisition cycle. NOTE: Changes made with this command will take effect immediately. Command Response Command Response AcqCount Examples
>set AcqCount = 10 AcqCount = 10
>get AcqCount AcqCount = 10 AcqC1Count AcqC1Count is an alias for the AcqCount command. The ALR-9800, being a multi-protocol reader, must explicitly call out the specific air protocol to which each acquisition parameter applies. 9800 | 9780 | 8780 | 9640 | 9774 Command Response Command Response AcqC1Count Examples
>get AcqC1Count AcqC1Count = 1
>set AcqC1Count = 5 AcqC1Count = 5 9800 | 9780 | 8780 | 9640 | 9774 AcqSleepCount AcqSleepCount takes a single integer parameter between 0 and 255. It is the number of Sleep commands that are issued after the reader scans for tags in each Class1 / Gen1 acquisition cycle. The default value for AcqSleepCount is 1. The Sleeps act on the tags that were read in the current acquisition cycle. For example, if AcqSleepCount is set to 5, then five Sleep commands are issued during each acquisition cycle. NOTE: Changes made with this command will take effect immediately. Command Response Command Response AcqSleepCount Examples
>set AcqSleepCount = 5 AcqSleepCount = 5
>get AcqSleepCount AcqSleepCount = 5 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 60 CHAPTER 4 ALIEN READER PROTOCOL AcqC1SleepCount 9800 | 9780 | 8780 | 9640 | 9774 AcqC1SleepCount is an alias for the AcqSleepCount command. The ALR-9800, being a multi-protocol reader, must explicitly call out the specific air protocol to which each acquisition parameter applies. AcqC1SleepCount Examples Command Response Command Response
>get AcqC1SleepCount AcqC1SleepCount = 1
>set AcqC1SleepCount = 2 AcqC1SleepCount =2 AcqExitWakeCount 9800 | 9780 | 8780 | 9640 | 9774 AcqExitWakeCount takes a single integer parameter between 0 and 255. It is the number of Wakes that are issued at the end of all the Class1 / Gen1 acquisition cycles. The default value for AcqExitWakeCount is 0. For example, if AcqExitWakeCount is set to 10, then ten Wake commands are issued after each acquisition cycle. NOTE: Changes made with this command will take effect immediately. AcqExitWakeCount Examples Command Response Command Response
>set AcqExitWakeCount = 10 AcqExitWakeCount = 10
>get AcqExitWakeCount AcqExitWakeCount = 10 AcqC1ExitWakeCount AcqC1ExitWakeCount is an alias for the AcqExitWakeCount command. The ALR-9800, being a multi-protocol reader, must explicitly call out the specific air protocol to which each acquisition parameter applies. 9800 | 9780 | 8780 | 9640 | 9774 AcqC1ExitWakeCount Examples Command Response Command Response
>get AcqC1ExitWakeCount AcqC1EnterWakeCount = 0
>set AcqC1ExitWakeCount = 3 AcqC1ExitWakeCount = 3 AcqG2Cycles AcqG2Cycles takes a single integer parameter between 1 and 255. It is the number of acquisition cycles that are performed each time the reader scans for Class1 / Gen2 tags. 9800 | 9780 | 8780 | 9640 | 9774 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 61 ALIEN READER PROTOCOL CHAPTER 4 Note: While this attribute has a maximum value of 255 (as do the other acquisition settings), setting them to high values can result in very long acquisition times, which may cause the reader to appear non-responsive. For example, setting both AcqG2Cycles and AcqG2Count to 255 causes the reader to perform more than 65,000 acquisitions when it is directed to look for Class1 /
Gen2 tags. The AcqG2Cycles parameter controls the "outer loop" of the Class1 / Gen2 acquisition cycle, described in the "Tag Reading Fundamentals" chapter. Its value has a significant impact on the time the reader takes to perform each scan for tags. NOTE: Changes made with this command will take effect immediately. Command Response Command Response AcqG2Cycles Examples
>get AcqG2Cycles AcqG2Cycles = 1
>set AcqG2Cycles = 2 AcqG2Cycles = 2 9800 | 9780 | 8780 | 9640 | 9774 AcqG2Count AcqG2Count takes a single integer parameter between 1 and 255. It is the number of reads (Global Scroll or Inventory) that are performed in each Class1 /
Gen2 acquisition cycle. For example, if AcqG2Count is set to 10, then ten acquisition commands are issued during each acquisition cycle. NOTE: Changes made with this command will take effect immediately. Command Response Command Response AcqG2Count Examples
>set AcqG2Count = 10 AcqG2Count = 10
>get AcqG2Count AcqG2Count = 10 9800 | 9780 | 8780 | 9640 | 9774 AcqG2Q AcqG2Q takes a single integer parameter between 0 and 5. It is the starting "Q"
value used to tune the performance of the Class1/Gen2 air protocol. For example, if AcqG2Q is set to 3, then the reader starts looking for tags with Q
= 3. The reader may tune the active Q value up or down during an inventory, but always starts with this value. Small Gen2 tag populations benefit from a small Q value (0-1), while larger Gen2 tag populations benefit from a higher Q value (2-5). NOTE: Changes made with this command will take effect immediately. 62 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL AcqG2Q Examples Command Response Command Response
>set AcqG2Q = 1 AcqG2Q = 1
>get AcqG2Q AcqG2Q = 1 9800 | 9780 | 8780 | 9640 | 9774 AcqC0Cycles AcqC0Cycles takes a single integer parameter between 1 and 255. It is the number of acquisition cycles that are performed each time the reader scans for Class0 tags. Note: While this attribute has a maximum value of 255 (as do the other acquisition settings), setting them to high values can result in very long acquisition times, which may cause the reader to appear non-responsive. For example, setting both AcqC0Cycles and AcqC0Count to 255 causes the reader to perform more than 65,000 acquisitions when it is directed to look for Class0 tags. The AcqC0Cycles parameter controls the "outer loop" of the acquisition cycle, described in the "Tag Reading Fundamentals" chapter. Its value has a significant impact on the time the reader takes to perform each scan for tags. NOTE: Changes made with this command will take effect immediately. Command Response Command Response AcqC0Cycles Examples
>get AcqC0Cycles AcqC0Cycles = 1
>set AcqC0Cycles = 2 AcqC0Cycles = 2 9800 | 9780 | 8780 | 9640 | 9774 AcqC0Count AcqC0Count takes a single integer parameter between 1 and 255. It is the number of reads (Global Scroll or Inventory) that are performed in each Class0 acquisition cycle. For example, if AcqC0Count is set to 10, then ten acquisition commands are issued during each acquisition cycle. NOTE: Changes made with this command will take effect immediately. Command Response Command Response AcqC0Count Examples
>set AcqC0Count = 10 AcqC0Count = 10
>get AcqC0Count AcqC0Count = 10 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 63 ALIEN READER PROTOCOL CHAPTER 4 Wake The Wake command will request all tags in the field to wake up. This command is directed by the Mask settings, allowing all tags to be awakened or a subset only. 9800 | 9780 | 8780 | 9640 | 9774 Command Response Wake Examples
>Wake Wake = OK Sleep The Sleep command will request all tags in the field to sleep. A sleeping tag will ignore any commands sent to it except the Wake command. This command is directed by the Mask settings, allowing all tags to be slept or a subset only. 9800 | 9780 | 8780 | 9640 | 9774 Command Response Sleep Examples
>Sleep Sleep = OK Mask The Get and Set Mask commands will control the current mask that the reader uses. Masks are important in both addressing tags and interrogating them. For a detailed description of Masks, please refer to the earlier chapter entitled "Tag Reading Fundamentals". The Set Mask command takes three parameters:
9800 | 9780 | 8780 | 9640 | 9774
Bit Length of Mask, as a decimal number
Bit Pointer of Mask, as a decimal number
Array of Hex Bytes separated by white spaces Note: For the purposes of setting ID masks, tag IDs start at bit 0. The Get Mask command takes no parameters but returns the three parameters described above. Note: Setting the mask to All will address all tags currently in the RF field. i.e., set mask= all"
64 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL Command Response Command Response Command Response Command Response Mask Examples
>set Mask = all Mask (BitLen, BitPtr, XX XX) = All Tags
>set Mask = 8, 0, 03 Mask (BitLen, BitPtr, XX XX) = 8, 0, 03
>set Mask = 16, 0, 00 03 Mask (BitLen, BitPtr, XX XX) = 16, 0, 00 03
>get Mask Mask (BitLen, BitPtr, XX XX) = 16, 0, 00 03 If the mask length is not evenly divisible by eight, then the last byte of the mask contains the remainder bits, and they are read from that byte from most-
significant-bit to least-significant-bit. For example, to set a mask looking for three ones at position 0 in the tag ID, the following would be used:
Notice that the mask value specified is E0hex (11100000binary) and not 07hex
(00000111binary). Matching only three bits off 07hex of would match all zeroes. set Mask = 3, 0, E0 Autonomous Mode Commands Autonomous Mode is an operation mode that enables hands-free monitoring of tags. Setup requires that you issue a series of configuration commands to the reader. These commands detail how and when to read tags, and then when tags are found, whom to tell. Once configured, the reader can be left to operate on its own. For a detailed description of the Autonomous Mode system please refer to Chapter 2 of this guide. AutoMode The AutoMode command turns on or off the auto mode.
Valid command parameters are ON and OFF.
The default setting is OFF.
Changes made with this command take effect immediately. 9800 | 9780 | 8780 | 9640 | 9774 Command Response Command Response AutoMode Examples
>get AutoMode AutoMode = ON
>set AutoMode=on AutoMode = ON READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 65 ALIEN READER PROTOCOL CHAPTER 4 AutoWaitOutput The AutoWaitOutput specifies the output pin settings to effect while in the wait state of Autonomous Mode. The parameter is a bitmap for the four external output pins, where a "1" sets a pin to high, and a "0" sets a pin to low. Output pin 1 is specified by bit 0 in the mask, output pin 2 is specified by bit 1 in the mask, etc. 9800 | 9780 | 8780 | 9640 | 9774 AutoWaitOutput Examples
>get AutoWaitOutput AutoWaitOutput = 0
>set AutoWaitOutput = 3 (sets pins 0 and 1 high) AutoWaitOutput = 3 Command Response Command Response AutoStartTrigger The AutoStartTrigger specifies the external input pins to monitor to cause the auto mode to jump from wait state to work state. Triggers can either be a pin going from low to high (rising edge) to high to low (falling edge). For each type of change, an integer bitmap must be provided to specify the pins to listen for changes on. The command takes two parameters, a rising edge bitmap and a falling edge bitmap. 9800 | 9780 | 8780 | 9640 | 9774 AutoStartTrigger Examples
>get AutoStartTrigger AutoStartTrigger(rising, falling) = 0, 0
>set AutoStartTrigger =3, 0 AutoStartTrigger (rising, falling) = 3, 0 Command Response Command Response 9800 | 9780 | 8780 | 9640 | 9774 AutoStartPause The AutoStartPause is a feature of the ALR-9800 which allows you to tell the reader to wait a specified number of milliseconds after receiving a start trigger before actually starting. This allows you to compensate for situations such as a conveyor, where you wish to trigger the reader with a photo-eye, but the photo-eye must be placed some distance from the reader. By setting the AutoStartPause to a value close to the time between when a package crosses the photo-eye's beam and when it reaches the read zone, you eliminate unnecessary RF activity and potential mis-
reads from other tags that may happen to still be in the field. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 66 CHAPTER 4 ALIEN READER PROTOCOL Command Response Command Response AutoStartTrigger Examples
>get AutoStartPause AutoStartPause = 0
>set AutoStartPause = 150 AutoStartPause = 150 AutoWorkOutput The AutoWorkOutput specifies the output pin settings to effect while in the work state of Autonomous Mode. The parameter is a bitmap for the four external output pins, where a "1" sets a pin to high, and a "0" sets a pin to low. Output pin 1 is specified by bit 0 in the mask, output pin 2 is specified by bit 1 in the mask, etc. 9800 | 9780 | 8780 | 9640 | 9774 AutoWorkOutput Examples
>get AutoWorkOutput AutoWorkOutput =0
>set AutoWorkOutput =3 (sets pins 0 and 1 high) AutoWorkOutput =3 Command Response Command Response AutoAction The AutoAction command specifies the action to perform when running in the work mode of auto mode. This can be one of the following options:
9800 | 9780 | 8780 | 9640 | 9774
Acquire (default)
None Additional AutoAction options are available with the reader is in "Programmer"
mode (see the Function command):
Program
Erase
Program and Lock
Kill READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 67 ALIEN READER PROTOCOL CHAPTER 4 AutoAction Description None Acquire Program Erase Program and Lock Kill Perform no action Perform an acquire action, as specified by the AcquireMode options. This is the default value. Programs a tag. Only available when Function =
Programmer. See programming commands for more information. Erases a tag. Only available when Function = Programmer. See programming commands for more information. Programs and locks a tag. Only available when Function =
Programmer. See programming commands for more information. Kills a tag. Only available when Function = Programmer. See programming commands for more information. AutoAction Examples
>get AutoAction AutoAction = Acquire
>set AutoAction =Acquire AutoAction = Acquire Command Response Command Response 9800 | 9780 | 8780 | 9640 | 9774 AutoStopTrigger The AutoStopTrigger specifies the external input pins to monitor to cause the auto mode to jump from work state to evaluate state. Triggers can either be a pin going from low to high (rising edge) to high to low (falling edge). For each type of change, an integer bitmap must be provided to specify the pins to listen for changes on. The command takes two parameters, a rising edge bitmap and a falling edge bitmap. The Reader can only listen for rising edges or falling edges at one time, but not both. AutoStopTrigger Examples
>get AutoStopTrigger AutoStopTrigger(rising, falling) = 0, 0
>set AutoStopTrigger = 3, 0 AutoStopTrigger (rising, falling) = 3, 0 Command Response Command Response AutoStopTimer 9800 | 9780 | 8780 | 9640 | 9774 The AutoStopTimer offers an alternative way to jump from work state to evaluate state. This is a time based jump, which will happen after the timer period specified by this command expires. The parameter is a single time period, specified in milliseconds. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 68 CHAPTER 4 ALIEN READER PROTOCOL If an reader acquisition (which depends mainly on the AcquireCycles and AcquireCount attributes) takes longer than the AutoStopTimer value, the acquisition will complete before moving to the evaluate state. Command Response Command Response AutoStopTimer Examples
>get AutoStopTimer AutoStopTimer(ms) = 0
>set AutoStopTimer = 1000 AutoStopTimer (ms) = 1000 AUTOSTOPTIMER AND THE ALR-9770 In the ALR-9770, the AutoStopTimer plays a dual role it also specifies the time the reader spends performing a single read cycle, whether a single AutoMode cycle, or an interactive "get TagList" command. The ALR-9770 schedules its allowed tag-acquisition time by first equally dividing the AutoStopTimer value among the specified tag protocols, and then dividing among the antennas. AutoStopTimer
(ms) protocol1 protocol2 a1 a2 a3 a1 a2 a3 For all Class 1 tags, the antenna arbitration algorithm is optimized for maximizing the read rate of the tags in the field. For Class 0 tags, each antenna is given 112ms of search time. Thus, time division for antennas within a protocol cannot be specified. When specifying the AutoStopTimer for a search over multiple tag protocols, it is important to keep in mind the worst case of the multiple protocols. To calculate a minimum value for AutoStopTimer, determine which protocol will take the longest to read its tag population, then multiply that value by the number of protocols and number of antennas. AutoStopTimermin = max( NumTagsClass1*TimePerTagClass1, NumTagsClass0*TimePerTagClass0
) * #Protocols * #Antennas
Typical time to read a Class1 tag is 16ms
Typical time to read a Class0 tag is 1.4ms What happens if the AutoStopTimer is too small? The reader may not search using all protocols, and/or it may not have time to search all specified antennas. For instance, it is desired to read a mixed population of 20 Class1 and 20 Class0 tags, on three antennas. If a small timeout is used (250ms), the reader schedules its time as follows:
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 69 ALIEN READER PROTOCOL CHAPTER 4 AutoStopTimer
(250ms) Class 1
(125ms) Class 0
(224ms) a1 a2 a3 a1
(112ms) a2
(112 ms) First, the reader recognizes that it has to use two tag protocols, so it divides the allotted 250ms equally among them. It uses the first 125ms to find as many Class1 tags as possible on the three antennas. Since Class0 uses a minimum of 112ms per antenna, it has just enough time to search the first antenna, and start looking on the second antenna. The reader does not have time to search the third antenna for Class0 tags. (Notice that it does extend the AutoStopTimer long enough to finish the current acquisition). Using the equation given previously, the minimum value to use for AutoStopTimer should be:
AutoStopTimermin = max(20*16ms, 20*1.4ms) * 2 * 3
= max(320, 28) * 6
= 1920 ms In this case, the reader schedules its time as follows:
AutoStopTimer
(1920ms) Class1
(960ms) Class0
(960ms) a1 a2 a3 a1 320 ms a2 320 ms a3 320 ms Now there is plenty of time to read all protocols on all antennas. AutoTrueOutput The AutoTrueOutput specifies the output pin settings to effect if the evaluate mode of Autonomous Mode evaluates to true. The parameter is a bitmap for the four external output pins, where a "1" sets a pin to high, and a "0" sets a pin to low. Output pin 1 is specified by bit 0 in the mask, output pin 2 is specified by bit 1 in the mask, etc. 9800 | 9780 | 8780 | 9640 | 9774 70 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL AutoTrueOutput Examples
>get AutoTrueOutput AutoTrueOutput = 0
>set AutoTrueOutput = 3 (sets pins 0 and 1 high) AutoTrueOutput = 3 Command Response Command Response AutoTruePause The AutoTruePause specifies a millisecond pause to effect if the autonomous evaluation mode evaluates to true. This pause will occur after the AutoTrueOutput command has been processed. 9800 | 9780 | 8780 | 9640 | 9774 AutoTruePause Examples
>get AutoTruePause AutoTruePause(ms) = 0
>set AutoTruePause = 500 AutoTruePause = 500 Command Response Command Response AutoFalseOutput The AutoFalseOutput specifies the output pin settings to effect if the evaluate mode of Autonomous Mode evaluates to false. The parameter is a bitmap for the four external output pins, where a "1" sets a pin to high, and a "0" sets a pin to low. Output pin 1 is specified by bit 0 in the mask, output pin 2 is specified by bit 1 in the mask, etc. 9800 | 9780 | 8780 | 9640 | 9774 AutoFalseOutput Examples
>get AutoFalseOutput AutoFalseOutput = 0
>set AutoFalseOutput = 3 AutoFalseOutput = 3 Command Response Command Response AutoFalsePause The AutoFalsePause specifies a millisecond pause to effect if the autonomous evaluation mode evaluates to false. This pause will occur after the AutoFalseOutput command has been processed. 9800 | 9780 | 8780 | 9640 | 9774 AutoFalsePause Examples
>get AutoFalsePause AutoFalsePause (ms) = 0
>set AutoFalsePause = 500 AutoFalsePause = 500 Command Response Command Response READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 71 ALIEN READER PROTOCOL CHAPTER 4 9800 | 9780 | 8780 | 9640 | 9774 AutoModeStatus The Get AutoModeStatus command will return an integer representing the current state of the auto mode state machine. Additionally the status may be followed by an asterisk character (*). If present it indicates that a complete auto mode cycle has occurred since the last get AutoModeStatus command was issued. Calling this method will always clear the
* flag. The following table details the different states returned:
AutoModeStatus : States Returned 0 10 20 30 40 50 60 70 80 Auto Mode is OFF Auto Mode is initializing Auto Mode is listening for a start trigger Auto Mode is starting its Action Auto Mode is processing its Action Auto Mode is listening for a Stop condition Auto Mode is entering its evaluation stage Auto Mode is in its true or false pause stage Auto Mode is in notify stage Command Response Command Response AutoModeStatus Examples
>get AutoModeStatus AutoModeStatus = 0
> Get AutoModeStatus AutoModeStatus = 30*
AutoModeReset The AutoModeReset command will reset all auto mode parameters to their default values, including setting the auto mode to off. 9800 | 9780 | 8780 | 9640 | 9774 Command Response AutoModeReset Examples
>AutoModeReset All AutoMode settings have been reset !
AutoModeTriggerNow 9800 | 9780 | 8780 | 9640 | 9774 The AutoModeTriggerNow command will emulate an external IO trigger event to effect auto mode. This command will only work if the RFID Reader is already in auto mode and is waiting for a start trigger condition. At this point, issuing the AutoModeTriggerNow command will be identical to a real external trigger event, forcing the auto mode into its action cycle. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 72 CHAPTER 4 ALIEN READER PROTOCOL AutoModeTriggerNow Examples
>AutoModeTriggerNow Auto Mode Triggering Now Command Response Notify Mode Commands The Notify Mode commands are used to set up automated event notification either on the expiration of a timer, or triggered off of events that occur with the reader is running in Autonomous Mode. NotifyMode The NotifyMode command turns on or off the notify mode.
Valid command parameters are ON and OFF.
The default setting is OFF. 9800 | 9780 | 8780 | 9640 | 9774 Command Response Command Response NotifyMode Examples
>get NotifyMode NotifyMode = ON
>set NotifyMode = on NotifyMode = ON NotifyAddress 9800 | 9780 | 8780 | 9640 | 9774 The Notify Address command pair specifies where notification messages should be sent when they occur and how they should be sent. The form of the address determines the method of delivery. Currently there are 3 delivery methods supported as shown in the table below:
NotifyAddress user@domain.com hostname:port serial Description Send a message via e-mail to the address specified. The address is specified in standard email form, i.e., user@domain.com NOTE: the MailServer parameter must be configured for this to work. Optionally the MailFrom parameter can be used. Send a message to a specified port on a networked machine. The address takes the form hostname:port. For example, 123.01.02.98:3450 or listener.alientechnology.com:10002 Send a message to the serial connection. The word serial is used as the address. The word is not case sensitive. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 73 ALIEN READER PROTOCOL CHAPTER 4 NotifyAddress Examples
>get NotifyAddress NotifyAddress = 10.1.0.12:4000
>set NotifyAddress = user@msn.com NotifyAddress = user@msn.com Command Response Command Response NotifyTime The Notify Time commands assign and retrieve the time interval for automatic TagList pushing to a listening machine. 9800 | 9780 | 8780 | 9640 | 9774
The time is specified in seconds.
If set to zero, the time-based automatic notification is disabled.
When set to a positive number of seconds, a standard notification message will be sent out each period. Command Response Command Response NotifyTime Examples
>get NotifyTime NotifyTime = 30
>set NotifyTime = 30 NotifyTime = 30 NotifyTrigger The NotifyTrigger command specifies and retrieves the event conditions (other than time-based) upon which a notification message is sent out. Notify messages can be triggered under any of the following conditions:
9800 | 9780 | 8780 | 9640 | 9774 Trigger Name Meaning Add Remove Change True False TrueFalse Send message when new tag is read and added to the TagList. Send message when a tag is removed from the TagList. Send message when a tag is either added to or removed from the TagList. Send message when the evaluation task of the autonomous state loop evaluates to true, typically when tags are added to the taglist. Send message when the evaluation task of the autonomous state loop evaluates to false, typically when tags are not added to the taglist. Send message when the evaluation task of the autonomous state loop evaluates to true or false (i.e. every time). 74 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL NotifyTrigger Examples
>get NotifyTrigger NotifyTrigger = Remove
>set NotifyTrigger = add NotifyTrigger = Add Command Response Command Response NotifyFormat The NotifyFormat parameter specifies the format of any notification message. The format may be one of the following:
9800 | 9780 | 8780 | 9640 | 9774 NotifyFormat Description Text Terse XML Custom TagLists are sent out as plain text messages, one tag ID per line. Similar to the Text format, except TagList data is formatted in the terse format. TagLists are sent out in XML text format. Similar to the Text format, except TagList data is formatted as defined by the TagListCustomFormat command.
Text-formatted TagLists take the form:
#Alien RFID Reader Auto Notification Message
#ReaderName: Spinner Reader
#ReaderType: Alien RFID Tag Reader (Class 1 / 915Mhz)
#IPAddress: 10.1.70.13
#CommandPort: 23
#Time: 2003/01/21 12:48:59
#Reason: TEST MESSAGE Tag:8000 8004 0000 003B, Disc:2003/12/04 15:08:59, Last:2003/12/04 15:08:59, Count:4, Ant:0 Tag:8000 8004 9999 0004, Disc:2003/12/04 15:08:59, Last:2003/12/04 15:08:59, Count:3, Ant:0
#End of Notification Message
Terse-formatted TagLists take the form:
#Alien RFID Reader Auto Notification Message
#ReaderName: Spinner Reader
#ReaderType: Alien RFID Tag Reader (Class 1 / 915Mhz)
#IPAddress: 10.1.70.13
#CommandPort: 23
#Time: 2003/01/21 12:48:59
#Reason: TEST MESSAGE 8000 8004 0000 003B,4,0 8000 8004 9999 0004,3,0
#End of Notification Message
XML-formatted TagLists take the form:
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 75 ALIEN READER PROTOCOL CHAPTER 4
<Alien-RFID-Reader-Auto-Notification>
<ReaderName>Spinner Reader</ReaderName>
<ReaderType>
Alien RFID Tag Reader (Class 1 / 915Mhz)
</ReaderType>
<IPAddress>10.1.70.13</IPAddress>
<CommandPort>23</CommandPort>
<Time>2003/01/21 12:49:22</Time>
<Reason>TEST MESSAGE</Reason>
<Alien-RFID-Tag-List>
<Alien-RFID-Tag>
<TagID>8000 8004 0000 003B </TagID>
<DiscoveryTime>2003/12/04 15:08:59</DiscoveryTime>
<LastSeenTime>2003/12/04 15:08:59</LastSeenTime>
<Antenna>0</Antenna>
<ReadCount>4</ReadCount>
</Alien-RFID-Tag>
<Alien-RFID-Tag>
<TagID>8000 8004 9999 0004</TagID>
<DiscoveryTime>2003/12/04 15:08:59</DiscoveryTime>
<LastSeenTime>2003/12/04 15:08:59</LastSeenTime>
<Antenna>0</Antenna>
<ReadCount>3</ReadCount>
</Alien-RFID-Tag>
</Alien-RFID-Tag-List>
</Alien-RFID-Reader-Auto-Notification>
NotifyHeader 9800 | 9780 | 8780 | 9640 | 9774 The NotifyHeader command turns on or off the header portion of each notification message. When the NotifyHeader is turned off, notification messages contain only the TagList portion of the message.
Valid command parameters are ON and OFF.
The default setting is ON. Command Response Command Response NotifyMode Examples
>get NotifyHeader NotifyHeader = On
>set NotifyHeader = off NotifyHeader = Off NotifyKeepAliveTime 9800 | 9780 | 8780 | 9640 | 9774 When the reader sends a notification message out over the network, it needs an open TCP socket to do so. Opening and closing a socket entails some processor and network overhead, and if the notifications are coming out of the reader rapidly, this overhead can become a burden that hinders reader responsiveness. The NotifyKeepAliveTime attribute sets the amount of time (in seconds) that the reader will keep this socket open. For rapid notifications, it may be advantageous for the reader to hold the socket open continuously. You do this by setting NotifyKeepAliveTime to some value greater than the expected time between notifications. 76 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 ALIEN READER PROTOCOL On the other hand, holding the socket open places a burden on the network. For infrequent notifications, it is advantageous to leave the NotifyKeepAliveTime small so that the socket is opened only long enough for a single notification to be sent out, and is then closed automatically after message delivery.
The time can range from 0 to 65535 seconds.
The default value is 30 seconds. Command Response Command Response NotifyKeepAliveTime Examples
>get NotifyKeepAliveTime NotifyKeepAliveTime (secs) = 30
>set NotifyKeepAliveTime = 90 NotifyKeepAliveTime (secs) = 90 MailServer 9800 | 9780 | 8780 | 9640 | 9774 The MailServer command pair allow you to define an SMTP (simple mail transfer protocol) mail server. This mail server is used only when automatic notification is configured (see Notify commands) and is set to use Mail as its delivery method. MailServer Examples
>get MailServer MailServer = 12.34.56.78
>set MailServer = 45.224.124.34 MailServer = 45.224.124.34 Command Response Command Response MailFrom The MailFrom command pair allows you to define the email address associated with the RFID Reader. The emails sent out by the RFID Reader will have this parameter set in the From: field of the email header. 9800 | 9780 | 8780 | 9640 | 9774 MailFrom Examples
>get MailFrom MailFrom = AlienRFIDReader
>set MailFrom = reader@mycompany.com MailFrom = reader@mycompany.com Command Response Command Response NotifyRetryCount If a network notification fails to connect to a host at the specified NotifyAddress, the reader will attempt to resend the notification message. Rather than endlessly retrying a failed operation (which needlessly consumes reader resources), the reader will stop after the number of attempts reaches the NotifyRetryCount. At this point the reader turns NotifyMode off. 9800 | 9780 | 8780 | 9640 | 9774 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 77 ALIEN READER PROTOCOL CHAPTER 4
The value can range from 0 to 32767.
The default value is 3 retries.
The period between retries is given by the NotifyRetryPause (below). NotifyRetryCount Examples
>get NotifyRetryCount NotifyRetryCount = 3
>set NotifyRetryCount = 0 NotifyRetryCount = 0 Command Response Command Response NotifyRetryPause 9800 | 9780 | 8780 | 9640 | 9774 When the reader attempts to send a network notification and fails, it tries again a number of times specified by NotifyRetryCount. The time period between these retries is specified by the NotifyRetryPause.
The value can range from 0 to 32767 seconds.
The default value is 10 seconds. Command Response Command Response NotifyRetryPause Examples
>get NotifyRetryPause NotifyRetryPause (secs) = 10
>set NotifyRetryPause = 60 NotifyRetryPause (secs) = 60 NotifyNow The NotifyNow command instructs the reader to send out an immediate notification of its TagList to the address currently set by the NotifyAddress command. 9800 | 9780 | 8780 | 9640 | 9774 Command Response NotifyNow Examples
>NotifyNow Issuing Notify Trigger... 78 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 5 TAG PROGRAMMING CHAPTER 5 Tag Programming All Alien RFID tags support programmable ID numbers. This chapter describes the series of commands required to program EPC-compliant ID codes and user-
defined ID codes into Alien RFID tags, and details some of the physical conditions required to carry out successful programming tasks. Enabling The Programmer By default all Alien RFID Readers are shipped with tag-programming commands disabled. Before being able to program tags, these programming commands must be enabled. You do this by issuing the following command to the Reader via a command-line terminal:
Alien >set Function = Programmer Function = Programmer To disable these commands again, issue the following command:
Alien >set Function = Reader Function = Reader Once the functions have been enabled, issuing a "Help" command will reveal a new suite of commands under the title "Programming" (not all of the commands shown are available with all readers):
>Help
. PROGRAMMING:
Get|Set ProgAntenna Set Program Tag Verify Tag Erase Tag Set Lock Tag Set Kill Tag Get|Set ProgramID (for automatic programming) Get|Set ProgramPassCode (for automatic programming) Get|Set ProgReadAttempts Get|Set ProgEraseAttempts Get|Set ProgIncrementOnFail Get|Set ProgAttempts Tag Memory Structure Knowing the tag memory structure is essential for successfully programming tags and using mask commands to acquire subsets of tags. This chapter describes the basic memory formats supported by all Alien tag systems. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 79 TAG PROGRAMMING CHAPTER 5 Class I Tags (96-bit)
"Quark" and "Omega" Class I tags from Alien contain 96 bits of programmable memory, of which 64 bits are user-programmable. The remaining 32 bits are controlled by the reader to record state and checksum information inside the tag. Checksum 1 Byte 0 EPC Code (or User ID Code) Lock PC 0 1 2 3 4 5 6 7 0 0 Bit 0-7 8-15 0-7 8-15 16-23 24-31 32-39 40-47 48-55 56-63 0-7 0-7 Class I 96-bit Tag Memory Structure The ID Code memory is address from left to right, where the leftmost bit (the Most Significant Bit) is bit 0, and the rightmost bit (the Least Significant Bit) is bit 63. There is no restriction on the data that resides in this portion of the tag. The Checksum is calculated over the 64 bits of the ID Code only. The checksum is calculated and programmed into the tag automatically by the reader. This checksum is calculated using the CCITT-16 standard. The Lock and PassCode (PC) bytes stored at the end of tag memory are used to lock a tag and kill a locked tag. Each of these codes takes exactly one byte. The user can control the value of the PassCode, passing it in as a parameter to the Lock command. The reader takes full control of the Lock byte, allowing it to flag the tag as either locked or unlocked. Class I Tags (128-bit)
"Lepton" Class I tags from Alien contain 128 bits of programmable memory, of which 96 bits are user-programmable. The remaining 32 bits are controlled by the reader to record state and checksum information inside the tag. Checksum 1 Byte 0 EPC Code (or User ID Code) Lock PC 0 1 2 3 9 10 11 0 0 Bit 0-7 8-15 0-7 8-15 16-23 24-31 72-79 80-87 88-95 0-7 0-7 Class I 128-bit Tag Memory Structure The ID Code memory is address from left to right, where the leftmost bit (the Most Significant Bit) is bit 0, and the rightmost bit (the Least Significant Bit) is bit 95. There is no restriction on the data that resides in this portion of the tag. The Checksum is calculated over the 96 bits of the ID Code only. The checksum is calculated and programmed into the tag automatically by the reader. This checksum is calculated using the CCITT-16 standard. The Lock and PassCode (PC) bytes stored at the end of tag memory are used to lock a tag and kill a locked tag. Each of these codes takes exactly one byte. The user can control the value of the PassCode, passing it in as a parameter to the Lock command. The reader takes full control of the Lock byte, allowing it to flag the tag as either locked or unlocked. 80 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 5 TAG PROGRAMMING Class BPT Tags Class BPT tags from Alien support 96 bits of programmable ID memory. Unlike the Class I tag, all 96 bits are user-addressable and user-programmable. There are no prerequisites for the content of this memory space. Byte EPC Code (or User ID Code) 0 1 2 3 4 5 6 7 8 9 10 11 Bit 0-7 8-15 16-23 24-31 32-39 40-47 48-55 56-63 64-71 72-79 80-87 88-95 The Class BPT tag does not support Lock or Kill. Class BPT Tag Memory Structure Programming Distance & Power Levels Caution: It is highly recommended that you read and understand this section before programming tags. The term programming as used in this manual refers to the operations that alter the tag memory. These include the Erase Tag, Program Tag, Lock Tag and Kill Tag commands. These commands are discussed in some detail later in this chapter. From the operational and software point of view, programming tag IDs is very simple, in most cases requiring just the click of a button or the issuance of one command. However, several variables affect programming reliability and must be properly addressed in every application. There are three factors under your control to assure programming success in any application: application software, attenuation, and the physical position of the tags. Programming Power Programming a tag requires substantially more power than reading a tag. As a result, the tag's programming range will be substantially less than its read range. Programming commands will affect all tags that receive sufficient power to execute the commands. As a result, the tag to be programmed should be physically isolated from tags that you do not intend to program. Similarly, you should program at the minimum power that will reliably program the tag in the given environment, so as not to affect nearby tags. A lower programming power requires a shorter physical separation of tags. The power received by the tag is determined by the power supplied to the antenna, the distance tag is from the antenna, and the level of signal reflections from the environment and the object being tagged. Environmental reflections can cause local power nulls near the tag, and it will not be programmed due to insufficient power. Tag separation from the antenna should be as constant as possible, to minimize power variation and to avoid special nulls due to reflection. Tag orientation with respect to the antenna should also be controlled. In particular, when using a linear antenna the tag should be presented in the same orientation as the antenna polarization. The power supplied to the antenna is controlled by the use of attenuators to reduce the signal strength. The attenuator value is selected based on careful measurements in the environment after other variables have been controlled as described above. A variable attenuator is a useful tool in setting the final attenuation values. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 81 TAG PROGRAMMING CHAPTER 5 Programming Range Alien tags can be programmed over a substantial range. In a free space environment with no attenuation and a linear antenna the tag should be set no closer than 50 cm (20 in) from the antenna when attempting to program. The tag may be placed closer to the antenna but programming reliability may suffer. If programming is attempted very close to the antenna, the tag may be permanently damaged and rendered un-programmable. Again, your physical environment will affect programming results due to power nulls created by reflections from the floor, walls, metal structures, etc. When using a circular antenna in a free space environment with no attenuator, the tag should be set no closer than 50 cm from the antenna when attempting to program. Programming Problems The most common result of poor programming is that the tag will no longer read in Global Scroll or Inventory modes. This is due to the tag memory being erased or incompletely programmed. Tags in this state can be read using the Verify Tag command and can be programmed using the Program Tag commands. Typically, tag erasure without programming success (the Verify Tag command will return all 0s) is caused by insufficient power since the erase process requires less energy than the programming process. Power should be increased by either decreasing attenuation or moving the tag closer to the antenna and repeating the programming process. Incompletely programmed tags can be caused by insufficient or excessive programming power. Revaluate the tag position and the signal attenuation and repeat the programming sequence. A step attenuator is a powerful tool in evaluating programming conditions. When using the attenuator, set it to the highest value at which you can reliably read the tag. You can then step down approximately 10 dB from this value as an estimate of the proper attenuation for programming. By varying the attenuator value you can optimize programming conditions over the range of the other variables in your application. Programming Slept Tags A common programming mistake is attempting to program a slept tag. A tag may be left in a sleep state after reading it, and subsequent attempts to program it may fail. This can be remedied by issuing an explicit "Wake" command before programming, or by carefully setting the Acquire parameters, AcqSleepCount and AcqExitWakeCount. When AcqSleepCount is not zero, the reader puts tags to sleep as it reads them, making it easier to find other tags in the field. The AcqExitWakeCount property allows you to specify a number of Wake commands to be issued after each read cycle waking up the entire tag population that was read in that cycle. If AcqExitWakeCount is zero, these Wake commands aren't issued at all, and tags may be left in a slept state. By either setting AcqSleepCount to zero, or making sure AcqExitWakeCount is not zero, you can ensure that tags are not left sleeping. 82 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 5 TAG PROGRAMMING Programming Commands Summary Command Program Tag Erase Tag get ProgAntenna set ProgAntenna get ProgReadAttempts set ProgReadAttempts get ProgEraseAttempts set ProgEraseAttempts get ProgAttempts set ProgAttempts Lock Tag Kill Tag Verify Tag get ProgramID set ProgramID get ProgramPassCode set ProgramPassCode get ProgIncrementOnFail set ProgIncrementOnFail Description Programs a tag with a specified ID. Erases a tag. Gets and Sets the antenna on which to issue programming commands. Gets and Sets the number of attempts to verify a tag before programming it. Gets and Sets the number of attempts to erase a tag before programming it. Gets and Sets the number of attempts to program a tag. Locks a tag with a specified PassCode. Kills a locked tag with a specified PassCode. Asks a tag to return its entire tag data. Gets and Sets the next ID used to program tags while in Autonomous Mode (increments upon success). Gets and Sets the PassCode used to lock tags while in Autonomous Mode. Gets and Sets the flag that specifies if the ProgramID should increment when a program operation fails. 0 0 8 9 0 8 7 9 0 8 7 8 0 4 6 9 0 7 7 9 Program and Erase Functions The two most common methods of altering tag memory are the Program Tag and Erase Tag commands. These two functions are supported by all Alien RFID tags, including Class I and Class BPT systems. The Program Tag function programs a user-defined ID into the tag memory. The Erase function erases all data in the tag memory, setting all the tag data bytes to zero. Program Tag The Program Tag command allows the user to specify the ID to program into a tag. Once the command is issued, the reader verifies the presence of a tag, erases it, programs it, then reads back the tag memory to verify that the program command worked properly. 9800 | 9780 | 8780 | 9640 | 9774
Tags that are locked cannot be Programmed.
The Program Tag command expects you to supply a list of hexadecimal bytes separated by spaces, representing the tag memory to program. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 83 TAG PROGRAMMING CHAPTER 5 Program Tag Examples Condition Exactly one tag in field of view. Tag read is strong. Program a Class I tag with a new 64-bit ID.
>program tag = 80 00 FF EE 10 00 00 01 Program Tag = 80 00 FF EE 10 00 00 01 Command Response Condition Tag on fringe of read range. Command Response Condition Tag is Locked Command Response
>program tag = 80 00 FF EE 10 00 00 01 Program Tag = Error : No Tag Found.
>program tag = 80 00 00 00 10 00 00 01 Program Tag = Error : Tag Is Locked. Cannot Program. CLASS I TAGS Programming a Class I tag requires 8 or 12 bytes of ID code (depending on tag type). The reader automatically calculates the checksum for this ID and programs that in addition to the ID code. The lock and PassCode bytes are set to zero. CLASS BPT TAGS Programming a Class BPT tag requires 12 bytes of ID code. The Class BPT does not require a checksum code, and does not support lock and kill. Therefore the entire 12 bytes of tag memory are addressable with this command. Erase Tag The Erase Tag command attempts to erase the memory of a tag in the readers field of view. A tag affected by this command has its entire tag memory set to zero. Once the command is issued, the reader verifies the presence of a tag, erases it, then reads back the tag memory to verify that the erase command worked properly. 9800 | 9780 | 8780 | 9640 | 9774
The reader erases all tags in the field of the ProgAntenna.
Tags that are locked or not programmed cannot be Erased. Erase Tag Examples Condition Exactly one tag in field of view. Tag read is strong. Erase command will erase memory, setting to all zeros.
>erase tag Erase Tag = Success!
Command Response Condition One or more tags on fringe of read range. Command Response Condition Tag is Locked Command Response
>erase tag Erase Tag = Error : No Tag Found.
>erase tag Erase Tag = Error : Tag Is Locked. Cannot Erase. 84 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 5 TAG PROGRAMMING 9800 | 9780 | 8780 | 9640 | 9774 ProgAntenna Programming tags requires a controlled, repeatable RF environment (see previous section titled, "Programming Distance and Power Levels"), and in most cases, programming commands can potentially effect all the tags in the RF field. For this reason, rather than using the AntennaSequence to indicate which antenna(s) to issue programming commands on, you use the ProgAntenna attribute instead. All programming commands are issued on the antenna port specified by ProgAntenna, regardless of the current AntennaSequence value. ProgAntenna Examples
>get ProgAntenna ProgAntenna = 0
>set ProgAntenna = 2 ProgAntenna = 2 Command Response Command Response ProgReadAttempts When the reader is asked to perform a programming operation, often the first step is to verify the presence of a tag in the field. If there is not identifiable tag in the field, the reader won't bother continuing with the rest of the operation. The ProgReadAttempts attribute specifies the number of attempts the reader should make to verify the presence of a tag. 9800 | 9780 | 8780 | 9640 | 9774
The value can range from 1 to 255.
The default value is 10. ProgReadAttempts is used in the following programming commands:
Program Tag
Erase Tag
Kill Tag
Lock Tag Command Response Command Response ProgReadAttempts Examples
>get ProgReadAttempts ProgReadAttempts = 10
>set ProgReadAttempts = 5 ProgReadAttempts = 5 ProgEraseAttempts The ProgEraseAttempts attribute specifies the number of attempts the reader should make to erase a tag. This value is used as a parameter in an Erase Tag 9800 | 9780 | 8780 | 9640 | 9774 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 85 TAG PROGRAMMING CHAPTER 5 operation, but is also used in a Program Tag operation, since a tag is erased before it is programmed.
The value can range from 1 to 255.
The default value is 10. ProgEraseAttempts is used in the following programming commands:
Program Tag
Erase Tag Command Response Command Response ProgEraseAttempts Examples
>get ProgEraseAttempts ProgEraseAttempts = 10
>set ProgEraseAttempts = 5 ProgEraseAttempts = 5 ProgAttempts The ProgAttempts attribute specifies the number of attempts the reader should make to program a tag during a Program Tag operation. 9800 | 9780 | 8780 | 9640 | 9774
The value can range from 1 to 255.
The default value is 3. Command Response Command Response ProgAttempts Examples
>get ProgAttempts ProgAttempts = 3
>set ProgAttempts = 5 ProgAttempts = 5 Lock and Kill Functions (Class I Only) The Class I tags support two additional commands, not yet supported by the Class BPT tags. These two functions, called Lock and Kill, provide a rudimentary locking scheme to prevent tag memory being overwritten accidentally or on purpose. Lock Tag A tag can be locked to prevent its memory from being changed. Once locked there is only one way to change the memory, and that is to Kill the tag. 9800 | 9780 | 8780 | 9640 | 9774
There is no "unlock" command. 86 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 5 TAG PROGRAMMING The Lock Tag command takes one argument: the PassCode, which is a hexadecimal byte in the range 00-FF. If the PassCode is not supplied, the reader uses 00 be default. This PassCode is required by the Kill command, as described below. Lock Tag Examples Condition Exactly one tag in field of view. Tag read is strong. Lock tag with pass code of 5F.
>lock tag = 5F Lock Tag = Success!
Command Response Condition Tag on fringe of read range, or no valid tags in range Command Response Condition Tag is already Locked Command Response
>lock tag = 5F Lock Tag = Error : No Tag Found.
>lock tag = 5F Lock Tag = Error : Tag Is Locked. Kill Tag The Kill Tag command is used to recover a locked tag, allowing it to be programmed again. A locked tag cannot be erased or reprogrammed; the only programming operation that can be performed on a locked tag is the Kill Tag operation. 9800 | 9780 | 8780 | 9640 | 9774
Kill Tag sets all bytes of tag memory to zero.
Kill Tag can only be used on locked tags.
There is no "unlock" command. To use the Kill Tag command, the full tag ID of the tag to kill must be provided as well as the PassCode that was used to lock the tag with. These parameters are passed as 9 or 13 (depending on tag type) consecutive hexadecimal numbers separated by spaces. Kill Examples Condition Exactly one tag in field of view. Tag read is strong. Tag ID is 80 00 01 00 02 00 03 00. Locked using pass code 5F. Kill Tag command is successful.
>kill tag = 80 00 01 00 02 00 03 00 5F Kill Tag = Success!
Command Response Condition Exactly one tag in field of view. Tag read is strong. Tag ID is 80 00 01 00 02 00 03 00. Locked using pass code 5F. Kill Tag command fails because PassCode is wrong.
>kill tag = 80 00 01 00 02 00 03 00 1A Kill Tag = Error : Kill Failure. Command Response Once a tag is killed, its memory contents (including CRC bytes) are cleared to all zeros, making the tag unreadable. It may then be reprogrammed with a new ID. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 87 READERHOST PROTOCOL Acquire vs. Verify CHAPTER 4 There are two different methods with which to read tags in the field, the Acquire mode and the Verify mode. Up to now, when this document referred to "reading tags", it meant "Acquire". When programming is taken into consideration, a second mode, called "Verify", should be considered. The reader acquires tags when the "get TagList" command is issued to the reader, or the reader is reading tags in Autonomous Mode. The actual method used to acuire the tags in the reader's field is determined by the AcquireMode setting. This is typically "Inventory" or "Global Scroll". See chapter 3, "Tag Fundamentals", for more details on the differences between these methods. Regardless of the actual command issued to read a tag in Acquire mode, the tag ID returned is always a fully formed ID code, checked against the checksum for any errors. This error checking is done by reading the tag ID and calculating its checksum, then comparing it to the checksum contained within tag memory. If they are equal, the tag ID is presented to the user. However if a discrepancy occurs between the checksum and the ID, for example due to a poor air interface between the tag and reader, then the tag ID is rejected. Any tag IDs presented to the user by the Acquire commands are therefore always checked for accuracy. Note: A tag that is not programmed correctly will not be validated by the Acquire commands and will be rejected when read. Note: A tag that has been erased will contain neither a tag ID nor a checksum. These tags will also be rejected by Acquire commands. The Verify command is used specifically for interrogating the state of a tag that may or may not be readable by the Acquire commands. 9800 | 9780 | 8780 | 9640 | 9774 Verify Tag A Verify Tag command returns the complete tag memory without validating the tag ID against the checksum. The tag memory returned by the Verify Tag command is not guaranteed to be correct; it may or may not be valid. For the Class I tags, the Verify Tag command returns 12 or 16 bytes of memory:
2 bytes of checksum data, followed by 8 or 12 bytes of tag ID (depending on tag type), followed by Lock and PassCode bytes. Verify is unable to return a value for a locked tag. (This is to prevent the tag from revealing its PassCode while locked).
The Verify command returns an error message if the tag is locked.
For the Class BPT tags, the Verify command returns the entire 12 bytes of tag ID.
A Verify command cannot sort multiple tags; it should only be used on one tag at a time. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 88 CHAPTER 4 READERHOST PROTOCOL There are a number of responses to the Verify Tag command, depending on the state of the tag field at the time the command is issued. Examples follow:
Verify Tag Examples Condition Exactly one tag in field of view. Tag read is strong. Verify command returns checksum bytes followed by tag ID bytes, followed by lock and PassCode bytes. (Acquire commands return just the tag ID of this tag).
>verify tag Verify Tag = 235C 8000 0000 1001 0102 0000 Command Response Condition Exactly one tag in field of view. Tag is erased and has no tag ID or checksum programmed into it. (Acquire commands reject this tag).
>verify tag Verify Tag = 0000 0000 0000 0000 0000 0000 Command Response Condition No tags in field of view, or multiple tags in field of view. Command Response Condition Exactly one tag in field of view. Tag read is strong. But tag is locked. Locked tags are prevented from being read by a Verify command. (Acquire commands return tag ID of this tag).
>verify tag Verify Tag = Programmed Tag. (Locked) Command Response Condition A tag is on the fringe of the field, there is excessive noise, or the
>verify tag Verify Tag = No Tag Detected. Command Response tag is improperly programmed.
>verify tag Verify Tag = Tag-Like Signal Detected. Programming Tags in AutoMode Programming functions are fully supported by the reader's Autonomous Mode of operation. Using Autonomous Mode, the user can assign the reader the task of programming, erasing, and locking tags. This is done by setting the AutoAction attribute to the appropriate action, as described below. Two of the AutoMode functions, "Program" and "Program and Lock" require some additional values to be specified first, specifically the ProgramID and ProgramPassCode. ProgramID The ProgramID attribute is used in AutoMode when a program operation has been selected as the AutoAction, such as "Program" or "Program and Lock". This command allows the user to specify the first ID code to program into a tag. Once a tag has been successfully programmed, the ID is incremented by one, ready for the next tag to be programmed. 9800 | 9780 | 8780 | 9640 | 9774
Value supplied must be an 8- or 12-byte tag ID.
The default ProgramID is 00 00 00 00 00 00 00 00. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 89 READERHOST PROTOCOL CHAPTER 4
Value is automatically incremented (in a hexadecimal fashion) upon a completion of a successful programming operation. Command Response Command Response ProgramID Examples
>set ProgramID = 01 23 45 67 89 AB CD EF ProgramID = 01 23 45 67 89 AB CD EF
>get ProgramID ProgramID = 01 23 45 67 89 AB CD EF ProgramPassCode The ProgramPassCode attribute is used in AutoMode when the AutoAction has been set to "Program and Lock". The reader will use the value of ProgramPassCode as the PassCode used to lock the ID after successfully programming it. 9800 | 9780 | 8780 | 9640 | 9774
Value supplied must be a single byte.
The default ProgramPassCode is 0x01. Command Response Command Response ProgramPassCode Examples
>get ProgramPassCode ProgramPassCode = 01
>set ProgramPassCode = FF ProgramPassCode = FF ProgIncrementOnFail The ProgIncrementOnFail flag is used in AutoMode when the AutoAction has been set to "Program" or "Program and Lock". By default, the reader only increments the ProgramID when an AutoMode cycle successfully programs a tag. Setting ProgIncrementOnFail to "On" tells the reader to increment the ProgramID after every AutoMode cycle. 9800 | 9780 | 8780 | 9640 | 9774
Allowed values are "On" or "Off.
The default value for ProgIncrementOnFail is "Off". Command Response Command Response ProgramIncrementOnFail Examples
>get ProgIncrementOnFail ProgIncrementOnFail = OFF
>set ProgIncrementOnFail = On ProgIncrementOnFail = ON 90 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 CHAPTER 4 READERHOST PROTOCOL Autonomous Mode Program 9800 | 9780 | 8780 | 9640 | 9774 The reader can automatically program a tag with a new ID in AutoMode, and this action can be repeated indefinitely, each time incrementing the ID to use for programming, so that groups of tags that were programmed while in AutoMode end up with sequential tag IDs. To instruct Autonomous Mode to program tags, issue the following command:
set AutoAction = Program Instead of reading tags inside its inner loop (refer to AutoMode state diagram in Chapter 2 for details), the reader programs the tag in the field with an ID, specified by the ProgramID attribute (see above). A successful programming event causes the evaluation stage of Autonomous Mode to evaluate to true. A failed programming event evaluates to false. Autonomous Mode Program and Lock 9800 | 9780 | 8780 | 9640 | 9774 In Autonomous Mode Program and Lock, the reader can automatically program a tag with a new ID and then lock it with a PassCode. This event can be repeated indefinitely, each time incrementing the ID by one. To instruct Autonomous Mode to program and lock tags, issue the following command set AutoAction = Program and Lock Instead of reading tags inside its inner loop (refer to AutoMode state diagram in Chapter 2 for details), the reader programs a tag with an ID, as specified by the ProgramID attribute), and then locks it with a PassCode, as specified by the ProgramPassCode attribute (see above). A successful Program and Lock event causes the evaluation state of Autonomous Mode to evaluate to true. A failed Program and Lock event evaluates to false. Autonomous Mode Erase The reader can automatically erase a tag in AutoMode, and this action can be repeated indefinitely. To instruct Autonomous Mode to erase tags, issue the following command:
9800 | 9780 | 8780 | 9640 | 9774 set AutoAction = Erase Instead of acquiring tags inside its inner loop (refer to AutoMode state diagram in Chapter 2 for details), the reader erases tags in the field. A successful erase event in causes the evaluation stage of Autonomous Mode to evaluate to true. A failed erase event evaluates to false. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 91 READERHOST PROTOCOL CHAPTER 4 Autonomous Mode Kill 9800 | 9780 | 8780 | 9640 | 9774 In Autonomous Mode Kill, the reader can automatically kill a tag in its field, with a specified PassCode. This event can be repeated indefinitely, each time with a new tag. To instruct Autonomous Mode to kill tags, issue the following command set AutoAction = Kill Instead of reading tags inside its inner loop (refer to AutoMode state diagram in Chapter 2 for details), the reader kills a tag in its field with a PassCode, as specified by the ProgramPassCode attribute (see above). A successful Kill event causes the evaluation state of Autonomous Mode to evaluate to true. A failed Kill event evaluates to false. READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 92 APPENDIX A DTDS FOR XML DATA STRUCTURES APPENDIX A DTDs for XML Data Structures The reader has the capability to generate three different types of XML-formatted documents. This appendix gives a Document Type Definition (DTD) for each of these XML documents. Heartbeat DTD
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Alien-RFID-Reader-Heartbeat [
<!ELEMENT Alien-RFID-Reader-Heartbeat (ReaderName, ReaderType, IPAddress, CommandPort, HeartbeatTime, MACAddress?)>
<!ELEMENT ReaderName (#PCDATA)>
<!ELEMENT ReaderType (#PCDATA)>
<!ELEMENT IPAddress (#PCDATA)>
<!ELEMENT CommandPort (#PCDATA)>
<!ELEMENT HeartbeatTime (#PCDATA)>
<!ELEMENT MACAddress (#PCDATA)>
TagList DTD
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Alien-RFID-Tag_List [
<!ELEMENT Alien-RFID-Tag_List (Alien-RFID-Tag*)>
<!ELEMENT Alien-RFID-Tag (TagID, DiscoveryTime, LastSeenTime, Antenna, ReadCount, Protocol?)>
<!ELEMENT TagID (#PCDATA)>
<!ELEMENT DiscoveryTime (#PCDATA)>
<!ELEMENT LastSeenTime (#PCDATA)>
<!ELEMENT Antenna (#PCDATA)>
<!ELEMENT ReadCount (#PCDATA)>
<!ELEMENT Protocol (#PCDATA)>
Notification DTD
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Alien-RFID-Reader-Auto-Notification [
<!ELEMENT Alien-RFID-Reader-Auto-Notification (ReaderName, ReaderType, IPAddress, CommandPort, Time, Reason, StartTriggerLines?, StopTriggerLines?, Alien-RFID-Tag-List)>
<!ELEMENT ReaderName (#PCDATA)>
<!ELEMENT ReaderType (#PCDATA)>
<!ELEMENT IPAddress (#PCDATA)>
<!ELEMENT CommandPort (#PCDATA)>
<!ELEMENT Time (#PCDATA)>
<!ELEMENT Reason (#PCDATA)>
<!ELEMENT StartTriggerLines (#PCDATA)>
<!ELEMENT StopTriggerLines (#PCDATA)>
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 93 UPGRADING READER FIRMWARE APPENDIX B APPENDIX B Upgrading Reader Firmware Occasionally, Alien Technology provides improvements and bug fixes to the firmware running inside the reader. These improvements are distributed as a firmware upgrade file, which is uploaded to the reader either via a web interface to the reader, or using the Gateway Demonstration Software. Performing a firmware upgrade typically resets the reader's configuration to a default state, so care should be taken to record the reader's state before performing the upgrade, then issuing the necessary commands to return the reader to its pre-upgrade state. Network settings such as DHCP, IP Address, etc. are not affected. ALR-9780, ALR-8780, ALR-9640 These Alien readers require you to use the Gateway Demonstration Software to perform firmware upgrades. You should always ensure that you have the latest version of the Gateway application, since newer reader firmware code may require slightly different handling before or after the upgrade. Using a version of the Gateway older than the firmware you are loading may cause you reader to become inoperable. Please refer to the Demonstration Software Guide accompanying the Gateway software for complete instructions on how to perform upgrades using the Upgrade Wizard. ALR-9800 The upgrade procedure for the ALR-9800 is still being defined at this time. ALR-9770 To upload new firmware to the ALR-9770, simply browse to the reader's web interface using a web browser. You will initially see the screen shown below:
94 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 APPENDIX B UPGRADING READER FIRMWARE Click the "Firmware" link to navigate to the Firware Upgrade screen:
Next, click the "Browse" button and navigate to the appropriate firmware file provided by Alien Technology and click the "Upgrade" button. Leave the "Erase contents before installing" and "Revert to factory settings" checkboxes unchecked. After the file has been uploaded and and installed, you will be asked to restart the reader. Do this by clicking the "Restart System" button:
READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05 95 UPGRADING READER FIRMWARE APPENDIX B While the reader is restarting (it takes approximately one minute), you will see the following screen:
After the reader restarts, the web interface attempts to reload the Status page. If the reader is configured to acquire its network information from a DHCP server, it may acquire a new IP address when it restarts, which may cause the Status page to not load. Simply browse to the reader's new IP address and verify the new firmware by checking the "RadiOS Version" area of the Status page. 96 READER INTERFACE GUIDE DOC. CONTROL # 8101938-000 REV 05
frequency | equipment class | purpose | ||
---|---|---|---|---|
1 | 2005-09-20 | 902.75 ~ 927.25 | DSS - Part 15 Spread Spectrum Transmitter | Original Equipment |
app s | Applicant Information | |||||
---|---|---|---|---|---|---|
1 | Effective |
2005-09-20
|
||||
1 | Applicant's complete, legal business name |
Alien Technology, LLC
|
||||
1 | FCC Registration Number (FRN) |
0006324032
|
||||
1 | Physical Address |
845 Embedded Way
|
||||
1 |
San Jose, California 95138
|
|||||
1 |
United States
|
|||||
app s | TCB Information | |||||
1 | TCB Application Email Address |
h******@atcb.com
|
||||
1 | TCB Scope |
A4: UNII devices & low power transmitters using spread spectrum techniques
|
||||
app s | FCC ID | |||||
1 | Grantee Code |
P65
|
||||
1 | Equipment Product Code |
ALR9800
|
||||
app s | Person at the applicant's address to receive grant or for contact | |||||
1 | Name |
J**** B******** H****
|
||||
1 | Title |
Dir HW Eng
|
||||
1 | Telephone Number |
40878********
|
||||
1 | Fax Number |
408 7********
|
||||
1 |
j******@alientechnology.com
|
|||||
app s | Technical Contact | |||||
1 | Firm Name |
Elliott Laboratories, Inc
|
||||
1 | Name |
M**** B****
|
||||
1 | Physical Address |
684 W. Maude Ave
|
||||
1 |
Sunnyvale, California 94085
|
|||||
1 |
United States
|
|||||
1 |
d******@elliottlabs.com
|
|||||
app s | Non Technical Contact | |||||
n/a | ||||||
app s | Confidentiality (long or short term) | |||||
1 | Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | Yes | ||||
1 | Long-Term Confidentiality Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | No | ||||
if no date is supplied, the release date will be set to 45 calendar days past the date of grant. | ||||||
app s | Cognitive Radio & Software Defined Radio, Class, etc | |||||
1 | Is this application for software defined/cognitive radio authorization? | No | ||||
1 | Equipment Class | DSS - Part 15 Spread Spectrum Transmitter | ||||
1 | Description of product as it is marketed: (NOTE: This text will appear below the equipment class on the grant) | RFID Reader | ||||
1 | Related OET KnowledgeDataBase Inquiry: Is there a KDB inquiry associated with this application? | No | ||||
1 | Modular Equipment Type | Does not apply | ||||
1 | Purpose / Application is for | Original Equipment | ||||
1 | Composite Equipment: Is the equipment in this application a composite device subject to an additional equipment authorization? | No | ||||
1 | Related Equipment: Is the equipment in this application part of a system that operates with, or is marketed with, another device that requires an equipment authorization? | No | ||||
1 | Grant Comments | Power Output listed is Conducted. The antenna(s) used with this transmitter must be installed to provide a minimum separation distance of 23 cm from all persons and must not be co-located or operating in conjunction with any other antenna or transmitter. Only those antenna(s) or similar tested in this filing may be used with the transmitter. End users and installers must be provided with antenna installation instructions and transmitter operating conditions for satisfying RF exposure compliance. | ||||
1 | Is there an equipment authorization waiver associated with this application? | No | ||||
1 | If there is an equipment authorization waiver associated with this application, has the associated waiver been approved and all information uploaded? | No | ||||
app s | Test Firm Name and Contact Information | |||||
1 | Firm Name |
National Technical Systems
|
||||
1 | Name |
D**** B******
|
||||
1 | Telephone Number |
510-5********
|
||||
1 | Fax Number |
510 5********
|
||||
1 |
d******@nts.com
|
|||||
Equipment Specifications | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Line | Rule Parts | Grant Notes | Lower Frequency | Upper Frequency | Power Output | Tolerance | Emission Designator | Microprocessor Number | |||||||||||||||||||||||||||||||||
1 | 1 | 15C | 36 | 902.75000000 | 927.25000000 | 0.8930000 |
some individual PII (Personally Identifiable Information) available on the public forms may be redacted, original source may include additional details
This product uses the FCC Data API but is not endorsed or certified by the FCC