RFID Readers - Liberty Systems

300
RFID Readers Software Interface Control Guide

Transcript of RFID Readers - Liberty Systems

RFID ReadersSoftware Interface Control Guide

RFID Readers, Software Interface Control Guide

72E-71803-06

Revision A

October 2007

© 2007 by Motorola, Inc. All rights reserved.

No part of this publication may be reproduced or used in any form, or by any electrical or mechanical means, without permission in writing from Motorola. This includes electronic or mechanical means, such as photocopying, recording, or information storage and retrieval systems. The material in this manual is subject to change without notice.

The software is provided strictly on an “as is” basis. All software, including firmware, furnished to the user is on a licensed basis. Motorola grants to the user a non-transferable and non-exclusive license to use each software or firmware program delivered hereunder (licensed program). Except as noted below, such license may not be assigned, sublicensed, or otherwise transferred by the user without prior written consent of Motorola. No right to copy a licensed program in whole or in part is granted, except as permitted under copyright law. The user shall not modify, merge, or incorporate any form or portion of a licensed program with other program material, create a derivative work from a licensed program, or use a licensed program in a network without written permission from Motorola. The user agrees to maintain Motorola’s copyright notice on the licensed programs delivered hereunder, and to include the same on any authorized copies it makes, in whole or in part. The user agrees not to decompile, disassemble, decode, or reverse engineer any licensed program delivered to the user or any portion thereof.

Motorola reserves the right to make changes to any software or product to improve reliability, function, or design.

Motorola does not assume any product liability arising out of, or in connection with, the application or use of any product, circuit, or application described herein.

No license is granted, either expressly or by implication, estoppel, or otherwise under any Motorola, Inc., intellectual property rights. An implied license only exists for equipment, circuits, and subsystems contained in Motorola products.

MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. Symbol is a registered trademark of Symbol Technologies, Inc. Bluetooth is a registered trademark of Bluetooth SIG. Microsoft, Windows and ActiveSync are either registered trademarks or trademarks of Microsoft Corporation. All other product or service names are the property of their respective owners.

Motorola, Inc.One Motorola PlazaHoltsville, New York 11742-1300http://www.symbol.com

Patents

This product is covered by one or more of the patents listed on the web site: www.symbol.com/patents

Revision HistoryChanges to the original manual are listed below:

Change Date Description

-01 Rev A June. 2005 Initial Release

-02 Rev A August 2005 Document engineering updates

-03 Rev A October 2005 Chapter 5, Added new Gen 2 commands

-04 Rev A January 2006 Added XR480 ModelsUpdated Title to: XR400/XR480 SeriesChapter 5, Added new XR480 commands

-05 Rev A September 2006

Added XR Japanese ModelsUpdated Title to: RFID Readers

-06 Rev A October 2007 Added Chapters:Chapter 3. HTTP InterfaceChapter 9. HTTP Return Codes

Modified Chapters:Chapter 5. Added new BSP Interface information

Contents

Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

About This Guide

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vConfigurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vChapter Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vAcronyms and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vRelated Documents and Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viNotational Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viService Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

Chapter 1. Getting StartedIntroduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Countries Supported. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Physical Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3Logical Software Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4RFID Application Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

Reader Network Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Real-Time Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

RFID Readers, Software Interface Control Guidevi

Chapter 2. XML over HTTP Host InterfaceIntroduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3RFID Tag Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3

RFID Tag ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3Optional User-Assigned ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3RFID Tag State and State Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4Time Stamp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4Read Point List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4

Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-5Visibility Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-5Threshold Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-5Network Status Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6Exception Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6Event Notification Preferences. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6

Communication Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7Query Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7Subscribe/Notify Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7Hybrid Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8

HTTP Protocol Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8HTTP URL and Query String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8HTTP Service Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-9

HTTP Query Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10queryEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-11queryTags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-12startPolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-13getVersion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14setDateTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-15processTagList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-16setLightIndicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-17Event Notification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-17

HTTP Support on the Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-19XML Document Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-19

Running State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-19Minimal Host Acknowledgement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-20RFID Tag List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-20RFID Tag List Query Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-21Read Point Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-22Event Query Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-23Error Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-26Sample DTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-26

Contents vii

Chapter 3. HTTP InterfaceGeneral Notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5

HTTP Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5URL-encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5Logging In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5Proxies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5Error Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6Committing Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6HTML Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6

Data Proxy Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-6Command: queryEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7Command: queryTags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-8Command: processTagList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9Command: purgeAllTags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-10

CoreProxy Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-11Command: addHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-13Command: addMaskAdvTagFilterRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-14Command: addMaskTagFilterRule (deprecated) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-15Command: addMaskTagFilterRuleShort(deprecated) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-16Command: addPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-17Command: addReadPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-19Command: addReadPointClass. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-20Command: addReadPointZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-22Command: addTagFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-23Command: addUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-24Command: changeTagFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-25Command: clearPswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-26Command: commitRegion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-27Command: commitRegionCrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-28Command: cpswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-29Command: defeatHosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-30Command: deleteTagFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-31Command: deleteTagFilterRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-32Command: delHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-33Command: delReadPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-34Command: delReadPointClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-35Command: delReadPointZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-36Command: delUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-37Command: discardConfigChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-38Command: doScan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-39Command: echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-40Command: editAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-41Command: emitAccessLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-42Command: emitActiveReadPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-43Command: emitAdvancedConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-44Command: emitAutoEnable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-46Command: emitChangeIndicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-47Command: emitCommConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-48

RFID Readers, Software Interface Control Guideviii

Command: emitDevTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-50Command: emitDeviceStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-51Command: emitDisabledDeviceList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-53Command: emitEventTable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-54Command: emitExtraEventConfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-57Command: emitFilterList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-58Command: emitFirmwareLinkInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-59Command: emitGlobalFilterList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-60Command: emitHosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-61Command: emitMemUsage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-62Command: emitPollingButton. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-63Command: emitReadPointClassList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-64Command: emitReadPointZoneList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-65Command: emitRegionBandInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-66Command: emitRegionInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-67Command: emitRegionScanModeInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-68Command: emitSessionInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-69Command: emitSysLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-70Command: emitTagFilterHtmlInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-71Command: emitTagFilterList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-72Command: emitTagFilterRuleHtmlInterface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-73Command: emitTagFilterRuleList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-75Command: emitTagModifyStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-76Command: emitUsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-77Command: emitVersionInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-78Command: enableAllDevices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-80Command: enableDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-81Command: firmwareLink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-82Command: getDateTime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-83Command: getDateTimeHtmlInterface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-84Command: getVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-85Command: killTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-86Command: logControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-87Command: login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-88Command: logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-89Command: maintAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-90Command: modifyPswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-91Command: modifyReadPointClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-92Command: modifyReadPointZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-93Command: modReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-94Command: modReadPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-96Command: ntpConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-97Command: OSUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-98Command: purgeTags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-99Command: queryNumTags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-100Command: queryTag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-101Command: queryTagUid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-102Command: queryTagXml. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-103Command: quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-104Command: readConfigFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-105

Contents ix

Command: readLockTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-106Command: revertConfigFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-107Command: saveConfigFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-108Command: selectReadPointZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-109Command: selectTagFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-110Command: selectTagFilterRule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-111Command: setAdvancedConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-112Command: setAutoEnable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-113Command: setDateTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-114Command: setDateTimeHtml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-115Command: setDhcp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-116Command: setExtraEventConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-117Command: setFilter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-118Command: setFilterOption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-119Command: setGlobalFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-120Command: setHostLink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-121Command: setLightIndicator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-122Command: setNotifyOption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-123 Command: setRegion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-124Command: setRegionCountry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-125Command: setRegionScanModeFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-126Command: setSnmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-127Command: setTcp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-128Command: setTcpWithDhcp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-129Command: setTestParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-130Command: setTimeZone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-131Command: shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-132Command: startPolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-133Command: tagAntennaConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-134Command: toggleScanMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-135Command: viewAccess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-136Command: watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-137Command: writeLockTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-138Command: writeTag (deprecated) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-140

Chapter 4. SNMP TrapsIntroduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3Enterprise Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-3devEvent trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-3

Example (SNMP Version 1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4Example (SNMP Version 2c). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4

Heartbeat SNMP Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4SNMP Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-5

RFID Readers, Software Interface Control Guidex

Chapter 5. Byte Stream ProtocolIntroduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3Byte Stream Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-3Packet Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-4Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-6

Byte Stream Error Response Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-6CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7General Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-8

Reserved Fields. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-10RS485 Node Address (Obsolete) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-10Set Parameter Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-10General Initialization Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-10General Use Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-11

Chapter 6. Byte Stream Command DefinitionsIntroduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3

Byte Stream Command Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6-3

Chapter 7. XML Error MessagesError Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3

Chapter 8. HTTP Return CodesHTTP Return Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3

About This Guide

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vConfigurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vChapter Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vAcronyms and Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vRelated Documents and Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viNotational Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viService Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

RFID Readers, Software Interface Control Guideiv

v

IntroductionThis Interface Control Guide provides information for software and network engineers for evaluating and applying Motorola RFID products in RFID applications, and describes the software communication interfaces, protocol definitions, and formats for documents exchanged with the RFID Readers. This guide assumes familiarity with XML, TCP/IP Socket and/or serial port communication protocol programming and troubleshooting, and fundamental concepts of RFID.

ConfigurationsThis guide covers the following RFID reader configurations:

• XR400 RFID Reader• XR480-EU RFID Reader• XR480-JP RFID Reader• XR480-US RFID Reader

Chapter DescriptionsTopics covered in this guide are as follows:

• Chapter 1, Getting Started provides an overview of the methodology and tools recommended for enabling communication of tag data between Motorola RFID products and back-end enterprise systems.

• Chapter 2, XML over HTTP Host Interface provides an overview of the standard methodology and model applied in the XML over HTTP messaging mechanism.

• Chapter 4, SNMP Traps discusses the statistics and traps Management Information Base (MIB) defined in the Matrics-snmp.mib file.

• Chapter 5, Byte Stream Protocol describes byte stream protocol fields and behavior.• Chapter 6, Byte Stream Commands describes the byte stream protocol commands available for Motorola readers.• Chapter 7, XML Error Messages defines the XML errors that can occur in an RFID system.

Acronyms and AbbreviationsThis guide uses the following acronyms and abbreviations:

API Application Programming Interfacebin value in binary notationCRC Cyclic Redundancy CheckDTD Document Type Definitionhex value in hexadecimal notationHOB HTTP Over Byte streamIT Information TechnologyLSbit Least Significant bitLSByte Least Significant ByteMIB Management Information BaseMSbit Most Significant bitMSByte Most Significant ByteRFID Radio Frequency IdentificationSOF Start Of FrameTBD To Be DeterminedURL Uniform Resource LocatorXML Extensible Markup Language

RFID Readers, Software Interface Control Guidevi

Related Documents and SoftwareThe following documents provide more information about the RFID Readers.

• XR Series RFID Readers Integrator Guide, p/n 72E-71773-xx• XR Series Reader C API Programmer Reference Guide, p/n 72E-73028-xx• DC600 Portal Integrator Guide, p/n 72E-71772-01

For the latest version of this guide and all guides, go to: http://www.symbol.com/manuals.

Notational ConventionsThe following conventions are used in this document:

• Italics are used to highlight the following:• Chapters and sections in this and related documents• Dialog box, window and screen names • Drop-down list and list box names• Check box and radio button names• Icons on a screen.

• Bold text is used to highlight the following:• Key names on a keypad• Button names on a screen

• Bullets (•) indicate:• Action items• Lists of alternatives• Lists of required steps that are not necessarily sequential

• Sequential lists (e.g., those that describe step-by-step procedures) appear as numbered lists

Service InformationFor service information, warranty information or technical assistance contact or call the Support Center. Contact information is provided on the contact web site go to: http://www.symbol.com/contactsupport

If the problem cannot be solved over the phone, the equipment may need to be returned for servicing. If that is necessary, specific directions will be provided.

Motorola is not responsible for any damages incurred during shipment if the approved shipping container is not used. Shipping the units improperly can possibly void the warranty.

If the Motorola product was purchased from a Motorola Business Partner, contact that Business Partner for service.

Getting Started

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Countries Supported. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3Physical Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3Logical Software Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4RFID Application Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4

Reader Network Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4Real-Time Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

RFID Readers, Software Interface Control Guide1-2

Getting Started 1-3

IntroductionThis guide describes the model, design concepts, and software Application Programming Interface (API) offered by Motorola for integrating products into a scalable infrastructure and enabling RFID in an enterprise environment. This chapter provides an overview of the methodology and tools recommended for enabling communication of tag data between Motorola RFID products and back-end enterprise systems (referred to as a host).

The RFID readers are capable of reading class 0, class 1 and Gen2 (dense reader mode only) RFID tags. However, some of the models have restricted read capabilities.

The XR Series read capability settings:

Countries SupportedIn addition to US PART15 (XR400/XR440) and support for EU frequencies (XR480EU), the following countries are supported:

Frequency support for US based XR Series products:

• Hong Kong: 8 channels; start: 920.75MHz; 500kHz channel spacing; max. power output 30dBm; RF spectrum requirements: same as FCC part15.

• Singapore: 8 channels; start: 920.75MHz; 500kHz channel spacing; max. power output 29dBm; RF spectrum requirements: local regulations.

• Taiwan: 12 channels; start: 922.25MHz; 500kHz channel spacing; max. power output 30dBm; RF spectrum requirements: local regulations.

• Malaysia: 6 channels; start: 919.75MHz; 500kHz channel spacing; max. power output 30dBm; RF spectrum requirements: local regulations.

• China/Shanghai: 2 single channels - 915.5MHz and 916.5MHz; max. power output 30dBm; RF spectrum requirements: same as FCC part15 (or after providing more info new evaluation necessary).

• Brazil: 50 channels; 902.666MHz-907.000MHz and 915.666MHz-927.333MHz; 333kHz channel spacing; max. power output 30dBm; RF spectrum requirements: same as FCC part15.

• Thailand: 8 channels; start: 920.75MHz; 500kHz channel spacing; max. power output 30dBm; RF spectrum requirements: same as FCC part15.

Physical InterfacesAt the physical layer, an RFID product can support an RS232 serial port and/or Ethernet interface for command and data communication.

Table 1-1. XR Series RFID Readers, Read/Write Settings

ModelRead/Write* Capability

Class 0 Class 1 Gen2

XR400 RFID Reader Yes Yes Yes

XR440 RFID Reader No No Yes

XR480-EU RFID Reader No No Yes

XR480-JP RFID Reader No No Yes

XR480-US RFID Reader Yes Yes Yes

* Write function is for write enabled tags only.

RFID Readers, Software Interface Control Guide1-4

Logical Software InterfacesIn addition to RS232 and TCP/IP socket interfaces, a byte stream communication protocol is available. An HTTP over TCP/IP interface is also available to provide a Web-based Administrator Console (using HTML), and a service interface allowing machine-to-machine interaction (using XML). Refer to the XR Series RFID Readers Integrator Guide. In both cases, an HTTP request initiates the actions.

The default port for HTTP requests is port 80, and the default port for the socket interface is port 3000.

RFID Application Scenarios

Reader Network EnvironmentA logical network consists of a group of RFID readers. Readers monitor the RFID network devices and collect tag data.

Figure 1-1. Reader Network

The XR400 is representative of all of the XR series products in a typical network configuration.

Issues involved with a reader network are:

• Data consolidation: A large number of RFID readers can generate a significant amount of data. The host drives passive readers which report data from visible tags in their read range in one or several read cycles. The host must coordinate all readers and collect, process, consolidate, and reconcile the data, then extract information from them. As the number of readers increases, the effort to achieve and maintain optimal performance, reliability, and scalability also increases.

• Network management and monitoring: As RFID facilitates critical business processes, the system must promptly detect and report errors to maintain the integrity and stability of the RFID network.

• Readers' configuration and maintenance: RFID readers for different locations and applications behave differently. For efficient maintenance of RFID devices, carefully track and maintain their configuration. Use appropriate methods to accommodate automation of procedures and processes.

Getting Started 1-5

Real-Time ApplicationOccasionally a real-time response is required, or the host application must have direct control of the read cycle and/or modify parameters. In these situations, the byte stream protocol over RS232 or Ethernet TCP socket communication is recommended.

RFID Readers, Software Interface Control Guide1-6

XML over HTTP Host Interface

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3RFID Tag Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

RFID Tag ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3Optional User-Assigned ID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-3RFID Tag State and State Transition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4Time Stamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4Read Point List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4

Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5Visibility Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5Threshold Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5Network Status Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6Exception Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6Event Notification Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6

Communication Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Query Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7Subscribe/Notify Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-7Hybrid Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8

HTTP Protocol Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8HTTP URL and Query String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8HTTP Service Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-9

RFID Readers, Software Interface Control Guide2-2

HTTP Query Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-10queryEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-11queryTags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12startPolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13getVersion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14setDateTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15processTagList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16setLightIndicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17Event Notification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17

HTTP Support on the Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19XML Document Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19

Running State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-19Minimal Host Acknowledgement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20RFID Tag List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20RFID Tag List Query Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21Read Point Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-21Event Query Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23Error Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25Sample DTD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-25

XML over HTTP Host Interface 2-3

IntroductionThis chapter provides an overview of the XML-over-HTTP messaging mechanism. This mechanism provides an easy and flexible integration programming interface, hides complexity and hardware variations, and makes the host system less sensitive to firmware changes.

Typically in this mode, one or more read points are configured using an autonomous polling method, such as polled or periodic. The host system can retrieve collected data independent of the low-level operations of the reader(s). By default, the HTTP port on the reader is 80. On the reader, optionally change this port value using the Web-based and serial Administrator Console.

RFID Tag InformationThe RFID tag includes the following data: RFID tag ID value, optional user-assigned ID and threshold rule, current RFID tag state, and read point list. A device can acquire RFID tag data using two methods: through a read point (antenna) and through the import tag list.

RFID Tag IDEach RFID tag has a unique HTTP/ XML-based interface protocol ID, encoded in the hexadecimal raw format.

Hexadecimal Raw FormatThis format presents the raw RFID tag value in a hexadecimal string. This string is a strict presentation of the original RFID tag value with no bits omitted. For example, a 64-bit tag always has a length of 16 hexadecimal characters, and a 96-bit tag always has a length of 24 hexadecimal characters, regardless of whether leading or tailing bits are zeros.

This strict length requirement is mandatory for both the output tag list as in a query result, and the input tag list as used in an import tag list or purge tag list. To get the query result in this format, add the optional parameter "&raw=1" to the query string. For example:

http://192.168.0.1/cgi-bin/dataProxy?oper=queryTags&raw=1

http://192.168.0.1/cgi-bin/dataProxy?oper=queryEvents&raw=1

An RFID tag has a unique ID encoded with one of several possible standards. In the HTTP/ XML-based interface protocol, there are two presentation formats for the same ID data: hexadecimal raw format and type-ID fields format. The original AR400 can use either the older style type-ID fields format or the newer hexadecimal raw format. The XR Series readers use only the newer hexadecimal raw format. It is recommended that applications using the older style type-ID fields format should be migrated to the raw format option. The older style type/id option will not be supported on future AR400 software updates.

Optional User-Assigned IDIn addition to the native tag ID value, optionally assign a user ID (UID) to identify a tag or the item a tag represents. This is a text string with a maximum length of 32 characters, for example "Small Shoe Box", "SKU001", "Part ABC." Each UID can be associated with multiple native tag IDs.

For example, if ten computer monitors each have a unique RFID, assign one UID as "Big Brand Monitor" for all units. Also specify a threshold value and rule for this UID, so when the number of items with this UID falls below or rises above this value, a threshold tag event generates for the UID. This ensures notification when changes in the amount of assets occur, instead of, or in addition to, when assets move.

Use the import tag list to specify a UID and its rule as optional attributes to the <Tag/> XML tag. Because of the running state, specify the UID and its threshold rule for a group of RFID tags only once at the first record; all others are implied.

RFID Readers, Software Interface Control Guide2-4

The Class 0+ tags support the user data actually on the tag itself, however, the UID function can be a logical association of data on any type of tag, within the reader itself, by importing the tag/UID data.

RFID Tag State and State TransitionAs a tag moves in and out of reading range, the RFID tag state changes accordingly. Figure 2-1 shows different RFID states in a device and the state transitions.

Figure 2-1. RFID Tag State Transition

• Transition 1: After it is read the first time, the tag changes to and remains in a visible state as long as it can be read through any of the subordinate read points, generating a New Tag Event if enabled, or a more general Visibility Changed Event.

• Transition 2: When no read points can read the tag, the tag changes to an invisible state, generating a Tag Not Visible Event if enabled, or a more general Visibility Changed Event.

• Transition 3: If a read point re-reads a known but not currently visible tag, the tag changes to a visible state again, possibly generating a Visibility Changed Event. Because the system already recognizes the tag, the New Tag Event does not occur.

• Transition 4: A different set of read points can read a visible tag in a different read cycle. Its state remains visible, but possibly generates a Visibility Changed Event.

• Transition 5: Occasionally an import tag list pushes tag information into a device. This transfers the RFID tag data to the device before the tags are read for the first time. The system then recognizes the tags, but they are not visible to any read points. This transition does not generate any tag events.

• Transition 6: When a purge tag list or a soft reboot cycle removes a tag, its information disappears from the device. It starts its state transition as if from the initial state.

A soft reboot (from the reader Maintenance Console) saves and restores the tag events and the system log when the reader comes back up again. Hard rebooting the reader (disconnecting power) is not recommended. A hard reboot discards all the tag events and system log information.

Time StampThe RFID tag state transition can generate tag events. Each tag has an associated time stamp that records the time of the last state transition that can generate a tag event. Non-event generating state transitions do not update the time stamp.

Read Point ListA read point list is a comma-delimited list of read point IDs indicating at which read point(s) the RFID tag is currently visible. The read point ID is the internally-generated unique identifier for a read point (antenna). The read point map indicates the association of the read point ID to the read point's name and other attributes.

XML over HTTP Host Interface 2-5

EventsThe reader generates several types of events:

• Visibility and Threshold events report tag activity• Network Status and Exception events report device/system activity.

Visibility EventsChanges in tag visibility can generate three types of visibility events:

• New Tag Event - A special case event generated when a new tag (not known by the reader) appears for the first time. If desired, commission the tag (or associate a user ID and a threshold rule to the tag).

Process this event promptly for best results. The default Notify option is Immediate for this event. To disable notification when this event occurs, set the Notify option to Never using the Administrator Console. The event is then promoted to a generic Visibility Changed Event. Refer to the XR Series RFID Readers Integrator Guide.

• Tag Not Visible Event - A special case event generated when a visible tag disappears from all read points, for example, if a tagged item is removed from a shelf and is out of RF range (and is not visible to any read point). The event reports where the tag was located when last visible to the system.

During normal operation, a tag can experience transient periods when it can not be read reliably in the system. To overcome this issue, set the Notify option for this event to Moderated. The system then generates an event only when the tag is not read for a period of time longer than the specified moderate time out. (The system still knows the tag, but it is not visible to any read point.) To disable notification when this event occurs, set the Notify option to Never; the event is then promoted to a generic Visibility Changed Event.

• Visibility Changed Event - A general event generated when the visibility of a tag changes, such as due to the change of the set, or the number of read points at which the RFID tag is visible. For example, a Visibility Changed Event occurs when a tagged item moves from a shelf on aisle 2 to another shelf on aisle 4 (visibility changes from one read point to another).

Note that if the Tag Not Visible Event is enabled, a previously visible tag that becomes invisible to any read points generates the more specific Tag Not Visible Event. Likewise, a New Tag Event occurs for the first visibility change when applicable.

Process this event promptly for best results. The default Notify option is Immediate.

Threshold EventsA Threshold Event occurs when the number of visible tags satisfies the threshold rule for this group of tags. By default, this event's notify option is Never.

To activate the threshold condition, specify user-defined IDs and relevant threshold rules through an import tag list. Also enable the notify option to generate event notification for this event.

During normal operation, a tag can experience transient periods when it is changing visibility in the system. To overcome this issue, set the Notify option for this event to Moderated, and generate an event only when the tag is not experiencing temporary invisibility.

RFID Readers, Software Interface Control Guide2-6

Network Status EventsNetwork Status Events indicate the status change of a device's managed resources. For example, if the device detects a problem, it generates an event without a server request. To receive Network Status Event notifications, subscribe to them by setting the Simple Network Management Protocol (SNMP) configuration in the Event Notifications window in the Administrator Console.

Network Status Events fall into two categories: device and program. A Device Event notes the change in a device's status and is divided into two categories: user and system. Both categories specify whether the status change is reported for itself or in association with a parent device.

For example, disabling a reader generates several events. The reader receives a user/disable status notification. The read point(s) below the reader receive a user/disable/parent notification. If the system detected a problem with the reader, it disables the reader and generates the appropriate events. These classifications indicate the overall effect on the reader network, and also identify the likely offending component. After resolving the problem, enable the device, which also enables all parent-disabled devices below it.

Exception EventsException Events provide via XML the same type of information available via SNMP. An Exception Event provides information when a device goes off-line, polling is turned off, etc. Select this option if not using SNMP, but still want feedback if the device or program changes state. To enable XML, set the Notify option for Exception Events to Immediate in the Notify column in the Event Notifications window.

Event Notification PreferencesTo receive notification when particular events occur, choose (subscribe to) the events via the Notifications window. To receive event notifications, enter a valid link for the Host Notification Link. The system tests the validity using the Test option.

To specify the event notifications to receive, select the appropriate Notify option of each event type:

• Never - The system never generates notifications for this event type.• Immediate - The system generates notifications for this event type when detected, assuming they are not filtered out.• Moderated - The system retests this condition, up to the time out value. If the condition still exists and an intervening event

has not occurred, the system generates notifications for this event type, assuming they are not filtered out.

The type of event filters available include:

• None - No filter. Allow all events.• Zone Inclusive - Only allow events that occur in a specific read point zone.• Class Inclusive - Only allow events that occur in a specific read point class.• Read Point Inclusive - Only allow events that occur in a specific read point.• Zone Exclusive - Only allow events that do NOT occur in a specific read point zone.• Class Exclusive - Only allow events that do NOT occur in a specific read point class.• Read Point Exclusive - Only allow events that do NOT occur in a specific read point.

If the SNMP host is not set (or is not valid), no Network Status Events are sent. Optionally select either version 1 or version 2c SNMP messages.

XML over HTTP Host Interface 2-7

Communication ModelsIn addition to HTTP protocol, use one of the following methods to obtain device information: query model, subscribe/notify model, or hybrid model.

Query ModelA pure query model allows a device to run as an independent, isolated system in passive mode, and does not initiate communication to the host. The host system can initiate HTTP queries at any time to the device to gather runtime information. From HTTP protocol's perspective, the host system is only a client, and the device is only a server. The polling option must be enabled for the query and event notification to work.

Assuming the device IP address is 192.168.0.100, the URL can look like:

http://192.168.0.100/cgi-bin/dataProxy?oper=queryTags

The result of a queryTags operation is an XML tag list document. There may be a ReadPointMap in the response. For efficiency, the host system should only request the ReadPointMap once, when it first comes online. Add &map=1 to the URL to send the map with the query, otherwise the map is only sent when changed. There is no need to request the map in subsequent queries.

A device can report two kinds of information:

• Use the queryTags command to acquire the snapshot view. By default, this is a snapshot of all tags currently visible by any subordinate read points. The report does not include tags not visible by any read points at the moment of the query, so this is a partial view.

Use the queryTags command with the optional parameter &invis=1 in the query string to acquire the complete snapshot view. This returns a tag list of all tags this device has recognized, except those purged. All visible tags have a non-empty read point list; this can be implied by the running state.

• Use the queryEvents command to acquire the delta view. This accumulates all events and associated tag information since the last command, and indicates all delta changes, instead of a snapshot since then. The host system can apply these changes to its original snapshot for an updated view.

Some XML file information is communicated in a running state to reduce file size and network bandwidth use. For more information see, Running State on page 2-19.

Subscribe/Notify ModelThis model allows a device to notify the host system as an event occurs, in the form of an HTTP query request. In this case, the host system is an HTTP server, and the device is an HTTP client. Upon notification, the host returns to query the device. The result is an XML document that contains all the events that occurred since the last event query. In this case, the host is an HTTP client, and the device is an HTTP server.

The host system can also specify (subscribe) the type of event, and the conditions under which to receive notification. This allows the host to see changes as they happen, and only the changes are communicated.

RFID Readers, Software Interface Control Guide2-8

With the subscribe/notify model (or a hybrid), the reader initiates communication. To use this model, supply a host IP address (and port, if not the default 80) for the host system (for HTTP query) where it can be notified of pending events. The test and notify options must be supported. Following are sample host URLs:

http: //192.168.0.127/?oper=test

http: //192.168.0.127/?oper=notify

The reader uses the test option to validate the link to the host system. The host system replies with a simple XML acknowledgement described in XML Document Descriptions on page 2-19.

The reader uses the notify option to notify the host system that one or more events are available for query (i.e., something changed since the last query.) The host system replies with a simple XML acknowledgement described in XML Document Descriptions on page 2-19. Optionally, the host system can send tag list data (Import Tag List or Purge List) as part of the reply.

Optionally import tags with the UID and rule as part of a notify reply. Note that tags imported prior to their first visibility (by the reader at a read point) report a Visibility Changed Event, not a New Tag Event, when the physical tag appears at a read point.

After the host system receives the notification and acknowledges it, it follows up with a queryEvents. Following is a sample URL:

http://192.168.0.100/cgi-bin/dataProxy?oper=queryEvents&map=1

The result of a queryEvents operation is an XML document containing information about the events that occurred since the last query. This maintains a running view of the changes in asset visibility.

For efficiency, only request the ReadPointMap (the map which associates read point IDs, read point names, class, and zone information for read point locations) once, when the host system first comes online. Add map=1 to the URL to send the map with the query, otherwise the map is only sent when changed. For subsequent queries, there is no need to request the map.

Hybrid ModelThe typical (and most efficient) approach is a hybrid of the two previous models. For example, query the tags of the system to get a snapshot of what is visible, then wait for notifications. Upon notification, query the events of the system, essentially delta information, then update the view by applying the delta to the original.

HTTP Protocol Support

HTTP URL and Query StringUse the http scheme to locate network resources via the HTTP protocol. Following is the scheme-specific syntax and semantics for http URLs:

http_URL = "http:" "//" host [ ":" port] [abs_path [ "?" query ] ]

If the port is empty or not given, port 80 is assumed. The identified resource is located at the server listening for TCP connections on that port of that host, and the Request-URI for the resource is abs_path. If the abs_path is not present in the URL, a "/" is placed as the Request-URI in the HTTP request start-line.

XML over HTTP Host Interface 2-9

To include a query string to pass to the designated URL, place a question mark at the end of the URL followed by the query string. The query string consists of multiple name/value parameter pairs separated with &. The designated URL, usually a CGI or proxy program, parses and interprets this query string and takes appropriate actions.

For example:

http://www.host.com/cgi-bin/proxyProgram?query_string

A sample query_string is:

name=value&name=value&name=value

Web browsers such as MS Internet Explorer and Netscape Navigator are typical HTTP clients. http_URL is used as the internet address, and appears in the address bar in these programs. Web browsers parse the http_URL, convert it to an HTTP GET request message, and send it to the server, then receive and handle (display) the response. Use the Web browser as a test tool to send simple query to an HTTP server by attaching the query string at the end of the internet address.

HTTP Service InterfacesThe platform provides the logical service interfaces in the form of HTTP Request-URI, and serve as command proxies.

• "/cgi-bin/loginProxyThe user login command proxy for the Web-based Administrator Console

• "/cgi-bin/coreProxy The command proxy for the back-end core server

• "/cgi-bin/dataProxyThe main data communication interface interacting with the host

Commands and their parameters are passed to these interfaces as a query string in the http URL. The general format of these HTTP query commands is:

http://192.168.0.1/cgi-bin/dataProxy?oper=<command>&param1=val1&param2=val2…

In the query string, a special name("oper")/value pair indicates the name of the command. The following name/value pairs define the parameters for this command.

To try these command samples via a Web browser, copy the URL into a Web browser's address bar, and replace the IP address as appropriate.

RFID Readers, Software Interface Control Guide2-10

HTTP Query CommandsFollowing are definitions of HTTP query commands and their parameters:

login All functions that are associated with the maintenance console, require a login (the functions may be used to change the configuration). If the users do not log in, these functions will not work.

DescriptionThis command is only accepted by the loginProxy.

Examplehttp://192.168.0.1/cgi-bin/loginProxy?oper=login&name=user&pswd=password

ResponseAn HTML <META> element with a redirection.

• If the command succeeds, the response is:<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/mainPage">

• If either the user name or the password is incorrect, the response is:<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/loginPage?err=17">

• If there is already another user logged in, the response is:<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/loginPage?err=62">

• If the password for this user has not changed from the reset password, the response is:<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/passwordPage?user=user&reset=1">

Parameter Name Type Default Description

name string N/A The user name used to log in to the Web-based Administrator Console

pswd string N/A The password for this user name

XML over HTTP Host Interface 2-11

queryEvents

DescriptionThis command is only accepted by the dataProxy (see Query Model on page 2-7 for detailed command description).

Examplehttp://192.168.0.1/cgi-bin/dataProxy?oper=queryEvents

ResponseThis returns a list of current tag events.

Parameter Name Type Default Description

map int 0 =1, send read point map in the query result

raw int 0 =1, send tag data in raw format

RFID Readers, Software Interface Control Guide2-12

queryTags

DescriptionThis command is only accepted by the dataProxy (see Query Model on page 2-7 for detailed command description).

Examplehttp://192.168.0.1/cgi-bin/dataProxy?oper=queryTags

ResponseThe response for the example is a list of currently visible tags.

Parameter Name Type Default Description

map int 0 =1, send read point map in the query result

invis int 0 =1, send the not visible tags as well as the visible

raw int 0 =1, send tag data in raw format

uidOnly int 0 =1, send only tags with user IDs

since hex 0 >0, send only tags whose visibility changed since the time specified

showLastRP int 0 =1, show the last read point at which this tag was seen

ascTime int 0 =1, show text timestamp in ANSI C asctime() format ("Thu Jan 01 00:12:40 1970")

sendRule int 0 =1, send the rule associated with one user ID

XML over HTTP Host Interface 2-13

startPolling

DescriptionThis command is only accepted by the coreProxy.

Examplehttp://192.168.0.1/cgi-bin/coreProxy?oper=startPolling&onOff=1

This temporarily starts autonomous polling. This command only turns on/off polling temporarily. The reader restores its operation as defined in its configuration after reboot. To ensure the reader can start polling after reboot, enable polling and commit (save) the configuration.

Parameter Name Type Default Description

onOff int 0 =1, enable polling =0, disable polling

RFID Readers, Software Interface Control Guide2-14

getVersion

DescriptionThis command is only accepted by the coreProxy. It has no parameters.

Examplehttp://192.168.0.1/cgi-bin/coreProxy?oper=getVersion

ResponseThe response is a plain text string as "3.4.5" for the current software/firmware version.

XML over HTTP Host Interface 2-15

setDateTime

DescriptionThis command is only accepted by the coreProxy.

The following command synchronizes the device's clock to 12/04/2002 16:17:10:

http://192.168.0.100/cgi-bin/coreProxy?oper=setDateTime&input=120416172002.10

If the command is properly formatted and accepted, the reply can look like:

<Matrics>

<Error code='0' msg='Wed Dec 4 16:17:10 EST 2002'/>

</Matrics>

If not properly formatted or accepted, the error code and message reflect the nature of the problem.

Parameter Name Type Default Description

input string N/A In the form of "MMDDHHmmCCYY.SS", where: MM = monthDD = dayHH = hourmm = minuteCC = centuryYY = yearSS = seconds

RFID Readers, Software Interface Control Guide2-16

processTagList

DescriptionThis command is only accepted by the dataProxy.

Use the following command to initiate an RFID tag list import or purge (even when not using the event model):

http://192.168.0.100/cgi-bin/dataProxy?oper=processTagList&url=http://129.168.0.101/ hostTagList.xml

The URL argument is optional. If not present, the command attempts to use the host notification link. If successful, the reply can look like:

<Matrics>

<Error code='3008' msg='Operation was successful'/>

</Matrics>

This means the system successfully enqueued an operation to access the host (the URL points to the system) to process a tag list for import and/or purge list. When contacting the host system, include the following on the URL:

?oper=process

The host system returns the XML described in XML Document Descriptions on page 2-19. If not properly formatted or accepted, an error code and message occurs.

Parameter Name Type Default Description

url string Host link The URL of the tag list

XML over HTTP Host Interface 2-17

setLightIndicator

DescriptionThis is command is only accepted by the coreProxy.

ExampleTo turn the right red LED on indefinitely and the left green LED on for 1 second:

http://192.168.0.100/cgi-bin/coreProxy?oper=setLightIndicator&rred=on&rrto=0&lgreen=on& lgto=10

or (no rrto needed):

http:// 192.168.0.100/cgi-bin/coreProxy?oper=setLightIndicator&rred=on&lgreen=on&lgto=10

To turn off the right red LED:

http:// 192.168.0.100/cgi-bin/coreProxy?oper=setLightIndicator&rred=off

Event Notification The reader sends HTTP query commands to the host as event notification.

testFor example:

http: //192.168.0.127/?oper=test

The device sends this test command to verify the host notification link specified is functioning. This command is used when the host notification link changes. The host responds with a minimum host acknowledgement to honor this test. Otherwise, the host notification link is not accepted.

Parameter Name Type Default Description

rred string N/A Right red LED (light). "on"/"off" turns on/off the red LED on the right side.

rrto int 0 Right red LED time out, a 16-bit integer that represents a decimal number in 100s of milliseconds for which the LED is on. Omit this parameter or set it to zero to turn on the LED indefinitely.

rgreen string N/A Right green LED. "on"/"off" turns on/off the green LED on the right side.

rgto int 0 Right green LED time out. See rrto description.

lred string N/A Left red LED. "on"/"off" turns on/off the red LED on the left side.

lrto int 0 Left red LED time out. See rrto description.

lgreen string N/A Left green LED. "on"/"off" turns on/off the green LED on the left side.

lgto int 0 Left green LED time out. See rrto description.

RFID Readers, Software Interface Control Guide2-18

notifyFor example:

http: //192.168.0.127/?oper=notify

This is the real event notification command the host receives at runtime. The host must respond to the notify command with a minimum host acknowledgement. The host can also embed other information such as import tag list in the acknowledgement, so it does not need to initiate a separate transaction for this information.

XML over HTTP Host Interface 2-19

HTTP Support on the Host HTTP technology can range from a full feature server to a simple HTTP listener.

XML Document DescriptionsThis section defines fields in XML documents. All items are mandatory unless otherwise stated. Ignore extra fields that appear.

All well-formed XML documents have the following structure:

1 <?xml version='1.0'?>

2 <Matrics> <!-- start-tag of Matrics XML document -->

3 <!-- other document elements -->

4 </Matrics> <!-- end-tag of Matrics XML document -->

The start tag <Matrics> and end tag </Matrics> are required to form the root element of a Matrics XML document. This element must contain all following element tags.

Comments in the XML document samples are for clarification and are not present in real runtime communication documents.

Running StateInformation for certain attribute fields in the XML files is communicated in running state, where an attribute is only sent when it is different from the preceding value of that field. This significantly reduces file size and network bandwidth use.

Example:

1 <?xml version='1.0'?>

2 <Matrics> <!-- start-tag of Matrics XML document -->

3 <TagList> <!-- start-tag of a tag list -->

4 <Tag raw='8900640246000000' uid='SKU789' />

5 <Tag raw='8900640246000001' />

6 <Tag raw='8900640246000002' uid='' />

7 <Tag raw='8900640246000003' />

8 <Tag raw='8900640246000004' uid='SKU980' />

9 <Tag raw='8900640246000005' />

10 </tagList> <!-- end-tag of a tag list -->

11 </Matrics> <!-- end-tag of Matrics XML document -->

The following table illustrates the information in this example:

No. RFID Tag Value UID Comment

1 8900640246000000 SKU789 UID is explicitly specified as SKU789

2 8900640246000001 SKU789 UID is implied as SKU789 because of running state

3 8900640246000002 No UID because it is explicitly cleared

RFID Readers, Software Interface Control Guide2-20

Minimal Host Acknowledgement<HostAck/> is an empty-element tag denoting the host's acknowledgement of test or notification. This tag is mandatory if there is no tag list embedded in the acknowledgement response, and optional if a tag list is present.

For example, the minimum host acknowledgement is:

1 <?xml version='1.0'?>

2 <Matrics> <!-- start-tag of Matrics XML document -->

3 <HostAck /> <!-- minimum Host acknowledgement tag -->

4 </Matrics> <!-- end-tag of Matrics XML document -->

RFID Tag List A tag list is a logical container holding a list of RFID tags. Each RFID tag is uniquely identified by its tag value, and can include other associated attributes. A tag list could be the result in the response of a query for tags command, or as a source for the host to transfer data for some tags to a device. The host can use a purge list to remove tag data from a device. As an import list, a tag list has different semantics than as the result of a query command, therefore has a different set of attributes for the <tag/> XML tag.

<TagList> starts an XML tag for a tag list.

</TagList> ends an XML tag for a tag list.

<PurgeList> starts an XML tag for a purge list.

</PurgeList> ends an XML tag for a purge list.

<Tag/> is an empty-element tag for a single tag entry in the content of a tag list or purge list. It has the following attributes when used in an import tag list:

When <tag/> is used in a purge list, only the raw attribute is used; attributes uid and rule are ignored.

4 8900640246000003 No UID because of running state

5 8900640246000004 SKU980 UID is explicitly specified as a new value of SKU980

6 8900640246000005 SKU980 UID is implied as SKU980 because of running state

Attribute name Type Default Description

raw Hex N/A Raw tag ID value. Always a 16-character hexadecimal value for a 64-bit tag; a 24-character hexadecimal value for a 96 bit tag.

uid String Running state Optional user-assigned ID value.

rule String Running state This optional rule describes a threshold event rule for a specific UID. Only one rule is present for a given UID, otherwise the last one is used. Rule format is a string consisting of two operation characters as operators and a 32-bit binary value other than 0 in decimal format. These operators are:Operators Meaning ExampleLT (default) Less Than "100" is the same as "LT100"GT Greater Than "GT50"

No. RFID Tag Value UID Comment

XML over HTTP Host Interface 2-21

The following example omits the <HostAck/> tag because an import tag list is present:

1 <?xml version='1.0'?>2 <Matrics> <!-- start-tag of Matrics XML document -->3 <TagList> <!-- start tag for tag list -->4 <tag raw='206980C00021260459800000' uid='34 inch digital TV' rule='100' />5 <tag raw='8900640246000000' uid='stereo system' rule='30' />6 </TagList> <!-- end tag for tag list -->7 </Matrics> <!-- end-tag of Matrics XML document -->

The following example omits the <HostAck/> tag because a purge tag list is present:

1 <?xml version='1.0'?>2 <Matrics> <!-- start-tag of Matrics XML document -->3 <PurgeList> <!-- start tag for purge list -->4 <tag raw='206980C00021260459800000' /> <!-- a 96 bit RFID tag -->5 <tag raw='8900640246000000' /> <!-- a 64 bit RFID tag -->6 </PurgeList> <!-- end tag for purge list -->7 </Matrics> <!-- end-tag of Matrics XML document -->

RFID Tag List Query ResultA queryTags command can return a tag list as a result. The same <tag/> XML tag describes an entry in this tag list, but includes additional attributes for this situation:

Table 2-1. RFID Tag List Query Results

Attribute Name Type Default Description

time Hex Running state The time stamp indicating when this tag was seen. It is a hexadecimal value representing the number of seconds since the Epoch (Jan. 1, 1970.)

RPL string Running state Read Point List. This is a comma-delimited list of ReadPointIds (from the map) indicating the read point(s) where the RFID tag is currently visible.

PC Hex Running state Protocol control field (16-bit) of a Class 1 Gen 2 tag. Note: This field is reported only for a Class 1 Gen 2 tag. See ap field (returned as a response if ctr=1 argument is used) for air protocol.

uid Hex Running state User ID. This is the user data associated with the tag if imported by a tag list or it is the data from User Data page of a Class 0+ or Class 1 Gen 2 tag.

TID Hex Running state Contents of TID bank for a Class 1 Gen 2 tag.

Reserved Hex Running state Contents of Reserved memory bank of a Class 1 Gen 2 tag

ms Hex Running state Tag read time in milliseconds. Millisecond value indicates number of milliseconds since reader started to the time the tag was last visible.

ap Hex Running state Air protocol indicates the tag class.=0, Class 0 tag=1, Class 1 tag=2, Class 1 Gen 2 tag

rssi Int Running state Strength of signal (in dbM) from the tag, measured on the reader

tagRssi string Running state Relative strength of signal measured on the tag (Supported only for Yellostone tags).Possible values: "Weakest", "Medium Low", "Medium High" and "Highest"

RFID Readers, Software Interface Control Guide2-22

Read Point MapLogically, each antenna is called a Read Point, and identified internally by an automatically generated unique Read Point ID. Use the Web-based Administrator Console to configure a read point with name, read point class, read point zone, and other attributes. Refer to the XR Series RFID Readers Integrator Guide.

For efficiency, only the Read Point ID, not the name, is used to identify an antenna in a tag list or event list. Refer to the Read Point Map for its associated information. It is a logical container holding the association of a Read Point ID to its name, and the Read Point Class and Read Point Zone it uses.

Read Point Map can be sent as part of the response of a query, but does not need to be sent every time. It is always sent in the response of the first query after power-on or reboot, or whenever the read point configuration changes. Otherwise, it is only sent when requested in the query.

If the host system requires the detail configuration of each read point, it must explicitly ask for the Read Point Map in its first query to ensure it has the correct association information. To keep its record consistent with the information in the device, it must monitor and detect the Read Point Map in the response to each query, even if not explicitly asked for, and update its record promptly.

<ReadPointMap> is start XML tag for a ReadPointMap list.

</ReadPointMap> is end XML tag for a ReadPointMap list.

<Pair/> is empty-element tag for a single entry in the content of a Read Point Map list. It includes the following attributes:

Attribute name Type Default Description

name String N/A The name of the read point

id Decimal N/A The unique ID of the read point

zone String Running state The name of the Read Point Zone used by this read point

class String Running state The name of the Read Point Class used by this read point

XML over HTTP Host Interface 2-23

For example:

1 <?xml version='1.0'?>

2 <Matrics> <!-- start-tag of Matrics XML document -->

3 <EventGroup> <!-- start-tag of an event group -->

4 <ReadPointMap> <!-- start tag for a Read Point Map -->

5 <pair name='Read Point #1' id='231' zone='First Door' class='Portal' />

6 <pair name='Read Point #2' id='16' />

7 <!-- running state determines the zone and class -->

8 <pair name='Read Point #3' id='790' zone='Second Door' />

9 <!-- a new zone, running state determines the class -->

10 <pair name='Read Point #4' id='68' />

11 <!-- running state determines the zone and class -->

12 </ReadPointMap> <!-- end tag for a Read Point Map -->

13 <tagList> <!-- start tag for purge list -->

14 <tag raw='206980C00021260459800000' time='111111111' RPL='1,2,3' />

15 <tag raw='8900640246000000' /> <!-- running state -->

16 </tagList> <!-- end tag for purge list -->

17 </EventGroup> <!-- end-tag of an event group -->

18 </Matrics> <!-- end-tag of Matrics XML document -->

The Read Point Map in this example carries the following information:

Event Query ResultSimilar to a tag list, an event list is returned as a response for the query for events.

<EventList> is start XML tag for a list of events.

</EventList> is end XML tag for a list of events.

Read Point Name Read Point ID Read Point Zone Read Point Class

Read Point #1 231 First Door Portal

Read Point #2 16 First Door Portal

Read Point #3 790 Second Door Portal

Read Point #4 68 Second Door Portal

RFID Readers, Software Interface Control Guide2-24

The <Tag/> XML tag describes each entry in the event list, with one extra attribute:

If the Exception event is enabled, an exception list is also returned as a response for the query for events.

<ExceptionList> is start XML tag for a list of exception events.

</ExceptionList> is end XML tag for a list of exception events.

<Exception/> is the empty-element tag for a single entry in the content of an exception list. It has following attributes:

These attributes are the same as defined for SNMP events. See Chapter 4, SNMP Traps.Sample event list:

1 <!--2 Typical usage:3 <?xml version='1.0'?>4 <!DOCTYPE Matrics SYSTEM 'MatricsXML.dtd'>5 <Matrics>6 ...7 </Matrics>8 DTD for Matrics User XML9 -->1011 <!-- Top Level -->12 <!ELEMENT Matrics (EventGroup|HostAck|Error)*>1314 <!-- EventGroup -->15 <!ELEMENT EventGroup (ReadPointMap|TagList|EventList|ExceptionList)*>16 <!ELEMENT ReadPointMap (Pair)*>17 <!ELEMENT Pair EMPTY>18 <!ATTLIST Pair19 name CDATA #REQUIRED20 id CDATA #REQUIRED21 zone CDATA #IMPLIED

Attribute Name Type Default Description

event Decimal Running state The type number of event associated with this RFID tag. Legitimate event values are:0 New Tag1 Tag Not Visible2 Tag Visibility Changed3 Threshold Event

Attribute Name Type Default Description

time Hex Running state The time stamp indicating when this exception occurred. It is a hexadecimal value representing the number of seconds since the Epoch (Jan. 1, 1970.)

name String Running state The name of the device generating this event

state Decimal Running state The current status of the device

type Decimal Running state The type of the device

reason String N/A The reason for the exception

XML over HTTP Host Interface 2-25

22 class CDATA #IMPLIED23 >24 <!ELEMENT EventList (Tag)*>25 <!ELEMENT TagList (Tag)*>26 <!ELEMENT Tag EMPTY>27 <!ATTLIST Tag28 raw CDATA #REQUIRED29 PC CDATA#IMPLIED30 uid CDATA #IMPLIED31 TIDCDATA#IMPLIED32 ReservedCDATA#IMPLIED33 type CDATA #IMPLIED34 event CDATA #IMPLIED35 time CDATA #IMPLIED36 ms CDATA #IMPLIED37 RPL CDATA #IMPLIED38 ap CDATA#IMPLIED39 rssiCDATA#IMPLIED40 tagRssiCDATA#IMPLIED41 rule CDATA #IMPLIED42 >43 <!ELEMENT ExceptionList (Exception)*>44 <!ELEMENT Exception EMPTY>45 <!ATTLIST Exception46 reason CDATA #REQUIRED47 time CDATA #IMPLIED48 name CDATA #IMPLIED49 type CDATA #IMPLIED50 state CDATA #IMPLIED51 >5253 <!-- HostAck -->54 <!ELEMENT HostAck (TagList|PurgeList)*>5556 <!-- PurgeList -->57 <!ELEMENT PurgeList (Tag)*>5859 <!-- Error -->60 <!ELEMENT Error EMPTY>61 <!ATTLIST Error62 code CDATA #REQUIRED63 msg CDATA #REQUIRED64 >

RFID Readers, Software Interface Control Guide2-26

Error Result<Error /> is an empty-element XML tag denoting a system error. It includes the following attributes:

For example:

1 <?xml version='1.0'?>

2 <Matrics> <!-- start-tag of Matrics XML document -->

3 <Error code='99' msg='An error description goes here' />

4 </Matrics> <!-- end-tag of Matrics XML document -->

Sample DTD As a reference, following is a sample DTD to describe the XML elements in XML Declaration Syntax.

The host system does not need to input or output a DTD. However, with an XML parser that desires a DTD, use the following description (inserting the DOCTYPE entry into the input stream.)

Validating parsers read the DTD before reading the document so they can identify where every element type belongs and how they relate to each other, for applications that require this information before setup (most editors, search engines, databases).

1 <!--

2 Typical usage:

3 <?xml version='1.0'?>

4 <!DOCTYPE Matrics SYSTEM 'MatricsXML.dtd'>

5 <Matrics>

6 ...

7 </Matrics>

8 DTD for Matrics User XML

9 -->

10

11 <!-- Top Level -->

12 <!ELEMENT Matrics (EventGroup|HostAck|Error)*>

13

14 <!-- EventGroup -->

15 <!ELEMENT EventGroup (ReadPointMap|TagList|EventList|ExceptionList)*>

16 <!ELEMENT ReadPointMap (Pair)*>

17 <!ELEMENT Pair EMPTY>

18 <!ATTLIST Pair

Attribute Name Type Default Description

Code decimal N/A System error code

Msg string N/A Human readable description of the error

XML over HTTP Host Interface 2-27

19 name CDATA #REQUIRED

20 id CDATA #REQUIRED

21 zone CDATA #IMPLIED

22 class CDATA #IMPLIED

23 >

24 <!ELEMENT EventList (Tag)*>

25 <!ELEMENT TagList (Tag)*>

26 <!ELEMENT Tag EMPTY>

27 <!ATTLIST Tag

28 raw CDATA #REQUIRED

29 id CDATA #IMPLIED

30 uid CDATA #IMPLIED

31 type CDATA #IMPLIED

32 event CDATA #IMPLIED

33 time CDATA #IMPLIED

34 RPL CDATA #IMPLIED

35 rule CDATA #IMPLIED

36 >

37 <!ELEMENT ExceptionList (Exception)*>

38 <!ELEMENT Exception EMPTY>

39 <!ATTLIST Exception

40 reason CDATA #REQUIRED

41 time CDATA #IMPLIED

42 name CDATA #IMPLIED

43 type CDATA #IMPLIED

44 state CDATA #IMPLIED

45 >

46

47 <!-- HostAck -->

48 <!ELEMENT HostAck (TagList|PurgeList)*>

49

50 <!-- PurgeList -->

51 <!ELEMENT PurgeList (Tag)*>

52

53 <!-- Error -->

54 <!ELEMENT Error EMPTY>

55 <!ATTLIST Error

56 code CDATA #REQUIRED

RFID Readers, Software Interface Control Guide2-28

57 msg CDATA #REQUIRED

58 >

HTTP Interface

General Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5HTTP Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5URL-encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5Logging In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5Proxies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-5Error Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6Committing Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6HTML Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6

Data Proxy Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-6Command: queryEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-7Command: queryTags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8Command: processTagList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9Command: purgeAllTags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-10

CoreProxy Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-11Command: addHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13Command: addMaskAdvTagFilterRule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14Command: addMaskTagFilterRule (deprecated) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15Command: addMaskTagFilterRuleShort (deprecated) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16Command: addPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17Command: addReadPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19Command: addReadPointClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20Command: addReadPointZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22Command: addTagFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23Command: addUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-24Command: changeTagFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-25

RFID Readers, Software Interface Control Guide3-2

Command: clearPswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26Command: commitRegion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-27Command: commitRegionCrypt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28Command: cpswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29Command: defeatHosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30Command: deleteTagFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-31Command: deleteTagFilterRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32Command: delHost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-33Command: delReadPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-34Command: delReadPointClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-35Command: delReadPointZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36Command: delUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-37Command: discardConfigChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-38Command: doScan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39Command: echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40Command: editAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41Command: emitAccessLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42Command: emitActiveReadPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43Command: emitAdvancedConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44Command: emitAutoEnable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46Command: emitChangeIndicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47Command: emitCommConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-48Command: emitDevTree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-50Command: emitDeviceStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-51Command: emitDisabledDeviceList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53Command: emitEventTable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54Command: emitExtraEventConfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-57Command: emitFilterList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-58Command: emitFirmwareLinkInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-59Command: emitGlobalFilterList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-60Command: emitHosts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-61Command: emitMemUsage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-62Command: emitPollingButton. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-63Command: emitReadPointClassList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-64Command: emitReadPointZoneList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-65Command: emitRegionBandInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-66Command: emitRegionInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-67Command: emitRegionScanModeInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-68Command: emitSessionInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-69Command: emitSysLog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-70Command: emitTagFilterHtmlInterface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-71Command: emitTagFilterList. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-72Command: emitTagFilterRuleHtmlInterface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-73Command: emitTagFilterRuleList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-75Command: emitTagModifyStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-76Command: emitUsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-77Command: emitVersionInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-78Command: enableAllDevices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-80Command: enableDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-81Command: firmwareLink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-82

HTTP Interface 3-3

Command: getDateTime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-83Command: getDateTimeHtmlInterface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-84Command: getVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-85Command: killTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-86Command: logControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-87Command: login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-88Command: logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-89Command: maintAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-90Command: modifyPswd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-91Command: modifyReadPointClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-92Command: modifyReadPointZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-93Command: modReader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-94Command: modReadPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-96Command: ntpConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-97Command: OSUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-98Command: purgeTags. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-99Command: queryNumTags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-100Command: queryTag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-101Command: queryTagUid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-102Command: queryTagXml. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-103Command: quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-104Command: readConfigFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-105Command: readLockTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-106Command: revertConfigFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-107Command: saveConfigFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-108Command: selectReadPointZone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-109Command: selectTagFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-110Command: selectTagFilterRule. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-111Command: setAdvancedConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-112Command: setAutoEnable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-113Command: setDateTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-114Command: setDateTimeHtml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-115Command: setDhcp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-116Command: setExtraEventConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-117Command: setFilter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-118Command: setFilterOption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-119Command: setGlobalFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-120Command: setHostLink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-121Command: setLightIndicator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-122Command: setNotifyOption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-123 Command: setRegion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-124Command: setRegionCountry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-125Command: setRegionScanModeFreq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-126Command: setSnmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-127Command: setTcp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-128Command: setTcpWithDhcp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-129Command: setTestParam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-130Command: setTimeZone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-131Command: shutdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-132Command: startPolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-133

RFID Readers, Software Interface Control Guide3-4

Command: tagAntennaConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-134Command: toggleScanMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-135Command: viewAccess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-136Command: watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-137Command: writeLockTag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-138Command: writeTag (deprecated) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-140

HTTP Interface 3-5

General Notes

HTTP QueriesThe HTTP queries have the general format:

http://IPaddress:port/path?query

Where the query is a series of name/value pairs in the form:

name1=value1&name2=value2….

For example:

http://192.168.1.2/cgi-bin/dataProxy?oper=queryTags&invis=1&msec=1

If the port is not specified, port 80 is assumed. The path and the query are case-sensitive.

URL-encodingThese commands are sent as HTTP URLs so they must be URL-encoded before transmission. The URL-encoding replaces all spaces with plus signs ‘+’ and replaces all punctuation within an argument with ‘%xx’, where ‘xx’ is the ASCII hexadecimal encoding of the punctuation character. For example, the string “Antenna #1” would be encoded as “Antenna+%231”.

The ‘?’ before the query, the ‘&’ separating name/value arguments and the ‘=’ between name and value, do not need to be encoded.

In the descriptions and examples below, the strings have not been encoded. Most browsers and HTTP-aware applications do the URL-encoding automatically. The user can use the examples as shown.

ArgumentsThe argument order does not matter. Missing optional arguments are given the value 0 (NULL for strings). If required arguments are missing, the command returns an error 34, missing argument for the command.

Some parameters are shown as being of type string vector. This means that the same parameter name may appear several times, with a string value each time. For example

arg1=string1&arg1=string2&arg1=string3

The multiple instances of the parameter name need not be consecutive.

Logging InAll commands, except the login command and the four dataProxy commands (see Data Proxy Commands on page 3-6) require that the user be logged in first.

ProxiesAll commands can use the coreProxy server except for the four dataProxy commands (see Data Proxy Commands on page 3-6).

The data proxy commands are separate because they take longer to execute, so they are handled by a different thread in the application. Only one dataProxy command may be pending at any one time. Also, only one coreProxy command can be pending at one time.

RFID Readers, Software Interface Control Guide3-6

Error ResponsesWhen the only substantive response to a command is a return code N (which may be an error code or a success code) the HTTP response is currently in the form:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/xxxPage?err=N">

Committing ChangesMost configuration changes do not take effect until they are committed. Use the saveConfigFile command, q.v. to commit the changes. These changes can be undone (before they take effect) using the discardConfigChange, revertConfigFile and readConfigFile commands. The term core configuration is used for the actively running configuration and the term console configuration is used for the configuration created by HTTP commands, before they are committed.

Changes made on the region control page, including scan frequencies, country of operation, etc., must be separately committed using the commitRegion command.

Some commands take effect immediately, these include: setDateTime, setDateTimeHtml, setTimeZone, startPolling, enableDevice, shutdown.

HTML ResponsesMany commands (especially the emitXXX commands) are intended for use by the functions that display web pages. The responses to these commands are provided in HTML format.

Data Proxy CommandsThese commands do not require logging in and require more resources. They are handled by a separate thread in the application. As a result, other HTTP commands can be processed while these commands are being handled.

• Command: queryEvents on page 3-7• Command: queryTags on page 3-8• Command: processTagList on page 3-9• Command: purgeAllTags on page 3-10

HTTP Interface 3-7

Command: queryEventsThe queryEvents command retrieves the list of events accumulated since the last queryEvents command execution. All new tag events since the last queryEvents are listed, plus the most recent drop or visibility changed event for each tag for which an event was processed. The reader internal list of events to be reported is then cleared. This command is only accepted by the dataProxy.

Example:

http://192.168.1.1/cgi_bin/dataProxy?oper=queryEvents&map=1&msec=1

Successful Response:

<?xml version=’1.0’?>

<Matrics><EventGroup><EventList><Tag event=’0’ raw=’022006480604297813000140’ PC=’3000’ Reserved=’0000000000000000’ time=’45dab465’ RPL=’1’ tagRssi=’’/>

<Tag raw=’300833B2DDD9014035050001’ time=’45dab462’/>

<Tag raw=’300833B2DDD9014035050008’ Reserved=’0000000000000000003F’ tagRssi=’Medium High’/>

<Tag raw=’300833B2DDD9014035055009’ Reserved=’0000000000000000’ time=’45dab465’ tagRssi=’’/>

<Tag raw=’303132333435363738393A3B’ time=’45dab462’/>

<Tag event=’1’ raw=’022006480604297813000140’ time=’45dab492’/>

<Tag raw=’300833B2DDD9014035050001’/>

<Tag raw=’300833B2DDD9014035050008’ Reserved=’0000000000000000003F’ tagRssi=’Medium High’/>

<Tag raw=’300833B2DDD9014035055009’ Reserved=’0000000000000000’ time=’45dab491’ tagRssi=’’/>

<Tag raw=’303132333435363738393A3B’ time=’45dab492’/>

</EventList>

</EventGroup>

</Matrics>

Error Responses:

104 - Busy processing last command

Table 3-1. queryEvents Parameters

Parameter Name Attribute Type Default Description

map Optional int 0 =1, include read point map in the query resultNote: the first queryEvents after startup or commit always includes the map

ctr Optional int 0 =1, include class (air protocol) type in the query result

msec Optional int 0 =1, include millisecond time stamp

norun Optional int 0 =1, suppress running state mode, show all values for each tag

rssi Optional int 0 =1, include rssi value in dBM in the query result

tagRssi Optional int 0 =1,include tag rssi value for each tag in the query Result.

RFID Readers, Software Interface Control Guide3-8

Command: queryTagsThe queryTags command retrieves a list of tags from the reader tag database. With no arguments, only currently visible tags are returned. (This command is only accepted by the dataProxy).

Example:

http://192.168.1.1/cgi_bin/dataProxy?oper=queryTags&invis=1

Successful Response:

<?xml version=’1.0’?><Matrics><EventGroup><TagList><Tag raw=’022006480604297813000140’ PC=’3000’ Reserved=’0000000000000000’ time=’45dab48a’ RPL=’1’ tagRssi=’’/><Tag raw=’300833B2DDD9014035050001’ time=’45dab484’/><Tag raw=’300833B2DDD9014035050008’ Reserved=’0000000000000000003F’ tagRssi=’Medium High’/><Tag raw=’300833B2DDD9014035055009’ Reserved=’0000000000000000’ time=’45dab48a’ tagRssi=’’/><Tag raw=’303132333435363738393A3B’/></TagList></EventGroup></Matrics>Error Responses:

104 - Busy processing last command

Table 3-2. queryTags Parameters

Parameter Name Attribute Type Default Description

map Optional int 0 =1, include read point map in the query resultNote: the first queryEvents after startup or commit always includes the map

invis Optional int 0 =1, include invisible tags in the query result

uidOnly Optional int 0 =1, send only those tags with assigned user ids

since Optional hex64 0 seconds since Jan 1, 1970; only send tags that have been updated after this time

showLastRP Optional int 0 =1, for tags not currently visible, show read point at which tag was last seen

ascTime Optional int 0 =1, show time as human friendly string (default shows time as seconds since Jan 1, 1970, in hexadecimal)

sendRule Optional int 0 =1, send the threshold rule related to the tag

ctr Optional int 0 =1, include class type (air protocol) in the result

msec Optional int 0 =1, include millisecond time stamp

norun Optional int 0 =1, suppress running state mode, show all values for each tag

rssi Optional int 0 =1, include rssi value in dBM in the query result

tagRssi Optional int 0 =1,include tag rssi value for each tag in the query Result.

HTTP Interface 3-9

Command: processTagListThe processTagList command retrieves a tag list from a host and adds it to the reader database. The list is used to define userid values for certain tags and to set up parameters for threshold events. This command is only accepted by the dataProxy.

Example:

http://192.168.1.1/cgi_bin/dataProxy?oper=processTagList&url=http://192.168.2.2/pub/tagfile.xml

The tagfile.xml is in the following format:

<?xml version="1.0" ?>

<Matrics>

<EventGroup>

<TagList>

<Tag raw="8900640046000000" time="40bf5fbf" />

<Tag raw="8900640146000000" />

<Tag raw="8900640246000000" uid="TestUid" />

<Tag raw="8900640346000000" />

<Tag raw="8000800425981240" />

</TagList>

</EventGroup>

</Matrics>

Successful Response:

3008 - Operation was successful

Error Responses:

34 - Missing argument for the command

46 – The host link is not valid

104 – Busy processing last command

Table 3-3. processTagList Parameters

Parameter Name Attribute Type Default Description

url Required String The complete URL for the tag list xml file

RFID Readers, Software Interface Control Guide3-10

Command: purgeAllTagsThe purgeAllTags command removes tags and events from the reader internal database. With no arguments, the command removes all tags that are not currently visible.

The events database also contains tag information, so event information can still be retrieved in its entirety, as long as there is no userid or threshold rule information. This command is only accepted by the dataProxy.

Example:

http://192.168.1.1/cgi_bin/dataProxy?oper=purgeAllTags&clean=1&events=1

Successful Response:

3008 - Operation was Successful

Error Responses:

104 – Busy processing last command

Table 3-4. purgeAllTags Parameters

Parameter Name Attribute Type Default Description

clean Optional int 0 =1, remove all tags, whether visible or not

events Optional int 0 =1, also remove events

HTTP Interface 3-11

CoreProxy CommandsAll of the coreProxy commands require that the user be logged in first.

Command: addHost on page 3-13 Command: emitDisabledDeviceList on page 3-53

Command: addMaskAdvTagFilterRule on page 3-14 Command: emitEventTable on page 3-54

Command: addMaskTagFilterRule (deprecated) on page 3-15 Command: emitExtraEventConfig on page 3-57

Command: addMaskTagFilterRuleShort(deprecated) on page 3-16 Command: emitFilterList on page 3-58

Command: addPort on page 3-17 Command: emitFirmwareLinkInterface on page 3-59

Command: addReadPoint on page 3-19 Command: emitGlobalFilterList on page 3-60

Command: addReadPointClass on page 3-20 Command: emitHosts on page 3-61

Command: addReadPointZone on page 3-22 Command: emitMemUsage on page 3-62

Command: addTagFilter on page 3-23 Command: emitPollingButton on page 3-63

Command: addUser on page 3-24 Command: emitReadPointClassList on page 3-64

Command: changeTagFilter on page 3-25 Command: emitReadPointZoneList on page 3-65

Command: clearPswd on page 3-26 Command: emitRegionBandInfo on page 3-66

Command: commitRegion on page 3-27 Command: emitRegionInfo on page 3-67

Command: commitRegionCrypt on page 3-28 Command: emitRegionScanModeInfo on page 3-68

Command: cpswd on page 3-29 Command: emitSessionInfo on page 3-69

Command: defeatHosts on page 3-30 Command: emitSysLog on page 3-70

Command: deleteTagFilter on page 3-31 Command: emitTagFilterHtmlInterface on page 3-71

Command: deleteTagFilterRule on page 3-32 Command: emitTagFilterList on page 3-72

Command: delHost on page 3-33 Command: emitTagFilterRuleHtmlInterface on page 3-73

Command: delReadPoint on page 3-34 Command: emitTagFilterRuleList on page 3-75

Command: delReadPointClass on page 3-35 Command: emitTagModifyStatus on page 3-76

Command: delReadPointZone on page 3-36 Command: emitUsers on page 3-77

Command: delUser on page 3-37 Command: emitVersionInfo on page 3-78

Command: discardConfigChange on page 3-38 Command: enableAllDevices on page 3-80

Command: doScan on page 3-39 Command: enableDevice on page 3-81

Command: echo on page 3-40 Command: firmwareLink on page 3-82

Command: editAccess on page 3-41 Command: getDateTime on page 3-83

Command: emitAccessLog on page 3-42 Command: getDateTimeHtmlInterface on page 3-84

Command: emitActiveReadPoints on page 3-43 Command: getVersion on page 3-85

Command: emitAdvancedConfig on page 3-44 Command: killTag on page 3-86

Command: emitAutoEnable on page 3-46 Command: logControl on page 3-87

Command: emitChangeIndicator on page 3-47 Command: login on page 3-88

RFID Readers, Software Interface Control Guide3-12

Command: emitCommConfig on page 3-48 Command: logout on page 3-89

Command: emitDevTree on page 3-50 Command: maintAccess on page 3-90

Command: emitDeviceStatus on page 3-51 Command: modifyPswd on page 3-91

Command: modifyReadPointClass on page 3-92 Command: setExtraEventConfig on page 3-117

Command: modifyReadPointZone on page 3-93 Command: setFilter on page 3-118

Command: modReader on page 3-94 Command: setFilterOption on page 3-119

Command: modReadPoint on page 3-96 Command: setGlobalFilter on page 3-120

Command: ntpConfig on page 3-97 Command: setHostLink on page 3-121

Command: OSUpdate on page 3-98 Command: setLightIndicator on page 3-122

Command: purgeTags on page 3-99 Command: setNotifyOption on page 3-123

Command: queryNumTags on page 3-100 Command: setRegion on page 3-124

Command: queryTag on page 3-101 Command: setRegionCountry on page 3-125

Command: queryTagUid on page 3-102 Command: setRegionScanModeFreq on page 3-126

Command: queryTagXml on page 3-103 Command: setSnmp on page 3-127

Command: quit on page 3-104 Command: setTcp on page 3-128

Command: readConfigFile on page 3-105 Command: setTcpWithDhcp on page 3-129

Command: readLockTag on page 3-106 Command: setTestParam on page 3-130

Command: revertConfigFile on page 3-107 Command: setTimeZone on page 3-131

Command: saveConfigFile on page 3-108 Command: shutdown on page 3-132

Command: selectReadPointZone on page 3-109 Command: startPolling on page 3-133

Command: selectTagFilter on page 3-110 Command: tagAntennaConfig on page 3-134

Command: selectTagFilterRule on page 3-111 Command: toggleScanMode on page 3-135

Command: setAdvancedConfig on page 3-112 Command: viewAccess on page 3-136

Command: setAutoEnable on page 3-113 Command: watchdog on page 3-137

Command: setDateTime on page 3-114 Command: writeLockTag on page 3-138

Command: setDateTimeHtml on page 3-115 Command: writeTag (deprecated) on page 3-140

Command: setDhcp on page 3-116

HTTP Interface 3-13

Command: addHostThe addHost command adds a trusted host IP address.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=addHost&ipaddr=157.235.88.70

Successful Response:

0 - noError

Error Responses:

13 – DB open failed

14 – DB put failed

23 – Not a legal IP address (1.0.0.0 - 255.255.255.255)

34 – Missing argument for the command

71 – Cannot reach the specified IP address

Table 3-5. addHost Parameters

Parameter Name Attribute Type Default Description

ipaddr Required String Host IP address

RFID Readers, Software Interface Control Guide3-14

Command: addMaskAdvTagFilterRuleThe addMaskAdvTagFilterRule command is used to add, modify or delete a tag filter rule. One (and only one) of the strings addRule and delRule must be present and non-empty. Use addRule to add or modify the rule (depending on whether the named rule already exists), delRule to delete it. It uses a mask and a value, expressed in hex strings. A one bit in the mask means the corresponding bit in the tag must match the corresponding bit in the value. A zero bit in the mask means the corresponding bit in the tag may have any value. The length of both tagMask and tagData must be same.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=addMaskAdvTagFilterRule&format=32&name=in000F&oldName=in000F&match=1&tagLen=0&memBank=1&start=32&tagData=300833B2DDD901403505000F&tagMask=FFFFFFFFFFFFFFFFFFFFFFFF&addRule=Add%2FModify+Tag+Filter+Rule

Successful Response:

0 – no error

Error Responses:12 – Operation failed19 – Invalid Name34 – Missing argument for the command48 – The option is not valid94 – View only user can not make configuration change102 – Cannot find the specified tag filter rule106 – Invalid RFID tag ID hexadecimal value39 - This Name has already been used

Table 3-6. addMaskAdvTagFilterRule Parameters

Parameter Name Attribute Type Default Description

name Required String Tag filter rule name

oldName Optional String Tag filter rule name

Match Optional int 0 =0, exclusive rule =1, inclusive rule

addRule Optional String Present string to indicate add operation

delRule Optional String Present string to indicate delete operation

tagMask Required String Hex value of Mask

tagData Required String Hex value of data

memBank Optional int 0 Indicates the memory bank on which the filter to be applied=0, reserved =1, EPC =2, TID =3, user

start Optional int 0 Indicates the start bit of the tag data from which the filter value is to be applied

tagLen Optional int 0 The length of the tag ID on which this filter to be applied, length of 0 indicates it will be applied to all tags

HTTP Interface 3-15

Command: addMaskTagFilterRule (deprecated)The addMaskTagFilterRule command is used to add, modify or delete a tag filter rule. One (and only one) of the strings addRule and delRule must be present and non-empty. Use addRule to add or modify the rule (depending on whether the named rule already exists), delRule to delete it. Missing optional arguments are passed as 0. This command is not issued from the web console, it has been retained for backward compatibility.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=addMaskTagFilterRule&format=16&name=rule2&inclusive=1&addRule=del&b96=0&b95=2&b94=2&b93=2&b92=2&b91=2&b90=2&b89=2&b88=2&b87=2&b86=2&b85=2&b84=2&b83=2&b82=2&b81=2&b80=2&b79=2&b78=2&b77=2&b76=2&b75=2&b74=2&b73=2&b62=0&b51=0&b65=1&b72=2&b71=2&b70=2&b69=2&b68=2&b67=2&b66=2&b64=2&b63=2&b61=2&b60=2&b59=2&b58=2&b57=2&b56=2&b55=2&b54=2&b53=2&b52=2&b50=2&b49=2&b43=1&b35=1&b31=1&b29=1&b48=2&b47=2&b46=2&b45=2&b44=2&b42=2&b41=2&b40=2&b39=2&b38=2&b37=2&b36=2&b34=2&b33=2&b32=2&b30=2&b28=2&b27=2&b26=2&b25=2&b21=0&b11=0&b5=0&b2=1&b24=2&b23=2&b22=2&b20=2&b19=2&b18=2&b17=2&b16=2&b15=2&b14=2&b13=2&b12=2&b10=2&b9=2&b8=2&b7=2&b6=2&b4=2&b3=2&b1=2

Successful Response:

0 – no error

Error Responses:

12 – Operation failed

19 – Invalid name

34 – Missing argument for the command

94 – View only user can not make configuration change

102 – Cannot find the specified tag filter rule

Table 3-7. addMaskTagFilterRule (deprecated) Parameters

Parameter Name Attribute Type Default Description

name Required String Tag filter rule name

format Optional int Tag format type =0, 8 Byte (64 bit) tag ID (b65 – b96 ignored) =16, 12 Byte (96 bit) tag ID

inclusive Optional int 0 =0, exclusive rule =1, inclusive rule

addRule Optional String Present String to indicate add operation

delRule Optional String Present string to indicate delete operation

b96 Optional String Bit 96 value: =0, must be 0 =1, must be 1 =2, don’t care

…… B2 – b95 same as b96

b1 Optional String Same as b96

RFID Readers, Software Interface Control Guide3-16

Command: addMaskTagFilterRuleShort(deprecated)The addMaskTagFilterRuleShort command is used to add, modify or delete a tag filter rule. One (and only one) of the strings addRule and delRule must be present and non-empty. Use addRule to add or modify the rule (depending on whether the named rule already exists), delRule to delete it. The command functions the same as the addMaskTagFilterRule command, but it requires fewer arguments. It uses a mask and a value, expressed as hex strings, instead of individual arguments for each bit. A 1 bit in the mask indicates the corresponding bit in the tag must match the corresponding bit in the value. A 0 bit in the mask indicates the corresponding bit in the tag may have any value. This command is not issued from the web console, it has been retained for backward compatibility.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=addMaskTagFilterRuleShort&format=16&name=rule3&inclusive=0&addRule=Add&newMask=00000000ffff&newValue=00000000f00f

Successful Response:

0 – no error

Error Responses:

12 – Operation failed

19 – Invalid name

34 – Missing argument for the command

48 – The option is not valid

94 – View only user can not make configuration change

102 – Cannot find the specified tag filter rule

106 – Invalid RFID tag ID hexadecimal value

Table 3-8. addMaskTagFilterRuleShort (deprecated) Parameters

Parameter Name Attribute Type Default Description

name Required String Tag filter rule name

format Optional int 0 Tag format type =0, 8 Byte (64 bit) tag ID =16, 12 Byte (96 bit) tag ID

inclusive Optional int 0 =0, exclusive rule =1, inclusive rule

addRule Optional String Present string to indicate add operation

delRule Optional String Present string to indicate delete operation

newMask Required String 8 bytes or 12 bytes bit mask

newValue Required String 8 bytes or 12 bytes bit value

HTTP Interface 3-17

Command: addPortThe addPort command is used to configure an antenna port, in a single step.

Table 3-9. addPort Parameters

Parameter Name Attribute Type Default Description

port Required int Antenna port number. Supported values are one of 1 to 8 (for an 8-port reader) and 1 to 4 (for a 4-port reader).

type Required int 1 Read point type: =1, AREA=2, COMBINED1=11, COMBINED2=13, COMBINED3=14, COMBINED4

scan Optional int 0 Type of scan:=0, polled =1, on demand =2, periodic, every 5 mins=3, periodic, every 10 mins=4, periodic, every 30 mins=5, periodic, every hour=6, periodic, every 2 hours=7, periodic, every 8 hours=8, periodic, every 12 hours=9, periodic, every day=10, periodic, every 7 days =11, periodic, every 14 days

gain Optional int 0 =0-100, percentage of read power to use

hops Optional int 0 Number of retries (frequency hops)

filter Optional String ALL Tag filter to use for this read point class

wgain Optional int 0 =0-100, percentage of write power to use

motion Optional int 0 Type of motion sensor: =0, NO_MOTION =1, MOTION_RIGHT=2, MOTION_LEFT=3, MOTION_BOTH

cls0 Optional* int 0 =1, support CLASS_0

cls1 Optional* int 0 =1, support CLASS_1

gen2 Optional* int 0 =1, support GEN_2

iso6b Optional* int 0 =1, support ISO18000_6B

zone Optional String Default Read point zone for this read point

desc Optional String Description of read point

rpname Optional string Name of the read point

status Optional int 0 =0 enable port =1 disable port

* If air protocol is not specified, the default air protocol of the reader is enabled for the port.

RFID Readers, Software Interface Control Guide3-18

Example:

To configure antenna port 1 for read point type of ‘AREA’, Scan period as ‘Polling’, 100% read gain, no frequency hops, no tag filtering, 100% write gain, support class 0 and Gen 2 protocol tags and give the read-point a name ‘MyCustomPort’ the command is:

http:// 157.235.88.67/cgi-bin/consoleProxy?oper=addPort&port=1&type=1&

scan=0&gain=100&hops=2&filter=ALL&wgain=100&cls0=1&gen2=1&rpname= MyCustomPort

Successful Response:

<?xml version="1.0" ?>

<Matrics>

Error code="0" msg="" />

</Matrics>

Error Responses:

Error code other than 0 in the XML response indicates failure. Failure includes:

12 – Operation failed

19 – Invalid name

20 – Invalid read point type

21 – Invalid read point scan period

45 - Cannot find the specified read point zone

73 – Cannot find the specified tag filter

80 - Description invalid

94 – View only user can not make configuration change

138 – Invalid port

136 – Invalid read gain

137 – Invalid write gain

139 – Invalid frequency hop value

114 – Invalid motion sensor configuration

HTTP Interface 3-19

Command: addReadPointThe addReadPoint command is used to add a new read point to the reader network.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=addReadPoint&reader=Advanced Reader &rport=1&name=Read Point 1-1-1-5-1&desc=read point 2&attr=Area&zone=Default

Successful Response:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/configPage#rpReadRPointR1R2d1R2d1R2d5R2d1">

Error Responses:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/addReadPointPage?rsname=&reader=Advanced+Reader&rport=1&mux=0&zone=Default&err=39&state=0&type=0">

Error code list:

12 – Operation failed

19 – Invalid name

25 – Invalid device address

26 – Cannot find the specified read point class

27 – Cannot find the specified reader

34 – Missing argument for the command

39 – This Name has already been used

45 – Cannot find the specified read point zone

63 – Last command is still pending, try again later

80 – Description invalid

94 – View only user can not make configuration change

Table 3-10. addReadPoint Parameters

Parameter Name Attribute Type Default Description

name Required String Name of the read point

attr Required String Read point class for this read point

desc Optional String Description of read point

zone Required String Read point zone for this read point

reader Required String Reader name

disable Optional int 0 =1, disable read point =7, reader is currently disabled by user

rport Required int The reader port number for this read point

mux Optional int 0 The mux number for this read point, should be 0

RFID Readers, Software Interface Control Guide3-20

Command: addReadPointClassThe addReadPointClass command is used to add/modify read point class.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=addReadPointClass

&name=class2&type=1&scan=0&gain=40&hops=4&gen2=1&filter=filter1&wgain=13

Table 3-11. addReadPointClass Parameters

Parameter Name Attribute Type Default Description

name Required String Name of the read point class

oldName Optional String Name of the read point class to be modified

type Required int Read point type=1, AREA=2, COMBINED1=11, COMBINED2=13, COMBINED3=14, COMBINED4

scan Required int Type of scan type=0, polled =1, on demand =2, periodic, every 5 mins=3, periodic, every 10 mins=4, periodic, every 30 mins=5, periodic, every hour=6, periodic, every 2hours=7, periodic, every 8 hours=8, periodic, every 12 hours=9, periodic, every day=10, periodic, every 7 days=11, periodic, every 14 days

gain Required int =0-100, percentage of read power to use

hops Required int Number of retries (frequency hops)

filter Required String Tag filter to use for this read point class

wgain Required int =0-100, percentage of write power to use

motion Optional int Type of motion sensor=0, NO_MOTION=1, MOTION_RIGHT=2, MOTION_LEFT=3, MOTION_BOTH

cls0 Optional int 0 =1, support CLASS_0

cls1 Optional int 0 =1, support CLASS_1

gen2 Optional int 0 =1, support GEN_2

iso6b Optional int 0 =1, support ISO18000_6B

HTTP Interface 3-21

Successful Response:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/readPointClassPage?ClassName=class2&type=1&scan=0&gain=40&wgain=13&hops=4&air=4&filter=filter1&motion=0&err=0&wiz=0">

Error Responses:

12 – Operation failed

19 – Invalid name

20 – Invalid read point type

21 – Invalid read point scan period

34 - Missing argument for the command

73 – Cannot find the specified tag filter

94 – View only user can not make configuration change

114 – Invalid motion sensor configuration

124 – Must specify air protocol

125 – Nothing was changed

RFID Readers, Software Interface Control Guide3-22

Command: addReadPointZoneThe addReadPointZone command is used to add or modify a read point zone.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=addReadPointZone&name=zone3

Successful Response:

0 – no error

Error Responses:

12 – Operation failed

19 – Invalid name

34 - Missing argument for the command

67 – Cannot find the specified read point zone

94 – View only user can not make configuration change

Table 3-12. addReadPointZone Parameters

Parameter Name Attribute Type Default Description

name Required String Name of the read point zone

oldname Optional String Name of the modified read point zone

HTTP Interface 3-23

Command: addTagFilterThe addTagFilter command adds an empty tag filter to the reader. When it interactively adds a tag filter, it also brings up the tag filter web page for the remaining steps. For non-interactive use, call the changeTagFilter command to add rules to the empty filter.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=addTagFilter&name=filter3

Successful Response:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/tagfilterpage?name=filter3&wiz=0">

Error Responses:

12 – Operation failed

19 – Invalid name

34 – Missing argument for the command

39 – This name has already been used

74 – Cannot modify the \"ALL\" tag filter

94 – View only user can not make configuration change

Table 3-13. addTagFilter Parameters

Parameter Name Attribute Type Default Description

name Required String Name of tag filter

RFID Readers, Software Interface Control Guide3-24

Command: addUserThe addUser command adds a new user account into reader.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=addUser&name=user1&pswd=password&access=0

Successful Response:

0 – no error

Error Responses:

13 – DB open failed

14 – DB put failed

19 – Invalid name

28 – Invalid password

34 - Missing argument for the command

38 – Invalid user access value

89 – The user name has already been used

94 – View only user can not make configuration change

101 – User does not have enough privilege for this action

Table 3-14. addUser Parameters

Parameter Name Attribute Type Default Description

name Required String User name

pswd Required String Password

access Required int Access level:=0, viewAccess=1, editAccess=2, maintAccess

HTTP Interface 3-25

Command: changeTagFilterThe changeTagFilter command is used to change the tag filter rules of an existing tag filter. Only one direction, << (to add rules) or >> (to remove rules), may be specified in one command call and only the corresponding arguments (rules when adding, usedRules when removing) is processed. The specified rules must already exist. If the del argument is present and starts with an upper case ‘D’, the named filter is deleted.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=changeTagFilter&name=filter2&dir=<<&rules=rule2[M+]

Successful Response:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/tagfilterpage?name=filter2&wiz=0&err=0">

Error Responses:

12 – Operation failed

34 – Missing argument for the command

43 – Select an item from the list

73 – Cannot find the specified tag filter

94 – View only user can not make configuration change

102 – Cannot find the specified tag filter rule

Table 3-15. changeTagFilter Parameters

Parameter Name Attribute Type Default Description

name Required String Name of an existing tag filter

dir Optional String ”<<” means add rules“>>” means remove rules

rules Optional String vector Rules to be added to selected tag filter

usedRules Optional String vector Rules to be removed from selected tag filter

del Optional String String beginning with ‘D’ to delete the tag filter

RFID Readers, Software Interface Control Guide3-26

Command: clearPswdThe clearPswd command resets the user password to the default password (change). On the next login (from that user) a change password prompted appears.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=clearPswd&user=admin

Successful Response:

0 – no error

3008 – Operation was Successful

Error Responses:

13 – DB open failed

14 – DB put failed

34 - Missing argument for the command

43 – Select an item from the list

94 – View only user can not make configuration change

101 – User does not have enough privilege for this action

Table 3-16. clearPswd Parameters

Parameter Name Attribute Type Default Description

user Required String User name

HTTP Interface 3-27

Command: commitRegionThe commitRegion command is used to set the region parameter.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=commitRegion&confirm=1

Successful Response:

119 – Reinitializing...please wait

Error Responses:

88 – The action must be confirmed

100 – This action needs maintenance user privilege

122 – Region not completely specified

Table 3-17. commitRegion Parameters

Parameter Name Attribute Type Default Description

confirm Required int 0 =1, confirms users acceptance of legal responsibility

RFID Readers, Software Interface Control Guide3-28

Command: commitRegionCryptThe commitRegionCrypt command is used to write out a new RegionCrypt file. The RegionCrypt file contains information on which countries are legally allowed in this software release and which additional features are enabled. This file contains an encrypted string. It can be updated by entering a new encrypted string in the Region Control page or by directly sending the command. The reader reboots to acquire the new country string.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=commitRegionCrypt&countryString= 7079818F7A4CF4388D96C9887345ED

Successful Response:

The reader is going to reboot

Error Responses:

12 – Operation failed

34 – Missing argument for the command

100 – This action needs maintenance user privilege

121 – Invalid encrypted string

Table 3-18. commitRegionCrypt Parameters

Parameter Name Attribute Type Default Description

countryString Required String Encrypted country string

HTTP Interface 3-29

Command: cpswdThe cpswd command is used to reset user password. The optional reset argument allows one user to change the password of another of equal or lesser access privilege without knowing the previous password.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=cpswd&user=admin&oldpswd=change&newpswd1=admin&newpswd2=admin

Successful Response:

3008 – Operation was Successful

Error Responses:

13 – DB open failed

34 – Missing argument for the command

54 – Failed to confirm the new password

55 – The new Password is the same as the old one

57 – The user name is not correct

94 – View only user can not make configuration change

101 – User does not have enough privilege for this action

Table 3-19. cpswd Parameters

Parameter Name Attribute Type Default Description

user Required String User name

oldpswd Optional String Old password

newpswd1 Required String New password

newpswd2 Required String Confirm new password

reset Optional int 0 =1, do not check old password

RFID Readers, Software Interface Control Guide3-30

Command: defeatHostsThe defeatHosts command is used to enable/disable the trusted host check.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=defeatHosts&disable=1

Successful Response:

0 – noError

Error Responses:

34 – Missing argument for the command

94 – View only user can not make configuration change

Table 3-20. defeatHosts Parameters

Parameter Name Attribute Type Default Description

disable Required int 0 =1, disable check

HTTP Interface 3-31

Command: deleteTagFilterThe deleteTagFilter command is used to delete the named tag filter.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=deleteTagFilter&name=filter2

Successful Response:

0 – no error

Error Responses:

19 – Invalid name

34 – Missing argument for the command

73 – Cannot find the specified tag filter

94 – View only user can not make configuration change

Table 3-21. deleteTagFilter Parameters

Parameter Name Attribute Type Default Description

name Required String Name of the tag filter

RFID Readers, Software Interface Control Guide3-32

Command: deleteTagFilterRuleThe deleteTagFilterRule command is not currently supported. Use the addMaskTagFilterRuleShort, command with the delRule specified.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=deleteTagFilterRule&name=Rule2

Successful Response:

0 – no error

Error Responses:

34 – Missing argument for the command

94 – View only user can not make configuration change

102 – Cannot find the specified tag filter rule

Table 3-22. deleteTagFilterRule Parameters

Parameter Name Attribute Type Default Description

name Required String Name of the tag filter rule

HTTP Interface 3-33

Command: delHostThe delHost command is used to remove a host from the trusted host list.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=delHost&ipaddr=157.235.88.100

Successful Response:

0 – no error

Error Responses:

13 – DB open failed

34 – Missing argument for the command

43 – Select an item from the list

65 – Cannot find the specified host address

66 – Cannot delete local host address

69 – Cannot delete the IP address of the active session host

94 – View only user can not make configuration change

Table 3-23. delHost Parameters

Parameter Name Attribute Type Default Description

ipaddr Required String IP address of the host

RFID Readers, Software Interface Control Guide3-34

Command: delReadPointThe delReadPoint command is used to delete a read point.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=delReadPoint&name=Read Point 1-1-1-5-1

Successful Response:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/configPage#rdAdvancedRReader">

Error Responses:

The error code is listed bellow:

12 – Operation failed

34 – Missing argument for the command

49 – Cannot find the specified read point

63 – Last command is still pending, try again later

94 – View only user can not make configuration change

Table 3-24. delReadPoint Parameters

Parameter Name Attribute Type Default Description

name Required String Name of the read point

HTTP Interface 3-35

Command: delReadPointClassThe delReadPointClass command is used to delete a read point class. The web interface does not display this option if the read point class is in use. The processing of this command, does not prevent an in-use read point class from being deleted.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=delReadPointClass&name=class2

Successful Response:

0 – no error

Error Responses:

19 – Invalid Name

26 – Cannot find the specified read point class

34 – Missing argument for the command

94 – View only user can not make configuration change

133 - This object is still in use and cannot be changed/deleted

Table 3-25. delReadPointClass Parameters

Parameter Name Attribute Type Default Description

name Required String Name of read point class

RFID Readers, Software Interface Control Guide3-36

Command: delReadPointZoneThe delReadPointZone command is used to delete the specified read point zone.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=delReadPointZone&name=zone1

Successful Response:

0 – no error

Error Responses:

19 – Invalid name

34 – Missing argument for the command.

67 – Cannot find the specified read point zone

94 – View only user can not make configuration change

Table 3-26. delReadPointZone Parameters

Parameter Name Attribute Type Default Description

name Required String Read point zone name

HTTP Interface 3-37

Command: delUserThe delUser command is used to delete a user account.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=delUser&user=user1

Successful Response:

0 – noError

Error Responses:

13 – DB open failed

34 – Missing argument for the command

43 – Select an item from the list

57 - The user name is not correct

70 - Cannot delete the \"admin\" user account

94 – View only user can not make configuration change

101 – User does not have enough privilege for this action

105-Cannot delete the active user account

Table 3-27. delUser Parameters

Parameter Name Attribute Type Default Description

user Required String User name

RFID Readers, Software Interface Control Guide3-38

Command: discardConfigChangeThe discardConfigChange command is used to discard all configuration changes since the last commit.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=discardConfigChange

Successful Response:

3001 – Discard Accepted - Configuration reverted to last committed version

Error Responses:

63 – Last command is still pending, try again later

94 – View only user can not make configuration change

117 – No changes to discard

HTTP Interface 3-39

Command: doScanThe doScan command is used to initiate a scan for the on demand read points. With no argument, all OnDemand read points are scanned.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=doScan

Successful Response:

3003 – Command Accepted - All "On Demand" scans queued

Error Responses:

12 – Operation failed

94 – View only user can not make configuration change

122 – Region not completely specified

123 – Reader is disabled

Table 3-28. doScan Parameters

Parameter Name Attribute Type Default Description

name Optional String Reader point name, such as 1-1-1-1-1, antenna7

RFID Readers, Software Interface Control Guide3-40

Command: echoThe echo command is used to test the HTTP server. It echoes the string parameter.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=echo&str=the test string

Successful Response:

The test string

Error Responses:

No error message.

Table 3-29. echo Parameters

Parameter Name Attribute Type Default Description

str Required String String presented in response

HTTP Interface 3-41

Command: editAccessThe editAccess command is used to set user access level to “edit”.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=editAccess&user=user1

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

13 - DB open failed

43 – Select an item from the list

57 – The user name is not correct

93 – Can not reduce access level for the "admin" user

94 – View only user can not make configuration change

101 – User does not have enough privilege for this action

Table 3-30. editAccess Parameters

Parameter Name Attribute Type Default Description

User Required String User name

RFID Readers, Software Interface Control Guide3-42

Command: emitAccessLogThe emitAccessLog command is used to retrieve the login history.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitAccessLog

Successful Response:

<select name="circularQueue" size="10">

<option>Sat Jan 01 00:05:36 2005: Login by admin from 157.235.88.70</option><option>Sat Jan 01 00:06:58 2005: Login by admin from 157.235.88.70</option><option>Sat Jan 01 00:22:06 2005: Login by admin from 157.235.88.70</option><option>Sat Jan 01 00:55:48 2005: Login by admin from 157.235.88.70</option><option>Sat Jan 01 01:03:33 2005: Login by admin from 157.235.88.70</option><option>Sat Jan 01 01:04:33 2005: Login by admin from 157.235.88.70</option><option>Sat Jan 01 01:05:11 2005: Login by admin from 157.235.88.70</option><option>Sat Jan 01 01:11:43 2005: Login by admin from 157.235.88.70</option></select>

This displays as:

Error Responses:

No error message.

Sat Jan 01 00:05:36 2005: Login by admin from 157.235.88.70Sat Jan 01 00:06:58 2005: Login by admin from 157.235.88.70Sat Jan 01 00:22:06 2005: Login by admin from 157.235.88.70Sat Jan 01 00:55:48 2005: Login by admin from 157.235.88.70Sat Jan 01 01:03:33 2005: Login by admin from 157.235.88.70Sat Jan 01 01:04:33 2005: Login by admin from 157.235.88.70Sat Jan 01 01:05:11 2005: Login by admin from 157.235.88.70Sat Jan 01 01:11:43 2005: Login by admin from 157.235.88.70

HTTP Interface 3-43

Command: emitActiveReadPointsThe emitActiveReadPoints command is used to list active read points. The antenna identifier appears as the “value” attribute of the <option> tag and the name appears as the text.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitActiveReadPoints

Successful Response:

<option value=’a0’>Read Point 1-1-1-1-1</option>

Error Responses:

No error message.

RFID Readers, Software Interface Control Guide3-44

Command: emitAdvancedConfigThe emitAdvancedConfig command is used to list the queue setting of the reader.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitAdvancedConfig

s

Successful Response:

<tr><td><input type="radio" name="qstatic" value="1"> <strong>Static</strong></td><td><input type="radio" name="qstatic" value="0" checked> <strong>Dynamic</strong> (Default)</td></tr><tr><td colspan="2">&nbsp;</td></tr><tr><td align="right"><strong>Starting Q value:</strong></td><td><select name="qstart"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6" selected>6</option><option value="7">7</option><option value="8">8</option></select> (Default: 6)</td></tr><tr><td align="right"><strong>Minimum Q value:</strong></td><td><select name="qmin"><option value="0">0</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4" selected>4</option><option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option></select> (Default: 4, ignored with static Q)</td></tr><tr><td align="right"><strong>Maximum Q value:</strong></td><td><select name="qmax"><option value="0">0</option><option value="1">1</option>

HTTP Interface 3-45

<option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option><option value="7" selected>7</option><option value="8">8</option></select> (Default: 7 ignored with static Q)</td></tr>

Error Responses:

No error message

Static Dynamic (Default)

Starting Q value: 6 (Default: 6)

Minimum Q value: 4 (Default: 4, ignored with static Q)

Maximum Q value: 7 (Default: 7 ignored with static Q)

Modify Reader

RFID Readers, Software Interface Control Guide3-46

Command: emitAutoEnableThe emitAutoEnable command is used to retrieve the XML formatted automatic enable period setting form.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitAutoEnable

Successful Response:

<form action=’/cgi-bin/coreProxy’ method=’get’><center><input type=’hidden’ name=’oper’ value=’setAutoEnable’/><table border=’0’ cellspacing=’0’ cellpadding=’0’ width=’100%’><tr><td align=’right’ width=’50%’><Strong>Automatic Enable Period:</Strong></td><td align=’left’ width=’50%’><input type=’text’ size=’3’ maxlength=’3’ name=’time’ value=’15’/> Minutes</td></tr></table><input type=’submit’ value=’Set Auto Enable Period’/></center></form>

This displays as:

Error Responses:

No error message.

Automatic Enable Period: 15 Minutes Set Auto Enable Period

HTTP Interface 3-47

Command: emitChangeIndicatorThe emitChangeIndicator command retrieves a red ‘*’ character before the commit/revert link on the web page menus. If no change has been made since the last commit, nothing is returned.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitChangeIndicator

Successful Response:

<font color="#FF0000">*</font>

Error Responses:

No error message.

RFID Readers, Software Interface Control Guide3-48

Command: emitCommConfigThe emitCommConfig command is used to retrieve the HTML formatted communication configuration form.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitCommConfig

Successful Response:<center><table border="0" width="100%"> <tr> <form action="/cgi-bin/coreProxy" method="GET"><input type="hidden" name="oper" value="setDhcp"/> <td align="right"><input type="submit" name="dhcpActive" value="Turn Off" ></td> <td> Obtain IP Address via DHCP: ON </td> </form> </tr><form action="/cgi-bin/coreProxy" method="GET"> <tr> <td align="right"><input type="checkbox" name="httpActive" value="1" checked ></td> <td> Enable HTTP Server </td> </tr> <tr> <td align="right"><input type="checkbox" name="telnetActive" value="1" checked ></td> <td> Enable Telnet Server </td> </tr> <tr> <td align="right"><input type="checkbox" name="ftpActive" value="1" checked ></td> <td> Enable FTP Server </td> </tr> <tr> <td align="right">IP Address: </td><td>157.235.88.67 </td> </tr> <tr> <td align="right">Subnet Mask: </td> <td>255.255.255.0 </td> </tr> <tr> <td align="right">Default Gateway: </td> <td >157.235.88.246 </td> </tr> <tr> <td align="right">DNS Server: </td> <td >157.235.3.195 </td> </tr> <tr> <td align="right">TCP Port</td> <td><input type="text" size="5" maxlength="5" name="port" value="3000"/> </td> </tr> <tr> <td align="right">TCP Timeout</td> <td><input type="text" size="5" maxlength="5" name="tcpTimeout" value="0"/> minutes </td> </tr> <tr> <td align="right">HTTP Port</td> <td >input type="text" size="5" maxlength="5" name="httpPort" value="80"/></td> </tr> <tr> <td align="right">Sync Mode Multicast IP</td> <td><input type="text" size="15" maxlength="15" name="mcIp" value="234.1.1.1"/> </td> </tr> <tr> <td align="right">Sync Mode Multicast Port</td> <td><input type="text" size="5" maxlength="5" name="mcPort" value="4001"/> </td> </tr> <tr> <td>&nbsp</td> <td align="Left"><input type="hidden" name="oper" value="setTcpWithDhcp"/> <input type="submit" value="Set Properties"/></td> </tr></table></form></center><center><table border="0"><tr align="center"><td><strong>MAC Address</strong></td><td>&nbsp</td><td>00:A0:F8:C1:E8:EB</td></tr></table></center><br>

HTTP Interface 3-49

This displays as:

Error Responses:

No error message.

Turn Off Obtain IP Address via DHCP: ON Enable HTTP Server

Enable Telnet Server

Enable FTP Server IP Address: 157.235.88.67

Subnet Mask: 255.255.255.0 Default Gateway: 157.235.88.246

DNS Server: 157.235.3.195 TCP Port 3000

TCP Timeout 0 minutes HTTP Port 80

Sync Mode Multicast IP 234.1.1.1 Sync Mode Multicast Port 4001

Set Properties

MAC Address 00:A0:F8:C1:E8:EB

RFID Readers, Software Interface Control Guide3-50

Command: emitDevTreeThe emitDevTree command is used to retrieve the HTML formatted configuration device list.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitDevTree

Successful Response:

Confirm that the output matches the version of the advReaderServer version that is running.

<a name=’rdAdvanced+Reader’ href=’/cgi-bin/editReaderPage?name=Advanced+Reader&used=1&status=0’>

Advanced Reader (SN:C80507AG828054E5 Desc:Advanced Reader)</a><ol><li><a href=’/cgi-bin/addReadPointPage?rsname=&reader=Advanced+Reader&rport=0&mux=1&type=5&name=Read+Point+1%2d1%2d1%2d1%2d1&desc=&class=Area&zone=Default&status=0’>Read Point 1-1-1-1-1 (Zone:Default Class:Area)</a></li><li><a href=’/cgi-bin/addReadPointPage?rsname=&reader=Advanced+Reader&rport=1&mux=1&type=5&name=Read+Point+1%2d1%2d1%2d2%2d1&desc=&class=Area&zone=Default&status=3’><B><I><STRIKE>Read Point 1-1-1-2-1 (Zone:Default Class:Area)</STRIKE></I></B></a></li><li><a href=’/cgi-bin/addReadPointPage?rsname=&reader=Advanced+Reader&rport=2&mux=1&type=5&name=Read+Point+1%2d1%2d1%2d3%2d1&desc=&class=Area&zone=Default&status=3’><B><I><STRIKE>Read Point 1-1-1-3-1 (Zone:Default Class:Area)</STRIKE></I></B></a></li><li><a href=’/cgi-bin/addReadPointPage?rsname=&reader=Advanced+Reader&rport=3&mux=1&type=5&name=Read+Point+1%2d1%2d1%2d4%2d1&desc=&class=Area&zone=Default&status=3’><B><I><STRIKE>Read Point 1-1-1-4-1 (Zone:Default Class:Area)</STRIKE></I></B></a></li></ol></li>

This displays as:

Error Responses:

No error message.

Advanced Reader (SN:C80507AG828054E5 Desc:Advanced Reader)

1. Read Point 1-1-1-1-1 (Zone:Default Class:Area) 2. Read Point 1-1-1-2-1 (Zone:Default Class:Area) 3. Read Point 1-1-1-3-1 (Zone:Default Class:Area)

Read Point 1-1-1-4-1 (Zone:Default Class:Area)

HTTP Interface 3-51

Command: emitDeviceStatusThe emitDeviceStatus command is used to retrieve the HTML formatted reader status such as, CPU usage, memory usage and flash usage.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitDeviceStatus

Successful Response:<table border=’1’ cellpadding=’0’ cellspacing=’0’><tr><td><strong>Device</strong></td><td><strong>Total</strong></td><td><strong>Enabled</strong></td><td><strong>User Disabled</strong></td><td><strong>System Disabled</strong></td><td><strong>Parent Disabled</strong></td></tr><tr><td><strong>Reader</strong></td><td align=’center’>1</td><td align=’center’>1</td><td align=’center’>0</td><td align=’center’>0</td><td align=’center’>0</td></tr><tr><td><strong>Read Points</strong></td><td align=’center’>4</td><td align=’center’>1</td><td align=’center’>3</td><td align=’center’>0</td><td align=’center’>0</td></tr></table><br/><table border=’1’ cellpadding=’0’ cellspacing=’0’><tr><td align=’center’><strong>System Clock</strong></td><td align=’center’><a href=’ntpConfigPage’>Tue Aug 15 18:21:31 2006</a></td></tr><tr><td align=’center’><strong>System Up Time</strong></td><td align=’center’>0 Days 7 Hours 51 Minutes 3 Seconds </td></tr><tr><td align=’center’><strong>CPU Usage</strong></td><td align=’center’>0%</td></tr><tr><td align=’center’><strong>Memory Usage</strong></td><td align=’center’><table width=’100%’ border=’0’ cellpadding=’0’ cellspacing=’0’><tr><td align=’right’ width=’33%’><strong> Total</strong></td><td align=’right’ width=’33%’><strong> Used</strong></td><td align=’right’ width=’34%’><strong> Free</strong></td></tr><tr><td align=’right’>23961600</td><td align=’right’>8802304</td><td align=’right’>15159296</td></tr></table></td></tr><tr><td align=’center’><strong>Flash Usage</strong></td><td align=’center’><table width=’100%’ border=’0’ cellpadding=’0’ cellspacing=’0’><tr><td align=’right’ width=’33%’><strong> Total</strong></td><td align=’right’ width=’33%’><strong> Used</strong></td><td align=’right’ width=’34%’><strong> Free</strong></td></tr></table></td></tr><tr><td align=’left’>Application</td><td align=’center’><table width=’100%’ border=’0’ cellpadding=’0’ cellspacing=’0’><tr><td align=’right’ width=’33%’>6010880</td><td align=’right’ width=’33%’>22528</td><td align=’right’ width=’33%’>5988352</td></tr></table></td></tr><tr><td align=’left’>Platform</td><td align=’center’><table width=’100%’ border=’0’ cellpadding=’0’ cellspacing=’0’><tr><td align=’right’ width=’33%’>6287360</td><td align=’right’ width=’33%’>3715072</td><td align=’right’ width=’33%’>2572288</td></tr></table></td></tr><tr><td align=’left’>ReaderConfig</td><td align=’center’><table width=’100%’ border=’0’ cellpadding=’0’ cellspacing=’0’><tr><td align=’right’ width=’33%’>837632</td><td align=’right’ width=’33%’>8192</td><td align=’right’ width=’33%’>829440</td></tr></table></td></tr><tr><td align=’left’>ReaderData</td><td align=’center’><table width=’100%’ border=’0’ cellpadding=’0’ cellspacing=’0’><tr><td align=’right’ width=’33%’>6174720</td><td align=’right’ width=’33%’>20480</td><td align=’right’ width=’33%’>6154240</td></tr></table></td></tr><tr><td align=’left’>Data</td><td align=’center’><table width=’100%’ border=’0’ cellpadding=’0’ cellspacing=’0’><tr><td align=’right’ width=’33%’>25073664</td><td align=’right’ width=’33%’>0</td><td align=’right’ width=’33%’>25073664</td></tr></table></td></tr></table>

Table 3-31. emitDeviceStatus Parameters

Parameter Name Attribute Type Default Description

xml Optional int =1, response is in xml

RFID Readers, Software Interface Control Guide3-52

This displays as:

System Clock

Error Responses:

No error message.

Device Total Enabled User Disabled System Disabled Parent DisabledReader 1 1 0 0 0 Read Points 4 1 3 0 0

System Clock Tue Aug 15 18:21:54 2006 System Up Time 0 Days 7 Hours 51 Minutes 26 Seconds

CPU Usage 1%

Memory Usage Total Used Free23961600 8826880 15134720

Flash Usage Total Used Free Application 6010880 22528 5988352 Platform 6287360 3715072 2572288 ReaderConfig 837632 8192 829440 ReaderData 6174720 20480 6154240 Data 25073664 0 25073664

HTTP Interface 3-53

Command: emitDisabledDeviceListThe emitDisabledDeviceList command is used to retrieve the list of disabled devices (of a given type).

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitDisabledDeviceList&dev=readpoint

Successful Response:

<option>Read Point 1-1-1-1-1</option>

Error Responses:

34 - Missing argument for the command

Table 3-32. emitDisabledDeviceList Parameters

Parameter Name Attribute Type Default Description

Dev Required String Device type – one of:Reader Readpoint Degradedreadpoint

RFID Readers, Software Interface Control Guide3-54

Command: emitEventTableThe emitEventTable command is used to retrieve the HTML formatted event notification table.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitEventTable

Successful Response:<table border=’1’ align=’center’ cellpadding=’0’ cellspacing=’0’><tr><td width=’150’><strong>Event</strong></td><td width=’100’><strong>Notify</strong></td><td width=’100’><strong>Filter By</strong></td><td width=’100’><strong>Filter</strong></td></tr><tr><td><strong>New Tag</strong></td><td><a href=’/cgi-bin/notify1Page?name=New+Tag&notify=1&mod=8&wiz=0&rsname=’>Immediate</a></td><td><a href=’/cgi-bin/notify2Page?name=New+Tag&filter=0&wiz=0&rsname=’>None</a></td><td>&nbsp;</td></tr><tr><td><strong>Tag Not Visible</strong></td><td><a href=’/cgi-bin/notify1Page?name=Tag+Not+Visible&notify=2&mod=8&wiz=0&rsname=’>Moderated</a></td><td><a href=’/cgi-bin/notify2Page?name=Tag+Not+Visible&filter=0&wiz=0&rsname=’>None</a></td><td>&nbsp;</td></tr><tr><td><strong>Visibility Changed</strong></td><td><a href=’/cgi-bin/notify1Page?name=Visibility+Changed&notify=1&mod=8&wiz=0&rsname=’>Immediate</a></td><td><a href=’/cgi-bin/notify2Page?name=Visibility+Changed&filter=0&wiz=0&rsname=’>None</a></td><td>&nbsp;</td></tr><tr><td><strong>Threshold</strong></td><td><a href=’/cgi-bin/notify1Page?name=Threshold&notify=0&mod=8&wiz=0&rsname=’>Never</a></td><td>&nbsp;</td><td>&nbsp;</td>

HTTP Interface 3-55

</tr><tr><td><strong>Exception</strong></td><td><a href=’/cgi-bin/notify1Page?name=Exception&notify=0&mod=8&wiz=0&rsname=’>Never</a></td><td>&nbsp;</td><td>&nbsp;</td></tr></table><hr><form action=’/cgi-bin/consoleProxy’ method=’get’><center><input type=’hidden’ name=’oper’ value=’setHostLink’/><table border=’0’ cellspacing=’0’ cellpadding=’0’ width=’100%’><tr><td align=’right’ width=’50%’><Strong>Host Notification Link:</Strong></td><td align=’left’ width=’50%’><input type=’text’ size=’40’ name=’link’ value=’http://157.235.208.187:80/’/></td></tr><tr><td align=’right’><strong>Type:</strong></td><td align=’left’><table width=’100%’><tr><td width=’33%’><input name=’notifyType’ type=’radio’ value=’0’ checked=’checked’/>Notify</td><td width=’33%’><input name=’notifyType’ type=’radio’ value=’1’/>Events</td><td><input name=’notifyType’ type=’radio’ value=’2’/>Tags</td></tr></table></td></tr></table><input type=’submit’ value=’Set Host Link’/></center></form><hr><form action=’/cgi-bin/consoleProxy’ method=’get’><center><input type=’hidden’ name=’oper’ value=’setSnmp’/><table border=’0’ cellspacing=’1’ cellpadding=’0’ width=’100%’><tr><td align=’right’ width=’50%’><Strong>Send SNMP Trap To:</Strong></td><td align=’left’ width=’50%’><input type=’text’ size=’16’ maxlength=’16’ name=’host’ value=’’/></td></tr><tr><td align=’right’ width=’50%’><Strong>SNMP Community String:</Strong></td><td align=’left’ width=’50%’><input type=’text’ size=’16’ maxlength=’16’ name=’community’ value=’’/></td></tr><tr><td align=’right’ width=’50%’><Strong>SNMP version:</Strong></td><td align=’left’ width=’50%’><table border=’0’ cellspacing=’1’ cellpadding=’0’ width=’125’><tr><td align=’left’ width=’50%’><input type=’radio’ name=’version’ value=’1’ checked>V1</input></td><td align=’left’ width=’50%’><input type=’radio’ name=’version’ value=’2’>V2c</input>

RFID Readers, Software Interface Control Guide3-56

</td></tr></table></td></tr><tr><td align=’right’ width=’50%’><Strong>Send Server Heartbeat:</Strong></td><td align=’left’ width=’50%’><input type=’checkbox’ name=’heartbeat’ value=’1’ checked/></td></tr></table><input type=’submit’ value=’Set SNMP Configuration’/></center></form>This displays as:

Bottom of Form

Error Responses:

No error message.

Event Notify Filter By Filter New Tag Immediate None Tag Not Visible Moderated None Visibility Changed Immediate None Threshold Never Exception Never

Host Notification Link: http://157.235.208.187:80/

Type: Notify Events Tags Set Host Link

Send SNMP Trap To:

SNMP Community String: SNMP Version: V1 V2c

Send Server Heartbeat: Set SNMP Configuration

HTTP Interface 3-57

Command: emitExtraEventConfigThe emitExtraEventConfig command is used to display HTML formatted extra event configuration parameters.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitExtraEventConfig

Successful Response:

<br><hr><br/><form action=’/cgi-bin/coreProxy’ method=’get’>

<input type=’hidden’ name=’oper’ value=’setExtraEventConfig’/><center><Strong>Separate Read Points in Combined Groups</Strong><input type="checkbox" name="separateRP" value="1" ><br/>

<input type=’submit’ value=’Set Extra Event Configuration’/></center></form>

This displays as:

Error Responses:

No error message.

Separate Read Points in Combined Groups Set Extra Event Configuration

RFID Readers, Software Interface Control Guide3-58

Command: emitFilterListThe emitFilterList command is used to retrieve the event filter list.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitFilterList&filter=2&default=Area

Successful Response:

<option selected>Area</option><option>Portal</option>

Error Responses:

34 – Missing argument for the command

36 – Unknown operator

Table 3-33. emitFilterList Parameters

Parameter Name Attribute Type Default Description

Filter Required int Filter option: =0, NOFILTER =1, ZONEFILTER =2, CLASSFILTER =3, READPOINTFILTER =4, XZONEFILTER =5, XCLASSFILTER =6, XREADPOINTFILTER

Default Required String Selected filter name, can be “”

HTTP Interface 3-59

Command: emitFirmwareLinkInterfaceThe emitFirmwareLinkInterface command is used to retrieve the HTML formatted configuration download form.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitFirmwareLinkInterface

Successful Response:

<form method="GET" action="/cgi-bin/coreProxy" >

<input TYPE="hidden" NAME="oper" VALUE="firmwareLink">

<p align="center"><center>

<table border="0">

<tr><td colspan="2" align="center">download a new configuration through FTP</td></tr>

<tr><td align="right">FTP Link</td>

<td align="left"><input type="text" name="link" size="52" value="ftp://192.168.127.5/pub/advReaderConfig.xml"></td></tr>

<tr><td align="right">FTP User Name</td><td align="left"><input type="text" name="user" size="32" value="anonymous"></td></tr>

<tr><td align="right">FTP Password</td><td align="left"><input type="password" name="pswd" size="32" value="password"></td></tr>

</table>

<input type="submit" value="Download New Firmware"></p></center> </form>

This displays as:

Bottom of Form

Error Responses:

No error message.

You can download a new configuration through FTP FTP Link f tp://192.168.127.5/pub/advReaderConfig.xml

FTP User Name anonymous FTP Password ********

Dow nload New Firmw are

RFID Readers, Software Interface Control Guide3-60

Command: emitGlobalFilterListThe emitGlobalFilterList command retrieves a list of the global filters. This is a post filter; the selections are ALL, only EPC tags and only IATA filter. The tags are reported based on this filter.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitGlobalFilterList

Successful Response:

<form action="/cgi-bin/consoleProxy" method="GET">

<input type="hidden" name="oper" value="setGlobalFilter">

<strong>All Tags</strong><input type="radio" name="globalfilter" value="0" checked>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>EPC Only</strong><input type="radio" name="globalfilter" value="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>IATA Only</strong><input type="radio" name="globalfilter" value="2"><br>

<input type="submit" value="Set Global Filter">

</form><hr>

Bottom of Form

Error Responses:

No error message.

All Tags EPC Only IATA Only Set Global Filter

HTTP Interface 3-61

Command: emitHostsThe emitHosts command retrieves a list of the trusted hosts.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitHosts

Successful Response:

<option>127.0.0.1</option><option>157.235.88.100</option><option>157.235.88.32</option><option>157.235.88.70</option><option>157.235.88.87</option>

Error Responses:

No error message.

RFID Readers, Software Interface Control Guide3-62

Command: emitMemUsageThe emitMemUsage command is used to retrieve the memory usage status.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitMemUsage

Successful Response:

<?xml version=’1.0’?>

<Matrics><Data name="RAMUsed" value="9687040" />

<Data name="RAMfree" value="14274560" />

<Data name="RAMtotal" value="23961600" />

</Matrics>

Error Responses:

No error message.

HTTP Interface 3-63

Command: emitPollingButtonThe emitPollingButton command is used to retrieve the polling button status

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitPollingButton

Successful Response:

<font size="3"><strong>Polling state: Enabled from web<br>

<input type="hidden" name="onOff" value="0">

<input type="submit" value="Disable Polling"><br>

<br>Reader is polling</strong></font><br>

Error Responses:

No error message.

RFID Readers, Software Interface Control Guide3-64

Command: emitReadPointClassListThe emitReadPointClassList command is used to retrieve the list of all read point classes. If the class argument is included, then the response class will reflect the selected attribute.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitReadPointClassList

Successful Response:

<option>Area</option><option selected>Portal</option>

Error Responses:

No error message.

Table 3-34. emitReadPointClassList Parameters

Parameter Name Attribute Type Default Description

class Optional String Selected read point class

HTTP Interface 3-65

Command: emitReadPointZoneListThe emitReadPointZoneList command is used to retrieve the read point zone list.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitReadPointZoneList

Successful Response:

<option>Default</option>

Error Responses:

No error message.

Table 3-35. emitReadPointZoneList Parameters

Parameter Name Attribute Type Default Description

zone Optional String Selected read point zone name

RFID Readers, Software Interface Control Guide3-66

Command: emitRegionBandInfoThe emitRegionBandInfo command is used to retrieve the list of frequencies available for use in the selected region.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitRegionBandInfo

Successful Response:

<select name="region"><option value=7 selected>Multi-Channel</option><option value=48>865.7 MHz</option><option value=49>865.9 MHz</option><option value=50>866.1 MHz</option><option value=51>866.3 MHz</option><option value=52>866.5 MHz</option><option value=53>866.7 MHz</option><option value=54>866.9 MHz</option><option value=55>867.1 MHz</option><option value=56>867.3 MHz</option><option value=57>867.5 MHz</option></select>

Error Responses:

<select name="region" disabled>

<option value="Not Set" selected>Select Frequency</option>

</select>

HTTP Interface 3-67

Command: emitRegionInfoThe emitRegionInfo command retrieves the hardware supported country list, modified by the RegionCrypt file.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitRegionInfo

Successful Response:

<select name="regionCountry"><option value=’Czech Republic’>Czech Republic</option><option value=’Denmark’>Denmark</option><option value=’Finland’>Finland</option><option value=’Germany’ selected>Germany</option><option value=’Iceland’>Iceland</option><option value=’Malta’>Malta</option><option value=’Poland’>Poland</option><option value=’Switzerland’>Switzerland</option><option value=’United Kingdom’>United Kingdom</option></select>

Error Responses:

<select name="regionCountry"><option value="Not Set" selected>Select Country</option>

</select>

RFID Readers, Software Interface Control Guide3-68

Command: emitRegionScanModeInfoThe emitRegionScanModeInfo command retrieves the scan mode parameters. These parameters include the frequencies available in the selected country and sync-mode setting. The response message is in HTML format. This command is valid only for readers which support scan mode.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitRegionScanModeInfo

Successful Response:

<tr><td align="right" width="50%"><input type="checkbox" name="f0" checked value="1"></td><td align="left">865.7 MHz</td></tr><tr><td align="right" width="50%"><input type="checkbox" name="f1" value="1"></td><td align="left">865.9 MHz</td></tr><tr><td align="right" width="50%"><input type="checkbox" name="f2" value="1"></td><td align="left">866.1 MHz</td></tr><tr><td align="right" width="50%"><input type="checkbox" name="f3" value="1"></td><td align="left">866.3 MHz</td></tr><tr><td align="right" width="50%"><input type="checkbox" name="f4" value="1"></td><td align="left">866.5 MHz</td></tr><tr><td align="right" width="50%"><input type="checkbox" name="f5" value="1"></td><td align="left">866.7 MHz</td></tr><tr><td align="right" width="50%"><input type="checkbox" name="f6" value="1"></td><td align="left">866.9 MHz</td></tr><tr><td align="right" width="50%"><input type="checkbox" name="f7" value="1"></td><td align="left">867.1 MHz</td></tr><tr><td align="right" width="50%"><input type="checkbox" name="f8" value="1"></td><td align="left">867.3 MHz</td></tr><tr><td align="right" width="50%"><input type="checkbox" name="f9" value="1"></td><td align="left">867.5 MHz</td></tr> <tr><td align="right" width="50%">Enable Sync Mode</td><td align="left"><input type="checkbox" name="syncmode" checked value="1"></td></tr>

Error Responses:

No error message.

HTTP Interface 3-69

Command: emitSessionInfoThe emitSessionInfo command retrieves the user name, access level, host IP address and login time of the user currently logged in.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitSessionInfo

Successful Response:

<table border="0"><tr><td><p align="center"><strong>Current Active Session Information</strong></p></td></tr><tr><td><table border="1" cellspacing=0><tr><td><p align="center"><strong>User</strong></p></td><td><p align="center"><strong>Access</strong></p></td><td><p align="center"><strong>Host IP</strong></p></td><td><p align="center"><strong>Login Time</strong></p></td></tr><tr><td><p align="center">admin</p></td><td><p align="center">Maintenance</p></td><td><p align="center">157.235.207.104</p></td><td><p align="center">Mon Apr 02 02:43:43 2007</p></td></tr></table></td></tr></table>

Error Responses:

No error message.

Current Active Session Information

User Access Host IP Login Time admin Maintenance 157.235.207.104 Mon Apr 02 02:43:43 2007 Error Responses:

RFID Readers, Software Interface Control Guide3-70

Command: emitSysLogThe emitSysLog command is used to retrieve the system log messages. The last 200 messages are saved and are returned by this command.

Parameters:

No Argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitSysLog

Successful Response:

Tue Aug 15 10:30:28 2006: I-Server is ready. c:\workspace\xr400\software\src\netserv.cpp at 130

Tue Aug 15 10:30:28 2006: I-DSPControlTask: Clean up our receive queue

Tue Aug 15 10:30:28 2006: I-No host link to ping. c:\workspace\xr400\software\src\hostproxy.cpp at 164

Tue Aug 15 10:30:28 2006: I-Network detection disabled. c:\workspace\xr400\software\src\hostproxy.cpp at 169

Tue Aug 15 10:30:28 2006: I-DSPControlTask: attempt(1) to send parameters. L:777

Tue Aug 15 10:30:28 2006: I-DSPControlTask: Autonomous mode set off

Tue Aug 15 10:30:29 2006: I-DSPControlTask: Queueing set DSP GPIO OFF

Tue Aug 15 10:30:29 2006: I-DSPControlTask: Autonomous mode set on

Tue Aug 15 10:30:29 2006: I-Received duplicate response packet from DSP, cmd=0x300

Tue Aug 15 10:30:29 2006: I-Clearing DSP GPIO MODE on FPGA

Error Responses:

No error message.

HTTP Interface 3-71

Command: emitTagFilterHtmlInterfaceThe emitTagFilterHtmlInterface command is used to retrieve the tag filter rules list. This command response is HTML format.

Parameters:

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitTagFilterHtmlInterface&name=filter1

Successful Response:

<form action="/cgi-bin/coreProxy" method="GET"><input type="hidden" name="wiz" value=""><input type="hidden" name="oper" value="changeTagFilter"><input type="hidden" name="name" value="filter1"><center><table><tr align=center><td>Name:</td><td>filter1</td></tr></table></center><center><table><tr align=center><td>Selected Rules<br><select name=usedRules size=10 multiple><option>rule00[M+]</option></select></td><td valign=center><input type=submit name=dir value="<<"><br><input type=submit name=dir value=">>"><br></td><td>Available Rules<br><select name=rules size=10 multiple></select></td></tr></table></center><center><input type=submit value="Add/Modify Tag Filter"><br><input type=submit name=del value="Delete Tag Filter"><br></center></form>

Error Responses:

No error message.

This displays as:

Table 3-36.

Parameter Name Attribute Type Default Description

name Required String Tag filter name

Name: filter1Selected Rules

<<

>>

Available Rulesrule00[M+]

Add/Modify Tag Filter

Delete Tag Filter

RFID Readers, Software Interface Control Guide3-72

Command: emitTagFilterListThe emitTagFilterList command is used to retrieve the tag filter list.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitTagFilterList&default=filter1

Successful Response:

<option>ALL</option><option selected>filter1</option>

Error Responses:

No error message.

Table 3-37. emitTagFilterList Parameters

Parameter Name Attribute Type Default Description

default Optional String 0 Filter that is selected in displayed list

HTTP Interface 3-73

Command: emitTagFilterRuleHtmlInterfaceThe emitTagFilterRuleHtmlInterface command is used to retrieve the HTML formatted tag filter rule. The display shows each bit of the tag. Use the radio buttons to set the bit to 1, 0 or do not care (either 1 or 0 is accepted). The sample response shows a typical bit. That code is repeated for all 64 or 96 bits in the tag mask. If select is set to 1; the name must be an existing tag filter rule name and the response contains the current values of the rule. If select is set to 0; the name is ignored and the bits are all set to do not care.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitTagFilterRuleHtmlInterface&name=rule2&select=1

Successful Response:

<table border="0" align="center"><tr><td align="center" valign=top><form method=get action="/cgi-bin/coreProxy"><input type="hidden" name="oper" value="addMaskAdvTagFilterRule"><input type="hidden" name="format" value="32"><center><strong>Filter Rule Name:</strong><input type=text name=name maxlength=32 value="rule2"><input type="hidden" name="oldName" value=""><br><br><strong>Filter Type:</strong>&nbsp;&nbsp;&nbsp;Match<input type="radio" name="match" value="1" checked>&nbsp;&nbsp;&nbsp;Exclude<input type="radio" name="match" value="0"></center><br><table border="0" cellpadding="0" cellspacing="0"><tr><td align="center" colspan="2"><strong>Filter Pattern</strong></td></tr><tr><td>&nbsp</td><td nowrap><strong>Tag ID Length</strong><input type="text" size="3" maxlength="3" name="tagLen" value="16">(words; 0 means allow any length tag)</td></tr><tr><td>&nbsp</td><td nowrap><strong>Memory Bank</strong><select name="memBank"><option value=0>Reserved</option><option selected value=1>Tag ID</option><option value=2>TID</option><option value=3>User</option></select>&nbsp;&nbsp;<strong>Start Bit</strong><input type="text" size="3" maxlength="3" name="start" value="32"></tr><tr><td align="right"><strong>FilterData</strong></td><td><input type="text" size="66" maxlength="68" name="tagData" value="1234" STYLE="font-family: Courier, monospace"></td></tr><tr><td align="right"><strong>FilterMask</strong></td><td><input type="text" size="66" maxlength="68" name="tagMask" value="FFFF" STYLE="font-family: Courier, monospace"></td></tr><tr></table></br><input type="submit" name=addRule value="Add/Modify Tag Filter Rule"><br><input type="submit" name="delRule" value="Delete Tag Filter Rule"></center>

Table 3-38. emitTagFilterRuleHtmlInterface Parameters

Parameter Name Attribute Type Default Description

name Optional String Filter rule name

select Optional int 0 =1, rule selected (return the named rule)

RFID Readers, Software Interface Control Guide3-74

This displays as:

Bottom of Form

Error Responses:

43– Select an item from the list

102 – Cannot find the specified tag filter rule

Filter Rule Name: rule2

Filter Type: Match Exclude

Filter Pattern Tag ID Length 16 (words; 0 means allow any length tag)

Memory Bank Tag ID Start Bit 32 FilterData 1234

FilterMask FFFF

Add/Modify Tag Filter Rule

Delete Tag Filter Rule

HTTP Interface 3-75

Command: emitTagFilterRuleListThe emitTagFilterRuleList command is used to retrieve the tag filter rule list. Since only mask tag filters are currently supported, the letter in brackets ([M+] below) is always ‘M’. The sign character is ‘+’ for inclusive filters, ‘-‘ for exclusive.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitTagFilterRuleList&default=rule1

Successful Response:

<option selected>rule1[M+]</option>

Error Responses:

No error message.

Table 3-39. emitTagFilterRuleList Parameters

Parameter Name Attribute Type Default Description

default Optional String 0 Selected tag rule filter

RFID Readers, Software Interface Control Guide3-76

Command: emitTagModifyStatusThe emitTagModifyStatus command is used to retrieve the status of the tag write / lock operation.

Example:

http://157.235.88.67/ cgi-bin/coreProxy?oper=emitTagModifyStatus&cmdId=0

Successful Response:

<table border=’1’ cellpadding=’0’ cellspacing=’0’ align=’center’><tr><td><strong>Operation</strong></td><td><strong>Modify Status</strong></td><td><strong>Success</strong></td><td><strong>Failed</strong></td><td><strong>Total</strong></td></tr><tr><td><strong>Lock/Unlock</strong></td><td><strong>Complete </strong></td><td align=’center’>0</td><td align=’center’>0</td><td align=’center’>0</td></tr></table>

This displays as:

Error Responses:

No error message.

Table 3-40. emitTagModifyStatus Parameters

Parameter Name Attribute Type Default Description

cmdId Optional int 0 Selected operation 0, Write 1,Lock 2,Kill 3, Yellow Stone read lock The lock status is displayed along with write status if Lock is performed along with write.

Operation Modify StatusSuccess Failed TotalLock/UnlockComplete 0 0 0

HTTP Interface 3-77

Command: emitUsersThe emitUsers command is used to retrieve the user account information, which lists user name suffixed with access level. (M) is a maintenance account, (E) is an edit account and no suffix is a view only account.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitUsers

Successful Response:

<option>admin(M)</option><option>user1</option><option>user2(E)</option>

Error Responses:

13 – DB open failed

RFID Readers, Software Interface Control Guide3-78

Command: emitVersionInfoThe emitVersionInfo command is used to retrieve the version information.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitVersionInfo

Successful Response:

<table border="0" cellpadding="0" cellspacing="0" ><tr> <td align="right" nowrap> <b>Main Application Version:</b></td> <td align="center" nowrap> &nbsp;</td> <td align="left" nowrap><b>202.5.0 </b></td></tr><tr> <td align="right" nowrap> DSP Version:</td> <td align="center" nowrap> &nbsp;</td> <td align="left" nowrap>2.4.1 </td></tr><tr> <td align="right" nowrap> DSP Loader Version:</td> <td align="center" nowrap> &nbsp;</td> <td align="left" nowrap>1.2.1 </td></tr><tr> <td align="right" nowrap> Monitor Version:</td> <td align="center" nowrap> &nbsp;</td> <td align="left" nowrap>3.0.0 </td></tr><tr> <td align="right" nowrap> OS Version:</td> <td align="center" nowrap> &nbsp;</td> <td align="left" nowrap>5.0.0 </td></tr><tr> <td align="right" nowrap> FPGA Version:</td> <td align="center" nowrap> &nbsp;</td> <td align="left" nowrap>3.0.0</td> </tr><tr> <td align="right" nowrap> Application Build Time:</td> <td align="center" nowrap> &nbsp;</td> <td align="left" nowrap>Aug 14 2006 11:47:15</td> </tr></table>

HTTP Interface 3-79

This displays as:

Error Responses:

No error message.

Main Application Version: 202.5.0

DSP Version: 2.4.1 DSP Loader Version: 1.2.1

Monitor Version: 3.0.0 OS Version: 5.0.0

FPGA Version: 3.0.0 Application Build Time: Aug 14 2006 11:47:15

RFID Readers, Software Interface Control Guide3-80

Command: enableAllDevicesThe enableAllDevices command is used to enable all devices of the given type.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=enableAllDevices&dev=readpoint

Successful Response:

0 – No error

Error Responses:

34 – Missing argument for the command

43 – Select an item from the list (see Description, above)

94 – View only user can not make configuration change

160- Could not enable

Table 3-41. enableAllDevices Parameters

Parameter Name Attribute Type Default Description

dev Required String Device type – one of:Reader

Readerport Readpoint

HTTP Interface 3-81

Command: enableDeviceThe enableDevice command is used to enable devices of the given type (named by the argument name).

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=enableDevice&dev=readpoint&name=Read Point 1-1-1-1-1&name=Read Point 1-1-1-2-1

Successful Response:

0 – No error

Error Responses:

19 – Invalid Name

27 – Cannot find the specified Reader

34 – Missing argument for the command

43 – Select an item from the list (see description, above)

49 – Cannot find the specified Read Point

60 – Cannot find the specified Reader Port

94 – View only user can not make configuration change

160 - Could not enable

Table 3-42. enableDevice Parameters

Parameter Name Attribute Type Default Description

dev Required String Device type – one of: Reader

Readerport Readpoint Degradedreadpoint

name Required String vector One or more device names, see example.

RFID Readers, Software Interface Control Guide3-82

Command: firmwareLinkThe firmwareLink command is used to retrieve the file from ftp server.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=firmwareLink&link=ftp://157.235.88.236/pub/XR400/TestRelease/Rev_2_4_0/Response.txt&user=anonymous&pswd=A

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

34 - Missing argument for the command

46 – The host link is not valid

100 – This action needs maintenance user privilege

113 – Files or Path do not exist or are inaccessible or incorrect username/password

Table 3-43. firmwareLink Parameters

Parameter Name Attribute Type Default Description

link Required String FTP link for downloading file

user Required String User name for access the ftp server

pswd Required String Password for access the ftp server

HTTP Interface 3-83

Command: getDateTimeThe getDateTime command is used to retrieve the reader date and time.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=getDateTime

Successful Response:

Fri Aug 04 15:39:24 2006

Error Responses:

No error conditions.

RFID Readers, Software Interface Control Guide3-84

Command: getDateTimeHtmlInterfaceThe getDateTimeHtmlInterface command is used to retrieve the HTML formatted reader date and time.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=getDateTimeHtmlInterface

Successful Response:

<form action="/cgi-bin/consoleProxy" method="GET"><input type="hidden" name="oper" value="setDateTimeHtml"><center><table><tr align="center"><td>Year</td><td>Month</td><td>Day</td><td>Hour</td><td>Minute</td><td>Second</td></tr><tr align="center"><td><select name=year size=1><option>2004</option><option>2005</option><option selected>2006</option>

[etc]</select></td><td><select name=mon size=1><option selected>1</option><option>2</option><option>3</option><option>4</option><option>5</option><option>6</option><option>7</option><option>8</option><option>9</option><option>10</option><option>11</option><option>12</option></select></td><td><select name=mday size=1><option selected>1</option><option>2</option><option>3</option>

[etc]</select></td><td><select name=hour size=1><option>0</option><option>1</option>

[etc]</select></td><td><select name=min size=1><option>0</option><option>1</option><option selected>2</option>

[etc]</select></td><td><select name=sec size=1><option>0</option><option>1</option>

[etc]</select></td></tr></table><input type="submit" value="Set Date and Time"></center></form>

This displays as:

Bottom of Form

Error Responses:

No error conditions.

Year Month Day Hour Minute Second

2005 1 1 3 0 31

Set Date and Time

HTTP Interface 3-85

Command: getVersionThe getVersion command is used to retrieve the software release version number.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=getVersion

Successful Response:

Provides the software release version information.

Error Responses:

No error message.

RFID Readers, Software Interface Control Guide3-86

Command: killTagThe killTag command is used to kill Class 0 and Gen2 tags. The full tag Id should be specified. The kill code can not be 0.

Parameters:

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=killTag&id=1111222233334D44455557777&killCode=12345678&antenna=a0

Successful Response:

META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL="<< "\">" If the operation in progress

If the operation is completed:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/ writeC1G2Page? action= killTag&id=1111222233334D44455557777&killCode=12345678&wstatus=2">

The status of the operation can be obtained by issuing the command:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitTagModifyStatus&cmdId=2

Error Responses:

12- Operation failed

106-Invalid RFID tag ID hexadecimal value

108-Invalid RFID tag kill code hexadecimal value

109-Invalid read point selection

111-Invalid command options

Table 3-44.

Parameter Name Attribute Type Default Description

id Optional hexadecimal Tag ID

killCode Optional hexadecimal Kill code used in kill operation is 6 or 8 characters, depends on air protocol.

antenna Required hexadecimal Read point, example: A0

HTTP Interface 3-87

Command: logControlThe logControl command is used to set log message flags to echo log messages to standard error and to write debug-level log messages to the system log. The standard error messaging saves to the system log must be set up correctly to use this commend.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=logControl&echo=1&debug=1

Successful Response:

The new values of echo and debug are returned, in the form: 1, 1

Error Responses:

No error message.

Table 3-45. logControl Parameters

Parameter Name Attribute Type Default Description

echo Optional int 0 =1, echo log messages to stderr

debug Optional int 0 =1, report debug log messages

RFID Readers, Software Interface Control Guide3-88

Command: loginThe login command is used to log in to the reader. For coreProxy commands, an active login is required before any other commands are processed, dataProxy commands do not require a login. This command also works if “coreProxy” is used instead of loginProxy.

Example:

http://157.235.88.67/cgi-bin/loginProxy?oper=login&name=admin&pswd=admin

Successful Response:

0 – noError

Error Responses:

13 – DB open failed

17 – An invalid user name and/or password was- Try again

Table 3-46. login Parameters

Parameter Name Attribute Type Default Description

name Required String User name

pswd Required String User password

HTTP Interface 3-89

Command: logoutThe logout command is used to log out from the reader. If there are uncommitted changes, log out will not be allowed until the changes are committed or discarded.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=logout

Successful Response:

0 – noError

Error Responses:

3006 – Configuration change(s) have not been saved

RFID Readers, Software Interface Control Guide3-90

Command: maintAccessThe maintAccess command is used to set user access level as maintenance.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=maintAccess&user=joe

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

13 - DB open failed

34 - Missing argument for the command

43 – Select an item from the list

57 – The user name is not correct

93 – Can not reduce access level for the "admin" user

94 – View only user can not make configuration change

101 – User does not have enough privilege for this action

Table 3-47. maintAccess Parameters

Parameter Name Attribute Type Default Description

user Required String User name

HTTP Interface 3-91

Command: modifyPswdThe modifyPswd command is used to change a user password. It launches a web page for the entries and can not be used with a non-browser connection. For a non-browser connection use cpswd .

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=modifyPswd&user=admin

Successful Response:

0 – noError

Error Responses:

13 – DB open failed

19 – Invalid Name

34 - Missing argument for the command

43 – Select an item from the list

94 – View only user can not make configuration change

101 – User does not have enough privilege for this action

Table 3-48. modifyPswd Parameters

Parameter Name Attribute Type Default Description

user Required String User name

RFID Readers, Software Interface Control Guide3-92

Command: modifyReadPointClassThe modifyReadPointClass command is used to modify a read point class interactively. It launches a web page for the entries and can not be used with a non-browser connection. For a non-browser connection use addReadPointClass.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=modifyReadPointClass&name=rpc1

Successful Response:

0 – noError

Error Responses:

26 – Cannot find the specified Read Point Class

34 - Missing argument for the command

43 – Select an item from the list

Table 3-49. modifyReadPointClass Parameters

Parameter Name Attribute Type Default Description

name Required String Name read point class

HTTP Interface 3-93

Command: modifyReadPointZoneThe modifyReadPointZone command is used to modify a read point zone interactively. It launches a web page for the entries and can not be used with a non-browser connection. For a non-browser connection use addReadPointZone.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=modifyReadPointZone&name=zone1

Successful Response:

0 – noError

Error Responses:

34 - Missing argument for the command

43 – Select an item from the list

67 – Cannot find the specified read point zone

68 – Cannot modify default zone

Table 3-50. modifyReadPointZone Parameters

Parameter Name Attribute Type Default Description

name Required String Name of read point zone

RFID Readers, Software Interface Control Guide3-94

Command: modReaderThe modReader command is used to modify the reader configuration.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=modReader&oldname=Advanced Reader&name=Advanced Reader&app=255&ip=1

Successful Response:

0 – noError

Table 3-51. modReader Parameters

Parameter Name Attribute Type Default Description

oldname Required String Existing reader name

name Required String New reader name (can be same)

sn Optional String Serial Number

desc Optional String Description about reader

disable Optional int 0 =1, disable reader

ip Optional int 0 =1, MUST BE 1 (will go away next release)

payload Optional int 0 =1, read ID3 (user data) page on tags

app Optional int System application type listed bellow: =0, CONVEYOR_BELT=1, TWO_DOOR =2, FOUR_DOOR =5, TPP =255, GENERAL

motion Optional int 0 =1, enable motion detector

noLIB Optional int 0 =1, do not detect Motorola light indicator box

singlePort Optional int 0 =1, single port Tx/Rx mode (8 ports)

mtht Optional int Maximum token hold time MTHT (units of 5ms)

mtgt Optional int Maximum token gap time MTGT (units of 20ms)

mtlt Optional int Maximum token loop time MTLT (units of 100ms)

tpprt Optional int Token retention time TRT

tppbt Optional int Token bypass TBT

tppep Optional int Extra parameter TET

membank Optional int Indicates the memory bank which payload should be displayed along with the TAG ID =0, reserved =2, TID =3, user

start Optional int Offset of the payload to be displayed

count Optional int Length of the payload

HTTP Interface 3-95

Error Responses:

12 – Operation failed

23 – Not a legal IP address (1.0.0.0 - 255.255.255.255)

27 – Cannot find the specified reader

34 - Missing argument for the command

63 – Invalid Name

71 – Cannot reach the specified IP Address

80 – Description invalid

94 – View only user can not make configuration change

129 – TPP parameter out of range or invalid relationship (mtht<=mtgt<=mtlt)

RFID Readers, Software Interface Control Guide3-96

Command: modReadPointThe modReadPoint command is used to modify read point configuration.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=modReadPoint&oldname=Read Point 1-1-1-1-1&name=Read Point 1-1-1-1-1&desc=read point 1&attr=Area&zone=Default

Successful Response:

0 – noError

Error Responses:

19 – Invalid Name

34 - Missing argument for the command

39 – This Name has already been used

49 – Cannot find the specified read point

63 – Last command is still pending, try again later

80 – Description invalid

94 – View only user can not make configuration change

Table 3-52. modReadPoint Parameters

Parameter Name Attribute Type Default Description

oldname Required String Existing read point name

name Required String New read point name

desc Optional String Description of read point

attr Optional String Read point class name

zone Optional String Read point zone nam

disable Optional int 0 =1, disable this read point

HTTP Interface 3-97

Command: ntpConfigThe ntpConfig command is used to set SNTP server IP address. With no argument, any previous SNTP server address is deleted and no SNTP server is used. This command does require a commit to take effect.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=ntpConfig&server=129.6.15.28

Successful Response:

3008 – Operation was Successful

Error Responses:

23 – Not a legal IP address (1.0.0.0 - 255.255.255.255)

65 – Cannot find the specified host address

94 – View only user can not make configuration change

Table 3-53. ntpConfig Parameters

Parameter Name Attribute Type Default Description

server Optional String “” SNTP server IP address

RFID Readers, Software Interface Control Guide3-98

Command: OSUpdateThe OSUpdate command is used to update software from FTP server.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=OSUpdate&server= ftp://157.235.88.236/pub/XR400/TestRelease/Rev_2_4_0&user=anonymous&pswd=A&snmp=157.235.88.70

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

17 – An invalid user name and/or password was entered - Try again

23 – Not a legal IP address (1.0.0.0 - 255.255.255.255)

34 - Missing argument for the command

94 – View only user can not make configuration change

100 – This action needs maintenance user privilege

112 – Malformed FTP URL

113 – Files or Path do not exist or are inaccessible or incorrect username/password

131 – The requested release doesn’t support P30 flash based hardware

Table 3-54. OSUpdate Parameters

Parameter Name Attribute Type Default Description

server Required String FTP link for uploading firmware

user Optional String User name for access the ftp server

pswd Optional String Password for access the ftp server

snmp Optional String SNMP server to send notice message

HTTP Interface 3-99

Command: purgeTagsThe purgeTags command is used to purge database of tags (and optionally events) based on the arguments. If no arguments are pending, only the not-visible tags and the tags which have no events pending are purged. With clean=1, all tags are purged, but events are retained, including information on the tag referenced in the event. Userid and the threshold rule information are not retained with the clean=1 option. With events=1, all events are deleted as well. This function is intended for testing purposes only. Setting events=1 produces the same result as setting clean=1.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=purgeTags&clean=1&events=1

Successful Response:

3008 – Operation was successful

Error Responses:

No error responses.

Table 3-55. purgeTags Parameters

Parameter Name Attribute Type Default Description

clean Optional int 0 =1, purge ALL tags, not just not-visible ones

events Optional int 0 =1, also purge event database

RFID Readers, Software Interface Control Guide3-100

Command: queryNumTagsThe queryNumTags command retrieves the total number of tags in the reader tag database.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=queryNumTags

Successful Response:

Number of tags in database (as a decimal integer). For example:

27

Error Responses:

No error message.

HTTP Interface 3-101

Command: queryTagThe queryTag command is used to query the status of a specific tag.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=queryTag&raw=300833B2DDD9014035050000

Successful Responses:

<center>Tag 300833B2DDD9014035050000 is visible to the following Read Point(s)<br/>Read Point 1-1-1-1-1<br/></center>- or -

<center>Tag 300833B2DDD9014035050000 is not currently visible to the system.</center>- or -

Tag 300833B2DDD9014035050000 is not known to the system

Error Responses:

34 – Missing argument for the command

Invalid tag Raw ID: 300833B2DDD90140

Table 3-56. queryTag Parameters

Parameter Name Attribute Type Default Description

raw Required hexadecimal Tag ID being queried

RFID Readers, Software Interface Control Guide3-102

Command: queryTagUidThe queryTagUid command is used to retrieve tag information from the reader database. With no arguments, the first 100 records are returned.

That records in the database are sorted first by length (64 bit tags before 96 bit tags), then by the raw tag ID field. A maximum of 100 tag records are returned. The optional millisecond time has an arbitrary zero point, it is useful only relative to other millisecond read times and only for one instance of the application, it is not maintained over reboot.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=queryTagUid

Successful Response:

<?xml version=’1.0’?><Matrics><EventGroup><TagList><Tag raw=’8900640046000000’ time=’40bf5fbf’/><Tag raw=’8900640146000000’/><Tag raw=’8900640246000000’ uid=’TestUid’/><Tag raw=’8900640346000000’/><Tag raw=’89006400460D0000’/><Tag raw=’8900640046500000’ uid=’TestUid2’/><Tag raw=’8900640046700000’/><Tag raw=’8900640046E00000’/><Tag raw=’8900640046000100’/><Tag raw=’8900640046000500’/><Tag raw=’8058010400200500’ time=’40bf5fc0’/><Tag raw=’8900640046000F00’/></TagList></EventGroup></Matrics>

Error Responses:

No error message.

Table 3-57. queryTagUid Parameters

Parameter Name Attribute Type Default Description

since Optional hexadecimal 0 Time in seconds since 00:00 1/1/70. Only tags seen after this time are returned

from Optional int 0 Record number in database to start report

to Optional int 100 Record number in database to end report

ascTime Optional int 0 =1, include ASCII formatted time (default is seconds since 00:00 1/1/70 in hex)

msec Optional int 0 =1, include milliseconds in the query result

HTTP Interface 3-103

Command: queryTagXmlThe queryTagXml command is used to query the status of a specific tag. It retrieves the same information as queryTag but it returns an XML document. If the tag is not visible, the attribute field known=’last’ is attached after raw tag string.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=queryTagXml&raw=300833B2DDD9014035050000

Successful Response:

<?xml version=’1.0’?><Matrics><QueryTagResult><Tag raw=’300833B2DDD9014035050000’ known=’last’><readpoint name=’Read Point 1-1-1-1-1’/></Tag></QueryTagResult></Matrics>

Error Responses:

34 – Missing argument for the command

Table 3-58. queryTagXml Parameters

Parameter Name Attribute Type Default Description

raw Required hexadecimal Tag ID being queried

RFID Readers, Software Interface Control Guide3-104

Command: quitThe quit command shuts down the HTTP server. After this command is run, it is not possible to send web browser or other HTTP commands to the reader. This is intended as a security measure.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=quit

Successful Response:

HTTP SERVER SHUTTING DOWN

Error Responses:

None

HTTP Interface 3-105

Command: readConfigFileThe readConfigFile command reads the configuration file and restores the configuration to the last committed version. Both the actively running “core” configuration as well as the uncommitted “console” configurations are restored. See discardConfigChange, which affects only the “console” configuration.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=readConfigFile

Successful Response:

3009 – Commit Finished - New Configuration Changes have been accepted

Error Responses:

12 – Operation failed

63 – Last command is still pending, try again later

94 – View only user can not make configuration change

Table 3-59. readConfigFile Parameters

Parameter Name Attribute Type Default Description

isInMaint Optional int 0 Only affects web display of menu

RFID Readers, Software Interface Control Guide3-106

Command: readLockTag The readLockTag command performs Yellow Stone tag read lock/unlock on the tag memory bank or other specified field.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=readLockTag&id=111122223333444455557777&accessPwd=&antenna=a0&YSLockOptions=0&ysmbuser=1&ysmbepc=1&sessionConfirm=1

Successful Response:

META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL="<< "\">" If the operation in progress

If the operation is completed:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/ writeC1G2Page? action=readLockTag&id=111122223333444455557777&accessPwd=&antenna=a0&YSLockOptions=0&ysmbuser=1&ysmbepc=1&sessionConfirm=1&wstatus=2">

The status of the operation can be obtained by issuing the command:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitTagModifyStatus&cmdId=3

Error Responses:

12 – Operation failed111 – Invalid command options249 - NoTagResponseError 170 - Read unlock cannot be performed without switching to session 0 135-Invalid RFID tag access password hexadecimal value109- Invalid read point selection

Table 3-60. readLockTag Parameters

Parameter Name Attribute Type Default Description

id Optional hexadecimal Tag ID

antenna Required hexadecimal Read point, example: A0

accessPwd Optional hexadecimal 00000000 Access password for Gen2 tags

YSLockOptions Optional int 0 =0, Unlock read the Memory Banks/ Fields Specified =1, Perm-Read Unlock the Memory Banks/ Fields, once this operation is performed the tags cannot be Read locked again =2., Read Lock the Memory Banks/ Fields Specified =3, Perm-Read Lock the Memory Banks/ Fields, once this operation is performed the tags cannot be unlocked again

ysmbepc Optional int 0 =1, Perform the operation mentioned YSLockOptions in EPC memory bank

ysmbuser Optional int 0 =1, Perform the operation mentioned YSLockOptions in user memory bank

ysmbkillpwd Optional int 0 =1, Perform the operation mentioned YSLockOptions in kill password

ysmbaccpwd Optional int 0 =1, Perform the operation mentioned YSLockOptions in access password

sessionConfirm Optional int 0 =1, Switching to Session 0 is allowed for Unlock and Perm-Read Unlock

HTTP Interface 3-107

Command: revertConfigFileThe revertConfigFile command is used to revert to the backup configuration file. Only the console configuration is changed. The actively running core configuration is unaffected. To transfer the backup settings to the running reader, perform a commit (by calling saveConfigFile).

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=revertConfigFile

Successful Response:

3002 – Revert Accepted - Configuration reverted to backup version

Error Responses:

63 – Last command is still pending, try again later

64 – Backup configuration file does not exist

94 – View only user can not make configuration change

Table 3-61. revertConfigFile Parameters

Parameter Name Attribute Type Default Description

isInMaint Optional int 0 Only affects web display of menu

RFID Readers, Software Interface Control Guide3-108

Command: saveConfigFileThe saveConfigFile command is used to commit changes to the configuration. The changes made by individual HTTP commands are first applied to a console configuration (displayed on the web interface). Refer to the emitxxx commands for more information. The commands do not affect the core configuration until they are committed (using this command).

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=saveConfigFile

Successful Response:

3009 – Commit Finished - New Configuration Changes have been accepted

3010 – Changes related to reader IP address will not take effect until reboot

Error Responses:

12 – Operation failed

63 – Last command is still pending, try again later

94 – View only user can not make configuration change

116 – No changes to commit

Table 3-62. saveConfigFile Parameters

Parameter Name Attribute Type Default Description

isInMaint Optional int 0 Only affects web display of menu

HTTP Interface 3-109

Command: selectReadPointZoneThe selectReadPointZone command is used to select tag readpoint zone. The command can also be used to modify or delete a zone. It launches a web page for the entries and can not be used with a non-browser connection.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=selectReadPointZone&name=f1

Successful Response:

0 – noError

Error Responses:

34 – Missing argument for the command

43 – Select an item from the list

67 – Cannot find the specified Read Point Zone

68 – Cannot modify Default zone

Table 3-63. selectReadPointZone Parameters

Parameter Name Attribute Type Default Description

name Required String Name of read point zone

RFID Readers, Software Interface Control Guide3-110

Command: selectTagFilterThe selectTagFilter command is used to select tag filter. The command is used to modify or delete a tag filter interactively. If successful, it brings up another web page for the remaining entries. For a non-browser connection use changeTagFilter or deleteTagFilter.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=selectTagFilter&name=f1

Successful Response:

0 – noError

Error Responses:

34 – Missing argument for the command

43 – Select an item from the list

73 – Cannot find the specified tag filter

74 – Cannot modify the "ALL" tag filter

Table 3-64. selectTagFilter Parameters

Parameter Name Attribute Type Default Description

name Required String Name of tag filter

HTTP Interface 3-111

Command: selectTagFilterRuleThe selectTagFilterRule command is used to select tag filter rule from rule list (in the course of modifying a tag filter rule). The command brings up the tag filter rule web page for the entries. It can not be used with a non-browser connection.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=selectTagFilterRule&rules=r1

Successful Response:

0 – noError

Error Responses:

34 – Missing argument for the command

43 – Select an item from the list

102 – Cannot find the specified tag filter rule

Table 3-65. selectTagFilterRule Parameters

Parameter Name Attribute Type Default Description

rules Required String Name of tag filter rule

RFID Readers, Software Interface Control Guide3-112

Command: setAdvancedConfigThe setAdvancedConfig command is used to set Q-Value properties for the tag access operation.

Example:

http://157.235.88.67/cgi-bin/consoleProxy?oper=setAdvancedConfig&qstatic=1&qstart=6&qmin=4&qmax=7 Successful Response:

0 – noError

Error Responses:

132 – Invalid parameter value

Table 3-66. setAdvancedConfig Parameters

Parameter Name Attribute Type Default Description

qstatic Optional int 0 =0, static queue =1, Dynamic queue

qstart Optional int 0 Start value of the queue, this should be between minimum and maximum.

qmin Optional int 0 Minimum value of the queue, is ignored for static Q

qmax Optional int 0 Maximum value of the queue, is ignored for static Q

HTTP Interface 3-113

Command: setAutoEnableThe setAutoEnable command is used to set auto enable period in minutes.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setAutoEnable&time=3

Successful Response:

0 – noError

Error Responses:

94 – View only user can not make configuration change

Table 3-67. setAutoEnable Parameters

Parameter Name Attribute Type Default Description

time Optional int 0 Auto enable period in minutes 0=disable auto enable

RFID Readers, Software Interface Control Guide3-114

Command: setDateTimeThe setDateTime command is used to set reader date and time

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setDateTime&input=080402302006.30

Successful Response:

<?xml version=’1.0’?><Matrics><Error code=’0’ msg=’1-Thu Aug 03 22:30:30 2006’/></Matrics>

Error Responses:

12 - Operation failed

34 - Missing argument for the command

Table 3-68. setDateTime Parameters

Parameter Name Attribute Type Default Description

input Required number Date and time format, MM:month; DD:day; hh:hour; mm:minute; ss:second; YY:year; CC:century. This command supports 6 formats. MMDDhhmm MMDDhhmm.ss MMDDhhmmYY MMDDhhmmYY.ss MMDDhhmmCCYYMMDDhhmmCCYY.ss

HTTP Interface 3-115

Command: setDateTimeHtmlThe setDateTimeHtml command is used to set reader date and time.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setDateTimeHtml&year=2006&mon=8&mday=4&hour=6&min=20&sec=10

Successful Response:

0 – No error

Error Responses:

12 – Operation failed

34 - Missing argument for the command

Table 3-69. setDateTimeHtml Parameters

Parameter Name Attribute Type Default Description

year Required int Year with format YY or CCYY

mon Optional int 0 (Jan) Month

mday Required int Day

hour Optional int 0 Hour

min Optional int 0 Minute

sec Optional int 0 Second

RFID Readers, Software Interface Control Guide3-116

Command: setDhcpThe setDhcp command is used to toggle DHCP setting.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setDhcp

Successful Response:

0 – noError

Error Responses:

94 – View only user can not make configuration change

HTTP Interface 3-117

Command: setExtraEventConfigThe setExtraEventConfig command is used to set reader to report combined read points separately.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setExtraEventConfig&separateRP=1

Successful Response:

0 – noError

Error Responses:

No error message.

Table 3-70. setExtraEventConfig Parameters

Parameter Name Attribute Type Default Description

separateRP Optional int 0 =1, report combined read points separately

RFID Readers, Software Interface Control Guide3-118

Command: setFilterThe setFilter command is used to enable an event filter. A filter name must be specified even if the filter option is NOFILTER.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setFilter&name=Threshold&filter=3&filtername=Only23

Successful Response:

0 – noError

Error Responses:

34 – Missing argument for the command

43 – Select an item from the list

47 – Cannot find the specified Event

48 – The option is not valid

94 – View only user can not make configuration change

Table 3-71. setFilter Parameters

Parameter Name Attribute Type Default Description

name Required String Event name listed bellow: New tag Tag not visible Visibility changed Threshold (Exception events cannot be filtered)

filter Required int filter option listed bellow: =0, NOFILTER =1, ZONEFILTER =2, CLASSFILTER =3, READPOINTFILTER =4, XZONEFILTER =5, XCLASSFILTER =6, XREADPOINTFILTER

filtername Optional String Event filter name

HTTP Interface 3-119

Command: setFilterOptionThe setFilterOption command is used to select an event filter option (such as ZONEFILTER) from an option list (in the course of modifying an event filter). The command brings up the event filter list. It should not be used in a non-browser connection.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setFilterOption&name=Visibility Changed&option=1

Successful Response:

0 – noError

Error Responses:

34 – Missing argument for the command

47 – Cannot find the specified Event

48 – The option is not valid

94 – View only user can not make configuration change

Table 3-72. setFilterOption Parameters

Parameter Name Attribute Type Default Description

name Required String Event name listed bellow: New tag Tag not visible Visibility changed Threshold (exception events cannot be filtered)

option Required int Filter option listed bellow: =0, NOFILTER =1, ZONEFILTER =2, CLASSFILTER =3, READPOINTFILTER =4, XZONEFILTER =5, XCLASSFILTER =6, XREADPOINTFILTER

RFID Readers, Software Interface Control Guide3-120

Command: setGlobalFilterThe setGlobalFilter command is used to set the IP address of the host to receive event notifications. If no host is specified, no notifications are sent.

Example:

http://157.235.88.67/cgi-bin/consoleProxy?oper=setGlobalFilter&globalfilter=0

Successful Response:

0 – noError

Error Responses:

48 – The option is not valid

Table 3-73. setGlobalFilter Parameters

Parameter Name Attribute Type Default Description

globalfilter Required int 0 =0, Encode all Tag =1, Encode only EPC id =2,Encode only IATA

HTTP Interface 3-121

Command: setHostLinkThe setHostLink command is used to set the host IP address to receive event notifications. If no host is specified, notifications are not sent.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper= setHostLink&link=157.235.88.70

Successful Response:

0 – noError

Error Responses:

13 – DB open failed

14 – DB put failed

46 – The host link is not valid

94 – View only user can not make configuration change

125 – Nothing was changed

Table 3-74. setHostLink Parameters

Parameter Name Attribute Type Default Description

link Optional String “” IP address of host

RFID Readers, Software Interface Control Guide3-122

Command: setLightIndicatorThe setLightIndicator command is used to set the light state. The string arguments must have the value set to on or off. If the value is set to off, the time out is ignored, the specified light is turned off. If the value is set to on, the light is turned on immediately and is turned off after the specified time. If the specified time out is 0 (or if no time out is specified), the light remains on indefinitely. If an error occurs, it is possible that some of the specified actions may have been completed and others have not been completed.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setLightIndicator&lred=on&lrto=10

Successful Response:

3008 – Operation was Successful

Error Responses:

111 – Invalid command options

Table 3-75. setLightIndicator Parameters

Parameter Name Attribute Type Default Description

lred Optional String Left red light. Values: on, off

lrto Optional int 0 Left red light time out, 100s of milliseconds

lgreen Optional String Left green light. Values: on, off

lgto Optional int 0 Left green light time out, 100s of milliseconds

rred Optional String Right red light. Values: on, off

rrto Optional int 0 Right red light time out, 100s of milliseconds

rgreen Optional String Right green light. Values: on, off

rgto Optional int 0 Right green light time out, 100s of milliseconds

ryellow Optional String Right yellow light. Values: on, off

ryto Optional int 0 Right yellow light time out, 100s of milliseconds

lyellow Optional String Left yellow light. Values: on, off

lyto Optional int 0 Left yellow light time out, 100s of milliseconds

HTTP Interface 3-123

Command: setNotifyOptionThe setNotifyOption command is used to set event notification options.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setNotifyOption&name=Exception&option=2&mod=2

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

34 – Missing argument for the command

47 – Cannot find the specified event

48 – The option is not valid

94 – View only user can not make configuration change

115 – Moderated time out cannot be 0

Table 3-76. setNotifyOption Parameters

Parameter Name Attribute Type Default Description

name Required String One of event names listed below: New tag Tag not visible Visibility changed Threshold Exception

option Required int Notice option =0, never =1, immediate =2, moderate

mod Optional int 8 The number of seconds to moderate

RFID Readers, Software Interface Control Guide3-124

Command: setRegionThe setRegion command is used to set the region frequency band. The country of operation must be set first.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setRegion&region=8

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

34 - Missing argument for the command

100 – This action needs maintenance user privilege

Table 3-77. setRegion Parameters

Parameter Name Attribute Type Default Description

region Required int Region band ID

HTTP Interface 3-125

Command: setRegionCountryThe setRegionCountry command is used to set reader country. For a list of supported countries, see Countries Supported on page 1-3 .

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setRegionCountry&regionCountry= Austria

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

34 - Missing argument for the command

100 – This action needs maintenance user privilege

Table 3-78. setRegionCountry Parameters

Parameter Name Attribute Type Default Description

regionCountry Required String Country name where reader is running

RFID Readers, Software Interface Control Guide3-126

Command: setRegionScanModeFreqThe setRegionScanModeFreq command is used to select frequencies when using scan mode. The parameters are of the form fN, where N is an integer, in principle from 0 to 63. N is the index into the scan mode frequency array, as displayed on the Region Control page. Currently, the EU frequencies are; f0 = 865.7 MHz, f1 = 865.9 MHz, etc. in steps of 0.2 MHz, to f9 = 867.5 MHz. At least one frequency must be selected.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setRegionScanModeFreq&f2=1&f3=1&syncmode=1

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

100 – This action needs maintenance user privilege

120 – Specify at least one frequency

Table 3-79. setRegionScanModeFreq Parameters

Parameter Name Attribute Type Default Description

f0 Optional int 0 =1, include 0th frequency in scan

……

f63 Optional int 0 =1, include 63rd frequency in scan

syncmode Optional int 0 =1, enable sync mode

HTTP Interface 3-127

Command: setSnmpThe setSnmp command is used to set SNMP related parameters. If no host is specified, no SNMP traps are sent.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setSnmp&host=157.235.88.70&version=2community=public

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

34 – Missing argument for the command

78 – The SNMP host link is not valid

79 – Invalid SNMP version number

94 – View only user can not make configuration change

Table 3-80. setSnmp Parameters

Parameter Name Attribute Type Default Description

host Optional String “” Host IP address to which reader send SNMP trap

version Required int =1, version 1 =2, version 2c

heartbeat Optional int 0 =1, send heartbeat

community Optional String SNMP community string

RFID Readers, Software Interface Control Guide3-128

Command: setTcpThe setTcp command is used to configure TCP/IP communication parameters with DHCP disabled.

That the reader uses default values for some of these parameters – for example, the HTTP port defaults to 80 – but if a setTcp command is issued without setting these values, they are reset to 0.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setTcp&ip=192.168.1.2&mask=255.255.0.0&gateway=192.168.1.1&dns=192.168.1.232&port=3000&httpPort=80&httpActive=1&ftpActive=1&mcIp=134.1.1.2& mcPort=4001

Successful Response:

0 – noError

Error Responses:

23 – Not a legal IP address (1.0.0.0 - 255.255.255.255)

34 – Missing argument for the command

91 – Invalid network mask

94 – View only user can not make configuration change

130 – Invalid multicast address

132 – Invalid parameter value

Table 3-81. setTcp Parameters

Parameter Name Attribute Type Default Description

ip Required String Reader IP address

mask Required String Reader subnet mask

gateway Required String Default gateway IP address

dns Required String DNS server IP address

port Required int 0 TCP port for byte stream protocol

httpPort Required int 0 HTTP server port

httpActive Optional int 0 =1, http server active

telnetActive Optional int 0 =1, telnet server active

ftpActive Optional int 0 =1, ftp server active

tcpTimeout Optional int 0 TCP time out in minutes (0 means no time out)

mcIp Optional String “” Sync mode multicast IP – required in countries where sync mode is supported (EU)

mcPort Optional int 0 Sync mode multicast Port – required in countries where sync mode is supported (EU)

HTTP Interface 3-129

Command: setTcpWithDhcpThe setTcpWithDhcp command is used to configure TCP/IP communication parameters with DHCP enabled.

That the reader uses default values for some of these parameters – for example, the HTTP port defaults to 80 – but if a setTcpWithDhcp command is issued without setting these values, they are reset to 0.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setTcpWithDhcp&ip=192.168.1.2&mask=255.255.0.0&gateway=192.168.1.1&dns=192.168.1.232&port=3000&httpPort=80&httpActive=1&ftpActive=1&mcIp=134.1.1.2& mcPort=4001

Successful Response:

0 – noError

Error Responses:

94 – View only user can not make configuration change

130 – Invalid multicast address

132 – Invalid parameter value

Table 3-82. setTcpWithDhcp Parameters

Parameter Name Attribute Type Default Description

port Required int 0 TCP port for byte stream protocol

httpPort Required int 0 HTTP server port

httpActive Optional int 0 =1, http server active

telnetActive Optional int 0 =1, telnet server active

ftpActive Optional int 0 =1, ftp server active

tcpTimeout Optional int 0 TCP time out in minutes (0 means no time out)

mcIp Optional String “” Sync mode multicast IP – required in countries where sync mode is supported (EU)

mcPort Optional int 0 Sync mode multicast Port – required in countries where sync mode is supported (EU)

RFID Readers, Software Interface Control Guide3-130

Command: setTestParamThe setTestParam command is currently not implemented.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setTestParam&index=1&value=4

Successful Response:

3008 – Operation was Successful

Error Responses:

12 – Operation failed

34 – Missing argument for the command

Table 3-83. setTestParam Parameters

Parameter Name Attribute Type Default Description

index Required int Index of the test parameter < 8

value Optional int 0 Value of the test parameter < 256

HTTP Interface 3-131

Command: setTimeZoneThe setTimeZone command is used to set the local time zone. The index uses the array of time zones maintained in the WinCE registry and displayed on the reader System Time Management web page. Currently, US Eastern Time is 12, Pacific Time is 4, GMT (Greenwich Mean Time) is 25. Daylight Savings Time is used depending on the selected time zone, the current date and the OS daylight savings time settings for the time zone.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=setTimeZone&timezone=12

Successful Response:

0 – noError

Error Responses:

34 – Missing argument for the command

94 – View only user can not make configuration change

Table 3-84. setTimeZone Parameters

Parameter Name Attribute Type Default Description

timezone Required int Index of time zone in registry

RFID Readers, Software Interface Control Guide3-132

Command: shutdownThe shutdown command is used to shutdown advReaderServer, optionally rebooting Win CE.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=shutdown&confirm=1&choice=1

Successful Response:

3008 – Operation was Successful

Error Responses:

43 – Select an item from the list

88 – The action must be confirmed

94 – View only user can not make configuration change

Table 3-85. shutdown Parameters

Parameter Name Attribute Type Default Description

confirm Required int 0 =1, confirms user understanding that reading tags will stop.

choice Required int =1, reboot; =2, shutdown advReaderServer.

HTTP Interface 3-133

Command: startPollingThe startPolling command is used to enable/disable polling (autonomous reads).

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=startPolling&onOff=1

Successful Response:

3004 – Command accepted - Polling is enabled

3005 – Command accepted - Polling is disabled

Error Responses:

94 – View only user can not make configuration change

126 – Polling state set - but unable to start/stop polling

127 – Polling state set - but region not completely specified

128 – Polling state set - but reader is disabled

Table 3-86. startPolling Parameters

Parameter Name Attribute Type Default Description

onOff Optional int 0 =1, enable polling

notifyType Optional int 0 =0,notify =1,events =2,tags

Imp: This Parameter is applicable only in the polling were to be Enabled over HOB (HTTP Over Byte stream).

RFID Readers, Software Interface Control Guide3-134

Command: tagAntennaConfigThe tagAntennaConfig command is used to set the tag antenna configuration (specified in the id). The command is valid only for Motorola Yellowstone tags.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=tagAntennaConfig&id=111122223333444455557777&accessPwd=12345678&antenna=a0&backscatter=0

Successful Response:

META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL="<< "\">" If the operation in progress

If the operation is completed:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/ writeC1G2Page? action=tagAntennaConfig&id=111122223333444455557777&accessPwd=12345678&antenna=a0&backscatter=0&wstatus=2">

The status of the operation can be obtained by issuing the command:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitTagModifyStatus&cmdId=0

Error Responses:

12-Operation failed

109 - Invalid read point selection

111- Invalid command options

135-Invalid RFID tag access password hexadecimal value

Table 3-87. tagAntennaConfig Parameters

Parameter Name Attribute Type Default Description

id Optional hexadecimal Tag ID

antenna Required hexadecimal Read point, example: A0

accessPwd Optional hexadecimal 00000000 Access password for Gen2 tags

backscatter Optional int 0 =0, antenna [A]min antenna [B]min =1, antenna [A]medium antenna [B]medium =2, antenna [A]max antenna [B]max =3, antenna [A]min antenna [B]off =4, antenna [A]off antenna [B]min =5, antenna [A]medium antenna [B] ff =6, antenna [A]off antenna [B]medium =7, antenna [A]max antenna [B]off =8, antenna [A]off antenna [B]max

HTTP Interface 3-135

Command: toggleScanModeThe toggleScanMode command is used to enable/disable scan mode. It is valid only when the country selected in setRegionCountry supports the feature.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=toggleScanMode

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

RFID Readers, Software Interface Control Guide3-136

Command: viewAccessThe viewAccess command is used to set the access level for the specified user as, view only.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=viewAccess&user= joe

Successful Response:

0 – noError

Error Responses:

12 – Operation failed

13 - DB open failed

43 – Select an item from the list

57 – The user name is not correct

93 – Can not reduce access level for the "admin" user

94 – View only user can not make configuration change

101 – User does not have enough privilege for this action

Table 3-88. viewAccess Parameters

Parameter Name Attribute Type Default Description

user Required String User name

HTTP Interface 3-137

Command: watchdogThe watchdog command is used to toggle the watchdog; enable/disable.

Parameters:

No argument for this command.

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=watchdog

Successful Response:

3008 – Operation was Successful

Error Responses:

94 – View only user can not make configuration change

RFID Readers, Software Interface Control Guide3-138

Command: writeLockTagThe writeLockTag command writes and locks a tag with new values in the memory bank (or the field specified). The tag ID field is then written to the tag. This command is capable of performing the specified operation on both Class0 and Gen2 tags (depending on the reader support).

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=writeLockTag&id=&accessPwd=00000000&antenna=a0&enablewrite=1&start=0&writeopt=16&data=111122223333444455556666&lockstatus=0&lockid=1&lockdata=1

Successful Response:

META HTTP-EQUIV=\"Refresh\" CONTENT=\"2; URL="<< "\">" If the operation in progress

Table 3-89. writeLockTag Parameters

Parameter Name Attribute Type Default Description

id Optional hexadecimal Tag ID

antenna Required hexadecimal Read point, example: A0

accessPwd Optional hexadecimal 00000000 Access password for Gen2 tags

enablewrite Optional int 0 =1, write data to the bank/field specified

data Optional hexadecimal The data to be written in to Memory bank /Field

start Optional int 0 =1, start location of the Memory bank where the data to be written

writeopt Optional int 2 =1, the data is written to Reserved Bank =2, the data is written to EPC Bank =4, the data is written to TID Bank =8, * the data is written to User Bank =16, * tag Id is written, for gen2 tags the PC field is calculated from the data supplied =32*, kill password is written; the length of the password should be 2 words=64*, access password is written; the length of the password should be 2 words

lockstatus Optional int 0 =0, unlock the Memory Banks/ Fields Specified =1, perm-unlock the Memory Banks/ Fields, once this operation is performed the tags cannot be locked again =2*., lock the Memory Banks/ Fields Specified =3*, perm-lock the Memory Banks/ Fields, once this operation is performed the tags cannot be unlocked again

lockid Optional int 0 =1, perform the operation mentioned lock status in EPC memory bank

lockdata Optional int 0 =1, perform the operation mentioned lock status in user memory bank

locktid Optional int 0 =1, perform the operation mentioned lock status in TID memory bank

lockkill Optional int 0 =1, perform the operation mentioned lock status in kill password, If the lock is performed in access both read and write can not be performed.

lockaccess Optional int 0 =1, perform the operation mentioned lock status in access password, If the lock is performed in access both read and write can not be performed.

*The operations affect both Class 0 and Gen2 tags, all the operation affect only the Gen2 tags.

HTTP Interface 3-139

If the operation is completed:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/cgi-bin/ writeC1G2Page? action=write&id=&data=111122223333444455556666&memBank=16&start=0&accessPwd=00000000&enablewrite=1&lockstatus=0&lockKill=0&lockAccess=0&lockId=1&lockTid=0&lockData=1&wstatus=2">

The status of the operation can be obtained by issuing the command:

http://157.235.88.67/cgi-bin/coreProxy?oper=emitTagModifyStatus&cmdId=0

Error Responses:

12 – Operation failed

111 – Invalid command options

249 - NoTagResponseError

170 - Start Word cannot be 0

RFID Readers, Software Interface Control Guide3-140

Command: writeTag (deprecated)The writeTag command writes a tag with new tag ID or user data. If writing tag ID, one tag in the field of the antenna is written. The tag ID field is then written. If the tag ID is not written (writeId=0), the tag ID field (if present) is used to select the tag to be written. If the tag ID field is not present, one tag is written. This command is not issued from the web console, it has been retained for backward compatibility

Example:

http://157.235.88.67/cgi-bin/coreProxy?oper=writeTag&id=300833B2DDD9014035050002&erasedId=1&writeId=1&antenna=A0

Successful Response:

3008 – Operation was Successful.

Error Responses:

12 – Operation failed

106 – Invalid RFID tag ID hexadecimal value

107 – Invalid RFID tag user data hexadecimal value

108 – Invalid RFID tag kill code hexadecimal value

109 – Invalid read point selection

110 – Command execution timed out

111 – Invalid command options

232 - Page3VerifyError

233 - Page2VerifyError

235 - ReadUserDataError

Table 3-90. writeTag (deprecated) Parameters

Parameter Name Attribute Type Default Description

id Optional hexadecimal Tag ID

erasedId Optional int 0 =1, erase tag ID

writeId Optional int 0 =1, write tag ID

lockId Optional int 0 =1, lock tag ID

userData Optional hexadecimal Tag user data, exactly 26 characters (104 bits)

eraseData Optional int 0 =1, erase user data

writeData Optional int 0 =1, write user data

lockData Optional int 0 =1, lock user data

killCode Optional hexadecimal Kill code used in kill operation check – 2 or 6 or 8 characters, depends on protocol

writeKill Optional int 0 =1, write kill code

lockKill Optional int 0 =1, lock kill code

antenna Required hexadecimal Read point, example: A0

action Optional int 0 =1, kill operation=0, write operation

HTTP Interface 3-141

236 - BitReadError

237 - BitWriteInhibitError

238 - BitWriteError

239 - SkipBitError

240 - Page3WriteError

241 - Page2WriteError

242 - Page0WriteError

243 - Page3EraseError

244 - Page2EraseError

245 - Page0EraseError

246 - Page3LockError

247 - Page2LockError

248 - Page0LockError

249 - NoTagResponseError

250 - CommandError

251 - CRCError

252 - TraversalError

253 - InvalidPageError

254 - NoPageToProgram

255 - WrongIDType

256 – Function was not executed

RFID Readers, Software Interface Control Guide3-142

SNMP Traps

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3Enterprise Identifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3devEvent trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

Example (SNMP Version 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-4Example (SNMP Version 2c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

Heartbeat SNMP Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4SNMP Traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

RFID Readers, Software Interface Control Guide4-2

SNMP Traps 4-3

IntroductionA device statistics and traps MIB (Management Information Base) is defined in the Matrics-snmp.mib file. These objects are part of the enterprise MIB.

Enterprise IdentifierThe enterprise identifier for "Matrics Inc." is 12405.

matrics OBJECT IDENTIFIER ::= { enterprises 12405 }

matricsMvm OBJECT IDENTIFIER ::= { matrics 1 }

matricsMvmTrap OBJECT IDENTIFIER ::= { matricsMvm 1 }

devEvent trapThe devEvent trap is defined in the MIB. This trap indicates a device event occurred.

The trap Object ID is:

(.iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.

snmpTrap.snmpTrapOID.0) = OID: enterprises.12405.1.1.0.1

This trap has four variable bindings:

Name: trapDevNameOID: enterprises.12405.1.1.1 { matricsMvmTrap 1 }Syntax: DisplayStringAccess: read-onlyStatus: currentDescription: Name of the device that causes the trap.

Name: trapDevStatusOID: enterprises.12405.1.1.2 { matricsMvmTrap 2 }Syntax: INTEGERAccess: read-onlyStatus: currentDescription: Current status of the device.

Possible values: enabled(0),sysDisabled(1),

userEnabled(2), userDisabled(3),

parentSysEnabled(4)parentSysDisabled(5)parentUserEnabled(6)parentUserDisabled(7)

RFID Readers, Software Interface Control Guide4-4

Name: trapDevTypeOID: enterprises.12405.1.1.3 { matricsMvmTrap 3 }Syntax: INTEGERAccess: read-onlyStatus: currentDescription: Type of module that causes the trap.

Possible values: device(0),program(1)

Name: trapDevReasonOID: enterprises.12405.1.1.4 { matricsMvmTrap 4 }Syntax: Display StringDescription: Reason for the trap.

Example (SNMP Version 1)2002-05-15 15:55:28 Agent [192.168.0.181] (via local host [127.0.0.1]) TRAP, SNMP v1, community public

enterprises.matrics Enterprise Specific Trap (0) Uptime: 2 days, 6:15:59.47

enterprises.matrics.matricsMvm.matricsMvmTrap.trapDevName = "Converter #3"

enterprises.matrics.matricsMvm.matricsMvmTrap.trapDevStatus = userDisabled(3)

enterprises.matrics.matricsMvm.matricsMvmTrap.trapDevType = device(0)

enterprises.matrics.matricsMvm.matricsMvmTrap.trapDevReason = "User disabled"

Example (SNMP Version 2c)2002-05-15 15:58:18 Agent [127.0.0.1]:

system.sysUpTime.0 = Timeticks: (19552896) 2 days, 6:18:48.96

.iso.org.dod.internet.6.3.1.1.4.1.0 = OID: enterprises.matrics.matricsMvm.matricsMvmTrap.

matricsMvmTrap#.devEvent

enterprises.matrics.matricsMvm.matricsMvmTrap.trapDevName.0 = "Converter #3"

enterprises.matrics.matricsMvm.matricsMvmTrap.trapDevStatus.0 = userEnabled(2)

enterprises.matrics.matricsMvm.matricsMvmTrap.trapDevType.0 = device(0)

enterprises.matrics.matricsMvm.matricsMvmTrap.trapDevReason.0 = "User enabled"

Heartbeat SNMP EventThe reader sends a "heartbeat" once a minute via SNMP (if SNMP is enabled.) This message has the following values:

Name: Core Server

Type: Program

Status: enable

Description: Heartbeat

SNMP Traps 4-5

SNMP TrapsFollowing are traps that a reader can issue (and the name, status, and type of device where the trap originated), and their possible causes.

Table 4-1. SNMP Traps

Message Device Name Device Status Device Type Cause

"Bad/missing reply from hostlink"

"HostProxy" enabled (0) program (1) Bad reply is detected when accessing the host link.

Alert error message "A-xxxxx"

"Logger" enabled (0) program (1) Possible reasons for alert are: "Invalid rule operator xxxx": Incorrect operator is detected in the rule when importing a tag to the database (imported by tagList). "Invalid rule xxxx": Invalid rule is detected when importing a tag to the database (imported by tagList). "No host link set": The host link is not specified when trying to notify the host. "Invalid XML config file in initReaderNetwork": The XML config file is not valid when the core server initiates the reader network.

Critical error message "C-xxxxx"

"Logger" enabled (0) program (1) Possible reasons for critical error message are: "Failed to connect": Cgi proxy cannot connect to the appropriate server. "Open failed errno=xx": Server cannot open the network port to listen to. "Accept failed": Server cannot correctly accept data from the network port to which it's listening. "Bind failed": Server cannot find the right command and parameter combination specified in the incoming command string. "Server transmit failed": Server cannot send response back to cgi proxy. "xxxx not open": Failed to open the database xxxx. "Can't open pipe in notifyHost": Core server cannot communicate with the host link. "No local hosts access": Cannot add local host to trusted hosts database. "Socket failed": Network operation failed to open a socket. "Listener socket failed to set SO_LINGER": Network operation cannot set the SO_LINGER attribute to the listener socket. ‘Listener socket failed to set SO_REUSEADDR": Network operation cannot set the SO_REUSEADDR attribute to the listener socket. "Giving up socket binding": Network operation cannot bind the socket. "Listen failed": Network operation cannot listen to a socket. "Can not open pipe": Server can't open communication pipe to cgi proxy. "map db open failed": Can't open the map database. "useridx db open failed": Can't open the useridx database. "TAG.DB not open": Can't open the TAG.DB database.

"Failed to read configuration file"

"Console Server"/ "Core Server"

enabled (0) program (1) Notification that the RFID server failed to read in configuration file.

RFID Readers, Software Interface Control Guide4-6

"Symbol XR4XX RFID Console Server starts running"

"Console Server" enabled (0) program (1) Notification that XR Series RFID Console Server starts running.

"Symbol XR4XX RFID Console Server quits running"

"Console Server" userDisabled (3) program (1) Notification that XR Series RFID Console Server quits running.

"Symbol XR4XX RFID Core Server starts running"

"Core Server" enabled (0) program (1) Notification that XR Series RFID Core Server starts running.

"Symbol XR4XX RFID Core Server quits running"

"Core Server" userDisabled (3) program (1) Notification that XR Series RFID Core Server quits running.

"Symbol XR4XX RFID Core Server starts polling"

"Core Server Polling"

enabled (0) program (1) Notification that XR Series RFID Core Server starts polling.

"Symbol XR4XX RFID Core Server stops polling"

"Core Server Polling"

userDisabled (3) program (1) Notification that XR Series RFID Core Server stops polling.

Reader network device's status has been changed

The name of the device (converter/converter port reader/reader/reader port)

enabled (0) / sysDisabled (1) / userEnabled (2) / userDisabled (3) / parentSysEnabled (4) / parentSysDisabled (5) / parentUserEnabled (6) / parentUserDisabled (7)

device (0) Detailed reason for device's status change: "Initial state": The device's initial status is not enabled when initializing a reader network. "Enable All": The device is enabled by the "enable all" user command. "User enabled": The user enabled the device. "User disabled": The user disabled the device. "Can not establish connection to port": An error disabled the converter because the server cannot establish connection to the port. "Failed receive from reader (xxx)": An error disabled the reader because the server cannot receive from the reader.

Table 4-1. SNMP Traps (Continued)

Message Device Name Device Status Device Type Cause

Byte Stream Protocol

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3Byte Stream Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3Packet Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5Error Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7General Communication Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-8

Reserved Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10RS485 Node Address (Obsolete) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10Set Parameter Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10General Initialization Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-10General Use Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-11

RFID Readers, Software Interface Control Guide5-2

Byte Stream Protocol 5-3

IntroductionThis chapter describes byte stream protocol fields and behavior of the byte stream-protocol interface on the Motorola RFID readers. This protocol is supported over a TCP/IP socket connection. The default TCP/IP is port for byte stream 3000. Motorola reserves the right to make changes to the contents of this document as required.

Byte Stream ProtocolThis section defines the byte stream protocol, fields definition and behaviors. This protocol can be carried on both a 4-wire RS485 link (for AR 400 and SR400) and a TCP/IP socket connection (for and XR Series and AR 400 only). The default configuration for the RS485 serial link is at 230400 baud rate, with 8 data bits, 1 start bit, 1 stop bit and no parity. The default TCP/IP port AR 400 listens to is 3000.

The reader is always waiting in passive mode for this protocol. The host system initiates all of the communication sequences. The packet sent from the host system is a request and the reply from a reader is a response. It is typically a request-response style synchronous protocol, the host must wait to receive the response for last request before issuing a new request. The maximum length of a request packet data section is 64 bytes; the maximum length of a response packet buffer space is 256 bytes.

Some commands are specific to a particular reader model and not available on others. These commands are clearly identified.

Byte stream-protocol works in asynchronous mode where the reader initiates transmission to the host under two conditions:

1. When the reader sends GPIO event notifications. Refer to Setup Motion Detector Status Change Notification Command (42hex) on page 6-32 and Motion Detector Status Change Notification Command (43hex) on page 6-33.2. Notifications for events or tag data. See commands - Set Autonomous Mode (60hex) on page 6-64, Interim Tag Data Report (61hex) on page 6-65, End of Group Read (62hex) on page 6-66, Events Available Notification (63hex) on page 6-66 and HOB Command (BBhex) on page 6-67.

The maximum size of a response packet for HOB (HTTP Over Byte stream) response (BBhex) is 65,536 bytes.

RFID Readers, Software Interface Control Guide5-4

Packet Format Figure 5-1 shows the protocol packet format. Table 5-1 defines each field

Figure 5-1. Byte Stream Protocol Packet Format

SOF

Node Address

Length

Command

DATA0-64 BYTES

CRC LSB

CRC MSB

SOF

Node Address

Length

Cmd mirror

DATA0-249 BYTES

CRC LSB

CRC MSB

Status

Request Response

Byte Stream Protocol 5-5

For TCP/IP connection, the node address in the request packet also must match the reader's configuration for consistency. The node address is fixed at 04hex for a TCP/IP based byte stream connection.

StatusThe status field in the response packet indicates the execution result or status. The bit definition is:

These status bits are defined and interpreted independently. For example, the error bit set to one does not necessarily imply this is the last response packet. Check the progress bit.

The reader operates with a set of default parameters after reboot, and the parameter bit is set to one to indicate this. The host system must monitor this bit in all response packets and set the reader parameters accordingly. This bit resets to zero after the first time the host system sets the parameters.

Table 5-1. Byte Stream Protocol Packet Format Fields

Field Size (Byte) Value Description

SOF 1 0x01 Start of Frame

Node Address 1 0~0x1F RS485 network node address (obsolete) of the recipient or responding reader

Packet Length 1 Dependent The length of the packet including CRC, but excluding SOF

Command 1 Various The action to be taken by a reader

Cmd Mirror 1 Dependent Mirror the original command in the response packet

Status 1 Various The result or status of a command execution

Data Various Dependent The parameters or data for the command or response

CRC 2 Dependent Bitwise inversion of the 16-bit CCITT-CRC of the packet excluding SOF, with the LSB (Least Significant Byte) first

Table 5-2. Byte Stream Protocol Packet Status Fields

Bit Order Name Value Description

0 Progress bit 0 Command execution complete

1 Command execution in progress

1 Reserved

2 Reserved

3 Reserved

4 Reserved

5 Reserved

6 Parameter bit 0 Reader parameter set

1 Reader is working with default parameters

7 Error bit 0 Normal status

1 Error

RFID Readers, Software Interface Control Guide5-6

Error CodesError code is present in the first data byte when the Error bit is set.

Byte Stream Error Response FormatThe byte stream error response format, used to return errors such as invalid parameter setting and time out, etc. is provided in Table 5-4. The format and function is located in ByteStreamProtocolTask::returnBSPError().

Table 5-3. Byte Stream Protocol Packet Error Codes

Error Code Description

D0hex New Light Indicator Box-Not Connected

D1hex New Light Indicator Box-TPP Mode Active

D2hex New Light Indicator Box-Motion Detector Not Enabled

F0hex Invalid command parameter(s)

F1hex Insufficient data

F2hex Command not supported

F3hex Antenna Fault (not present or shorted)

F4hex DSP Time out

F5hex DSP Error

F6hex DSP Idle

F7hex Zero Power

FAhex Country Code not set

FBhex System parameter unspecified.

FChex Unexpected Command

FDhex Autonomous mode active

FFhex Undefined error

Table 5-4. Byte Stream Error Response Format

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 0x07 Packet length excludes SOF, but includes the CRC

3 0x?? Mirror of Command to response

4 0x80 0x80 if Error has occurred, 0x40 if parameter has not been set (see as 4.2.3)

5 0x?? Error code (see as 4.2.4)

6 CRC LSB of the CRC-16

7 CRC MSB of the CRC-16

Byte Stream Protocol 5-7

CRCA Cyclic Redundancy Check (CRC) detects errors and is positioned at the end of the packet. The 16-bit CRC is calculated on all bytes of the packet following the SOF. The CRC uses the CCITT polynomial (X16 + X12 + X5 + 1) with a seed or preload value of 0xBEEF. The bitwise inversion of the calculated value is appended to the end of the data section of the packet, with the LSB first.

Example Code:

1 /*2 * This is the table used to by the table lookup method of generating CCITT CRC values.3 * The CCITT polynomial is x^16 + x^12 + x^5 + 1 reverse direction table - i.e. LSBit first4 */5 static const uint16 crcTable[256] =6 {7 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,8 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,9 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e,10 0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876,11 0x2102, 0x308b, 0x0210, 0x1399, 0x6726, 0x76af, 0x4434, 0x55bd,12 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5,13 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c,14 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, 0xc974,15 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb,16 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3,17 0x5285, 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a,18 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72,19 0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9,20 0xef4e, 0xfec7, 0xcc5c, 0xddd5, 0xa96a, 0xb8e3, 0x8a78, 0x9bf1,21 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738,22 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70,23 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, 0xf0b7,24 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff,25 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036,26 0x18c1, 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e,27 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5,28 0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd,29 0xb58b, 0xa402, 0x9699, 0x8710, 0xf3af, 0xe226, 0xd0bd, 0xc134,30 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c,31 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3,32 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, 0x3efb,33 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232,34 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a,35 0xe70e, 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1,36 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,37 0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,38 0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78

RFID Readers, Software Interface Control Guide5-8

General Communication SequenceFigure 5-2 illustrates the general communication sequence for the byte stream protocol.

The general sequence provided in Figure 5-2 is the for synchronous command response mode of operation where host successfully connects to the reader, initiates command transmission and receives response from the reader. The byte stream-protocol also works in asynchronous mode where the reader initiates transmission to the host under the following two conditions:

1. When the reader sends GPIO event notifications. Refer to; Setup Motion Detector Status Change Notification Command (42hex) on page 6-32 and Motion Detector Status Change Notification Command (43hex) on page 6-33.2. Reader sends notifications for events or tag data. Refer to; Set Autonomous Mode (60hex) on page 6-64, Interim Tag Data Report (61hex) on page 6-65, End of Group Read (62hex) on page 6-66, Events Available Notification (63hex) on page 6-66 and HOB Command (BBhex) on page 6-67.

For asynchronous commands from the reader there is no acknowledgement from the host.

Asynchronous mode of operation is supported only in the XR Series RFID readers with software version 3.x. and later.

39 };40 41 /*42 * uint16 calcBlockCRC(size_t count, uint16 crc, void *buffer)43 *44 * ARGUMENTS45 * size_t count : Number of bytes in the buffer46 * uint16 crc : Preload value of the CRC47 * void *buffer : Buffer whose CRC is to be calculated48 *49 * DESCRIPTION50 * This routine is called to calculate the CCITT CRC value of a block of data.51 52 * RETURNS53 * CRC value.54 */55 56 uint16 calcBlockCRC(size_t count, uint16 crc, void *buffer)57 {58 const uint8 *pBuf = (const uint8*)buffer;59 60 while (count--)61 crc = (uint16)((crc >> 8) ^ crcTable[(uint8)(crc ^ *pBuf++)])62 return (crc ^ ((uint16)0xFFFF));63 }

Note: "uint16" represents unsigned 16bit value like "unsigned short" and "uint8" represents unsigned 8bit value like "unsigned char

Byte Stream Protocol 5-9

For a TCP/IP socket connection, the host system must connect to the reader before message exchange. An established TCP/IP socket connection remains open until the host system closes it or an error occurs.

For each request the host system sends a reader, multiple response packets can return. If the progress bit in a response packet status field is zero, this is the last packet; otherwise, the command execution is still in progress.

Figure 5-2. General Byte Stream Protocol Communication Sequence

RFID Readers, Software Interface Control Guide5-10

Reserved FieldsAll reserved fields or bits are subject to change. Check the defined bit field independently for its information.

RS485 Node Address (Obsolete)For an RS485 serial connection network, each reader is uniquely identified by its serial number, which cannot be modified. Typically, as the host system knows each reader serial number, it can initialize and maintain the RS485 network by dynamically assigning an RS485 node address to each reader. The host system performs this initialization process each time it starts running.

This command is required with an SR, and is honored with an AR and XR, over the socket interface. It is provided for legacy.

Set Parameter BlockGenerally, reader parameters that the byte stream protocol sets do not persist. A reader powers up with a default or persisted set of system configuration parameters, which the host system may not expect. When using the byte stream protocol, the host system should set the reader's parameters using the Set Parameter Block command before reading tags. At runtime, the host system must monitor the parameter bit in the response packet status byte (see Table 5-2 on page 5-5) and re-initialize the reader when this bit is set. Change these parameters by issuing a new SetParamterBlock command.

By default, the reader Web-based Administrator Console initializes with another set of default configuration parameters, so always clear the parameter bit. Because of this, the host application may miss an opportunity to detect the reader reboot if the byte stream protocol drives the reader. To disable this self-initialization, disable the reader. To do this, log into the Web-based Administrator Console, select Configuration, select the reader's link to invoke the Reader Configuration window, select the Disable check box, and apply the change. The reader then skips this initialization and sets the parameter bit after reboot.

General Initialization SequenceWhen there are more than one reader on a network, for best results suspend all readers at the beginning via a broadcast message. The host can then dynamically assign node addresses to its known readers. This ensures new readers that are unknown to the host do not cause a node address conflict.

After assigning node addresses, the host can set parameters for all antennas to a set of default values (for example, without any combined group). Then the host can obtain the status of a reader to determine which antennas are connected and configure them accordingly. This sequence can set the configuration of the reader and antennas to a known state when the host application starts.

The reader can read or write after this initialization sequence.

Byte Stream Protocol 5-11

General Use Tips

Reserved FieldsAll reserved fields or bits are subject to change. The defined bit field should be independently checked for information.

RS485 Node AddressFor an RS485 serial connection network, each reader is uniquely identified by its serial number (not user changeable). The host system should be able to initialize and maintain the RS485 network by dynamically assigning an RS485 node address to each reader. The host system should repeat the initialization process each time it starts.

Set Parameter BlockThe reader parameters are set by the byte stream protocol and are not persisted. When a reader boots up, it may start with a default (or persisted) system configuration. This may not be what the host system expects. When using the byte stream protocol, the host system should always set the reader parameters using the Set Parameter Block command before starts reading tags. At runtime, the host system also needs to monitor the Needs Parameter bit in the response packet status byte and re-initialize the reader whenever this bit is set. These parameters can be changed at anytime by issuing a new command.

The XR Series readers web administration console starts with and initializes itself using a default configuration. The byte stream protocol responses retains the Needs Parameter bit set until SetParameterBlock is sent through the byte stream channel.

RFID Readers, Software Interface Control Guide5-12

Byte Stream Command Definitions

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3Byte Stream Command Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3

RFID Readers, Software Interface Control Guide6-2

Byte Stream Command Definitions 6-3

IntroductionThis chapter describes byte stream command definitions of the byte stream-protocol interface on the Motorola RFID readers. Motorola reserves the right to make changes to the contents of this document as required.

Byte Stream Command DefinitionsThe commands are available for all readers (unless noted). Commands that are specific to a particular reader model or firmware version are identified.

Using Web Console When Byte Stream-Connection is ActiveReader configurations made over byte stream and the Web Console operation can affect each other. The reader should be operated using only one of the two interface at any given time - either with Web Console or over byte stream.

Polling mode

The XR Series reader firmware version 3.x (and above), does not allow the byte stream commands to work, when reader is operating in polling mode enabled from Web Console. Byte stream commands return a response packet with error status and an error code of Autonomous mode active (FDhex). Polling has to be explicitly disabled using Web Console for commands to work over byte stream connection.

RFID Readers, Software Interface Control Guide6-4

Get Reader Status Command (14hex)Gets a 32 byte data block, that provides information on the reader system status.

Command Example:

Gets the status from the READER with node address of 04hex.

Table 6-1. Get Reader Status Command (14hex)

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 0x04 RS485 network node address (0x00 ~ 0x1F)

2 0x05 Packet length excludes SOF, but includes the CRC

3 0x14 Command

4 CRC LSB of the CRC-16

5 CRC MSB of the CRC-16

Table 6-2. Get Reader Status Command, Response Data Block

Byte Order Value Description

0~7 Reader serial number, with LSB first

8 Version number (major)

9 Version number (minor)

10 Version number (build)

11 0x00~0x01 Reset flag, 0x01-has been reset, needs parameter

12 Combined antenna bit mask for port #1 (bit0), #5(bit1)

13 Combined antenna bit mask for port #2 (bit0), #6(bit1)

14 Combined antenna bit mask for port #3 (bit0), #7(bit1)

15 Combined antenna bit mask for port #4 (bit0), #8(bit1)

16 Antenna status bit mask for port #1 (bit0), #5(bit1)

17 Antenna status bit mask for port #2 (bit0), #6(bit1)

18 Antenna status bit mask for port #3 (bit0), #7(bit1)

19 Antenna status bit mask for port #4 (bit0), #8(bit1)

20 0x00~0x05 Error of the last command packet0x00 No error0x01 No SOF0x02 Timed out0x03 Bad CRC0x04 Insufficient number of data0x05 State Machine error

21~31 Reserved

Byte Stream Command Definitions 6-5

Each antenna port can connect to up to eight antennas (using a multiplexer). One byte is dedicated to each antenna port to represent the status of each antenna. In each byte the least significant bit (bit 0) represents the lowest indexed antenna (antenna #1) on that port; the second bit (bit 1) represents the second antenna (antenna #2) etc.

Response Example:

Response packet for Get Reader Status command sent to node address of 04hex.

Table 6-3. Get Reader Status Command, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x26 Packet length except SOF

3 0x14 Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5~36 Response data block as defined above Data field

37 CRC LSB of the CRC-16CRC

38 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-6

Read Full Field Command (22hex)Read all RFID tags using one antenna port (of the addressed reader).

The Read Full Field Command (22hex) is capable of reading 8-byte or 12-byte Tag ID (EPC ID) from all classes of Tags. For reading Tag ID of larger length from Gen 2 Tags use C1G2 Read (51hex) command. C1G2 Read supports reading of Gen 2 tags only. Action Sequence may be used to execute both Read Full Field (22hex) and C1G2 Read (51hex) in a single operation to fully read all classes of tags. Refer to How to use an Action Sequence on page 6-52 for additional information.

Command Example:To command reader with node address of 0x04 to read all RFID tags under antenna port #1.

Response Example:

Two types of response packets for this command, RFID tag data packet and RFID tag final data packet.

RFID tag data packet: This packet can carry up to ten RFID tag IDs. For each RFID tag ID, there is one extra byte at the beginning as type indicator. The definition of the tag indicator is:

Table 6-4. Read Full Field Command, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 0x04 RS485 network node address (0x00 ~ 0x1F)

2 0x06 Packet length excludes SOF, but includes the CRC

3 0x22 Command

4 0xA0

Logical antenna indicator, defined as:0xA0: Antenna Port #10xB0: Antenna Port #20xC0: Antenna Port #30xD0: Antenna Port #40xA1: Antenna Port #50xB1: Antenna Port #60xC1: Antenna Port #70xD1: Antenna Port #8

5 CRC LSB of the CRC-16

6 CRC MSB of the CRC-16

Table 6-5. Read Full Field Command, RFID Tag Data Packet Response Example

Bit Order Name Value Description

0 Type bit0 EPC type tag ID

1 Motorola type tag ID

1 Reserved Reserved

2 Gen 20 Not Gen 2

1 Gen 2

3 Tag Class0 Class 0 (only if bit 2 is 0)

1 Class 1 (should be 0 if Bit 2 is 1)

Byte Stream Command Definitions 6-7

For example, if two RFID tags are read, their tags IDs in hexadecimal are:

0x89,00,64,02,46,00,00,00

0x20,69,80,C0,00,21,26,04,59,80,00,00

4 Length bit0 8 bytes tag ID

1 12 bytes tag ID

5 Reserved

6 Reserved

7 Reserved

Table 6-5. Read Full Field Command, RFID Tag Data Packet Response Example

RFID Readers, Software Interface Control Guide6-8

Then the response packet carrying these two tag IDs is:

Table 6-6. Read Full Field Command, RFID Tag Two Data Packet Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x1E Packet length except SOF

3 0x22 Mirror of the Command

4 0x01 Status, could be 0x41 if parameter has not been set

5 0xA0 Mirror of the Logical antenna indicator

Data field

6 0x02 Number of tags in this packet

7 0x00 8 bytes EPC Cls0 Type indicator

The 1st tag

8 0x00 LSB

Tag ID in hexadecimal, with the LSB first

9 0x00

10 0x00

11 0x46

12 0x02

13 0x64

14 0x00

15 0x89 MSB

16 0x14 12 bytes EPC Gen2 Type indicator

The 2nd tag

17 0x00 LSB

Tag ID in hexadecimal, with the LSB first

18 0x00

19 0x80

20 0x59

21 0x04

22 0x26

23 0x21

24 0x00

25 0xC0

26 0x80

27 0x69

28 0x20 MSB

29 CRC LSB of the CRC-16CRC

30 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-9

If no tag is read, only the final packet is returned.

If RF power level for the specified antenna is set to zero when the Read Full Field Command is issued, a Zero Power error is returned.

In the case that response packages indicate reader parameter not set, the Set Parameter Block command has to be used to setup the reader.

When a combined group is used, only the lowest antenna indicator should be used to address all antennas in this specific group. The read command sent by the lowest antenna indicator of a combined group triggers a read for all antennas in the group.

Table 6-7. Read Full Field Command, RFID Tag Final Data Packet Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x0C Packet length except SOF

3 0x22 Mirror of the Command

4 0x00 Status, could be 0x40 is parameter has not been set

5 0x02 LSBTotal number of tags read

Data field

6 0x00 MSB

7 0x00 LSBThe number of detected under-run errors (reserved for test purpose)

8 0x00 MSB

9 0x00 LSBThe number of detected CRC errors (reserved for test purpose)

10 0x00 MSB

11 CRC LSB of the CRC-16CRC

12 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-10

Set Parameter Block Command (23hex)Sets the parameters for one antenna port. It is possible to set the same block of parameters for more than one antenna at the same time. Two forms of this command are recognized: regular and extended. To support existing legacy applications, any command less than or equal to 42 bytes in length (len==0x29, not including SOF) is considered regular (older format). The new extended command is 50 bytes long (len==0x31, not incl SOF).

The power level for both reading and writing tags is logarithmic with the maximum power about 30dBm. This table describes the different values for different power levels.

Table 6-8. Set Parameter Block Command, Regular Data Block

Byte Order Value Description

0 0x00~0x01 0x01 - configure antenna port #1; 0x00 - not configured 0x02 - configure antenna port #5; 0x03 - #1 and #5

1 0x00~0x01 0x01 - configure antenna port #2; 0x00 - not configured 0x02 - configure antenna port #6; 0x03 - #2 and #6

2 0x00~0x01 0x01 - configure antenna port #3; 0x00 - not configured 0x02 - configure antenna port #7; 0x03 - #3 and #7

3 0x00~0x01 0x01 - configure antenna port #4; 0x00 - not configured 0x02 - configure antenna port #8; 0x03 - #4 and #8

4 0x01~0xFF Power level for tag reading (0x01=minimum, 0xFF=maximum)

5 0x00~0x08 Environment variable

6 0x00~0x02 Combined antenna 0x00 - not combined, independently addressed port 0x01 - combined logical group #1 0x02 - combined logical group #2 0x03 - combined logical group #3 0x04 - combined logical group #4

7 Reserved

8 0x00~0x3F Tag filter pattern length - not supported, ignored

9 0x00 Tag type the filter applies. Always 0x00 - EPC tag

10 0x00~0x07 Select the air protocol class to use for reading tag 0x00 - default value for reading all classes Bit 0- set to 1: read EPC 1.1 Class 0 Bit 1- set to 1: read EPC 1.1 Class 1 Bit 2 - set to 1: read EPC Class 1 Gen 2

11 0x01~0xFF Power level for tag writing (0x01=minimum, 0xFF=maximum)

12~19 Tag filter pattern, with LSB first - not supported, ignored

20~35 Reserved

Byte Stream Command Definitions 6-11

Table 6-9. Set Parameter Block Command, Power Level

Output Power% Full Power

Power Level Value (decimal)

XR Series / AR 400SR400

ICBM Walt From To

30 1.00 100 248 255 236

29.5 0.89 89 240 247 224

29 0.79 79 232 239 213

28.5 0.71 71 224 231 203

28 0.63 63 216 223 194

27.5 0.56 56 208 215 186

27 0.50 50 200 207 178

26.5 0.45 45 192 199 171

26 0.40 40 184 191 164

25.5 0.35 35 176 183 157

25 0.32 32 168 175 150

24.5 0.28 28 160 167 143

24 0.25 25 152 159 136

23.5 0.22 22 144 151 129

23 0.20 20 136 143 122

22.5 0.18 18 128 135 116

22 0.16 16 120 127 111

21.5 0.14 14 112 119 108

21 0.13 13 104 111 105

20.5 0.11 11 96 103 102

20 0.10 10 88 95 99

19.5 0.09 9 80 87 96

19 0.08 8 72 79 93

18.5 0.07 7 64 71 90

18 0.06 6 56 63 87

17.5 0.06 6 48 55 84

17 0.05 5 40 47 81

16.5 0.04 4 32 39 78

16 0.04 4 0 31 75

RFID Readers, Software Interface Control Guide6-12

• Environment VariableThe environment variable determines how hard the reader tries to read tags during a Read All command. A larger number increases the read time (for all readers) and increases the number of frequencies used (for a FCC part 15 reader). The large number is better for situations where tagged items are stationary, such as a shelf application. The large number setting helps to overcome issues like RF interference and RF-Null on a fixed pool of tags.

In the situation where tags constantly moving in and out of the read field, it is important to read as fast as possible to be able to start negotiating with new tags coming into the read field. This type of dynamic environment benefits from having the environment variable set to a small number. The exact value for this environment variable also depends on the location and RF environment around the system. Typically, start with a value of 00 for dynamic and a value of 04 for static environments. Then adjust the value to optimize the read performance.

• Combined AntennaAntennas can be logically grouped together by using the combined antenna parameter. For one antenna group, a host only needs to address the antenna with the smallest index to get reads from all combined antennas. For example, if antenna 1, 3 and 4 are combined, then the host only needs to execute Read Full for antenna 1 to actually get reads from all of antenna 1, 3 and 4. For a four port reader, there can be up to two logical groups. Antenna ports with the same combined antenna parameter value, except 0x00, belong to one group.

Only XR Series and AR 400 readers support more than one combined group. SR400 can have only one combined group.

• Tag Filter - not currently supportedRead performance can be improved by selectively reading tags with specified beginning portion of the tag ID. Tag filter specifies a bit pattern, which is always 64 bit long and how many meaningful bits, starting from the left hand (most significant bit) side, this pattern has. Every tag read needs to match the specified meaningful bits to qualify as a successful read. In the parameter block, this bit pattern is stored as the LSB first.

• Air Protocol SelectionAir protocol selection applies to both reading and writing tags.

Table 6-10. Set Parameter Block Command, Extended Data Block

Byte Order Value Description

0 0x00~0x01 0x01 - configure antenna port #1; 0x00 - not configured 0x02 - configure antenna port #5; 0x03 - #1 and #5

1 0x00~0x01 0x01 - configure antenna port #2; 0x00 - not configured 0x02 - configure antenna port #6; 0x03 - #2 and #6

2 0x00~0x01 0x01 - configure antenna port #3; 0x00 - not configured 0x02 - configure antenna port #7; 0x03 - #3 and #7

3 0x00~0x01 0x01 - configure antenna port #4; 0x00 - not configured 0x02 - configure antenna port #8; 0x03 - #4 and #8

4 0x01~0xFF Power level for tag reading (0x01=minimum, 0xFF=maximum)

5 0x00~0x08 Environment variable

6 0x00~0x02 Combined antenna 0x00 - not combined, independently addressed port 0x01 - combined logical group #1 0x02 - combined logical group #2 0x03 - combined logical group #3 0x04 - combined logical group #4

Byte Stream Command Definitions 6-13

7 Reserved

8 0x00~0x3F Tag filter pattern length - not supported, ignored

9 0x00 Tag type the filter applies. Always 0x00 - EPC tag

10 0x00~0x07 Select the air protocol class to use for reading tag 0x00 - default value for reading all classes Bit 0- set to 1: read EPC 1.1 Class 0 Bit 1- set to 1: read EPC 1.1 Class 1 Bit 2 - set to 1: read EPC Class 1 Gen 2

11 0x01~0xFF Power level for tag writing (0x01=minimum, 0xFF=maximum)

12~19 Tag filter pattern, with LSB first - not supported, ignored

20 0x00~0x02 Read Mode: 0x00 - onDemand 0x01 - polled (autonomous) 0x02 - periodic

21-23 Reserved

24-27 Maximum time per read point (millisecs, LSB first)

28-31 Time between polls, for periodic polling (millisecs, LSB first)

32 0x00~0x01 Enable motion sensor

33 Reserved

34 0x00~0x01 Autonomous mode Gen2 parameters valid(0x01; use the values in the next 3 fields)

35 0x00~0x03 Memory Bank

36-37 Start word, LSB first (words are 16 bits)

38-39 Word count, LSB first (number of 16-bit words to read)

40 0x00~0x08 Slot counter parameter, starting value note that whether the slot counter is static or dynamic can currently only be set from the web interface

41 0x00~0x08 Slot counter parameter, minimum value

42 0x00~0x08 Slot counter parameter, maximum value

43 Reserved

Table 6-10. Set Parameter Block Command, Extended Data Block (Continued)

Byte Order Value Description

RFID Readers, Software Interface Control Guide6-14

Command Example:

For example; to configure antenna ports #1 and #3 (at the same time). Both antennas belong to the 2nd combined group, with maximum reading power, they are setup for dynamic environment application and only read Class 0 and EPC 1.1 SGTIN-96 encoded tags (with the first 8 bits as 00110000binary).

Table 6-11. Set Parameter Block Command, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Request packet header1 0x04 RS485 network node address (0x00 ~ 0x1F)

2 0x29 Packet length excludes SOF, but includes the CRC

3 0x23 Command

4 0x01 Configure antenna port #1

Data field

5 0x00 Do not configure antenna port #2

6 0x01 Configure antenna port #3

7 0x00 Do not configure antenna port #4

8 0xFF Maximum power for reading tag

9 0x00 Setup for dynamic environment

10 0x02 They belong to the 2nd combined group

11 0x00 Reserved

12 0x08 Tag filter has 8 meaningful bit

13 0x00 Tag filter is always for EPC tag

14 0x01 Only read EPC 1.1 Class 0 tags

15 0x00 No power for writing RFID tag

16 0x00 LSB

Tag filter pattern

17 0x00

18 0x00

19 0x00

20 0x00

21 0x00

22 0x00

23 0x30 MSB

24~39 0x00 Reserved

40 CRC LSB of the CRC-16CRC

41 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-15

Response Example:

The response packet indicates completion or error and does not have data field.

Table 6-12. Set Parameter Block Command, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x06 Packet length except SOF

3 0x23 Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 CRC LSB of the CRC-16CRC

6 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-16

Get Parameter Block Command (24hex)Get parameters for one specific antenna port.

Command Example:

Get the parameters for the first antenna port from the reader with node address of 04hex.

Table 6-13. Get Parameter Block Command, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 0x04 RS485 network node address (0x00 ~ 0x1F)

2 0x06 Packet length excludes SOF, but includes the CRC

3 0x24 Command

4 0xA0 Logical antenna indicator, defined as: 0xA0: Antenna Port #1 0xB0: Antenna Port #2 0xC0: Antenna Port #3 0xD0: Antenna Port #4 0xA1: Antenna Port #5 0xB1: Antenna Port #6 0xC1: Antenna Port #7 0xD1: Antenna Port #8

5 CRC LSB of the CRC-16

6 CRC MSB of the CRC-16

Table 6-14. Get Parameter Block Command, Response Data Block

Byte Order Value Description

0 0x01~0xFF Power level for tag reading (0x01=minimum, 0xFF=maximum)

1 0x00~0x08 Environment variable

2 0x00~0x02 Combined antenna

3 Reserved

4 0x00~0x3F Tag filter pattern length

5 0x00 Tag type the filter applies. Always 0x00 - EPC tag

6 0x00~0x07 Air protocol class in use for reading tag

7 0x01~0xFF Power level for tag writing (0x01=minimum, 0xFF=maximum)

8~15 Tag filter pattern, with LSB first

16 0x00~0x02 Read Mode: 0x00 - onDemand 0x01 - polled (autonomous) 0x02 - periodic

17-19 0x00 Reserved

20-23 Maximum time per read point (millisecs, LSB first)

24-27 Time between polls, for periodic polling (millisecs, LSB first)

28 0x00~0x01 Enable motion sensor

Byte Stream Command Definitions 6-17

These fields have the same definitions as in the Set Parameter Block Command.

29-30 0x00 Reserved

31 0x00~0x03 Memory Bank

32-33 Start word, LSB first (words are 16 bits)

34-35 Word count, LSB first (number of 16-bit words to read)

36 0x00~0x08 Slot counter parameter, starting value. Note that whether the slot counter is static or dynamic can currently only be set from the web interface.

37 0x00~0x08 Slot counter parameter, minimum value

38 0x00~0x08 Slot counter parameter, maximum value

39 0x00 Reserved

Table 6-15. Get Parameter Block Command, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x2E Packet length except SOF

3 0x24 Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5~44 Response data block as defined above Data field

45 CRC LSB of the CRC-16CRC

46 CRC MSB of the CRC-16

Table 6-14. Get Parameter Block Command, Response Data Block (Continued)

RFID Readers, Software Interface Control Guide6-18

Set System Parameter Command (27hex)There are some system specific configurable parameters. The parameters can be identified by their index value. and their values can be changed accordingly. The parameter value is always a two byte field and with the LSB first in the packet. (VAL = (VALMSB<<8) + VALLSB).

These are currently supported parameter index and values:

Table 6-16. Set System Parameter Command, Index and Values

Parameter Index Description Parameter Values

0x01 Light indicator box [SR 400 ONLY] 0-disabled1-enabled

0x03 Reflected power threshold (VSWR)[RDR-IP-0xx ONLY] 0x00~0x3E8

All others Reserved

Table 6-17. Set System Parameter Command, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 0x04 RS485 network node address

2 0x08 Packet length excludes SOF, but includes the CRC

3 0x27 Command

4 0x01/0x03 Parameter index

5 Parameter Value LSB

6 Parameter Value MSB

7 CRC LSB of the CRC-16

8 CRC MSB of the CRC-16

Table 6-18. Set System Parameter Command, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x06 Packet length except SOF

3 0x27 Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 CRC LSB of the CRC-16CRC

6 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-19

Read With Payload Command (31hex)The Read With Payload Command command is designed for getting the user data field from Class 0+ tags. It has similar formation to the Read Full Field command (22 hex).

• The fields in the request packet specify an optional bit pattern tag filter.The request command can specify a bit pattern tag filter to selectively read tags:

• Fields in the request packet specify how user data bits are requested.Class 0+ tags could have up to 104 bits extra user data. The fields specify where the requested data starts and how many bits in this 104 bits data should be returned:

• Fields in the response packet specifying the extra user data bits in the tag.The fields carry the returned user data bits:

The maximum payload reported by Read With Payload command (31hex) is limited to 104-bits. To read additional payload data from user data bank or other memory bank use C1G2 Read (51hex) command. Action sequence may be used to combine both Read With Payload (31hex) and C1G2 Read (51hex) to read from a mixed tag class population where Class 0+ and Class 1 Gen 2 tags are present.

Table 6-19. Read With Payload Command, Tag Filter

Field Name Size (Bytes) Description

IDLEN 1 The number of significant bits in the tag filter bit pattern. IDLEN=0 indicates that no pattern is provided in this command, all tags in the field are read and returned.

IDTYPE 1 Optional, only exists when IDLEN is not zero and the value should always be 0x00.

IDBYTES N = ((IDLEN-1)/8)+1 Variable length field with N bytes indicating the tag filter bit pattern, with the MSB first. These bytes only exist and N is calculated when IDLEN is not zero.

Table 6-20. Read With Payload Command, Data Bits

Field Name Size (Bytes) Description

Start bit position 1 The start bit position in this 104 bits user data (0x00~0x67)

Bit length 1 The number of bits should be returned from the start bit (0x00~0x68). Entire field is read and validated, but only requested portion is returned.

Table 6-21. Read With Payload Command, Extra Data Bits

Field Name Size (Bytes) Description

Data bits length 1 The number of significant bits in the returned user data field.

DataBytes N = ((Data bits length-1)/8)+1 Variable length field with N bytes indicating the user data field in the tag, with the LSB first. These user data bits are LSbit justified. These bytes only exist and N is calculated when "Data bits length" is not zero.

RFID Readers, Software Interface Control Guide6-20

Command Example:

Reader with node address of 0x04 and using antenna 0xA0 return Tag ID and user data bits from all of the RFID tags in its field.

Response Example:

The data response to this command is similar to that for the command 0x22, except the extra fields for each tag user data value. The user data field is right justified in a variable number of bytes, with LSB first. The final status response is the same as for the command 0x22.

For example; if two RFID tags are read, their tags IDs in hexadecimal are:

Table 6-22. Read With Payload Command, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 0x04 RS485 network node address

2 0x09 Packet length excludes SOF, but includes the CRC

3 0x31 Command

4 0xA0 Antenna port indicator

5 0x00 IDLEN=0, tag filter is not used, all tags are read

6 0x00 The user data starts from the first bit

7 0x68 The user data has 104(0x68) bits

8 CRC LSB of the CRC-16

9 CRC MSB of the CRC-16

Table 6-23. Read With Payload Command, Response Example

No. Tag ID Tag user data

1 0x89,00,64,02,46,00,00,00 0x00112233445566778899AABBCC

2 0x20,69,80,C0,00,21,26,04,59,80,00,00 0xFFEEDD33445566778899AABBCC

Byte Stream Command Definitions 6-21

The response packet carrying the two tag IDs is:

Table 6-24. Read With Payload Command, Tag IDs

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x3A Packet length except SOF

3 0x31 Mirror of the Command

4 0x01 Status, could be 0x41 is parameter has not been set

5 0xA0 Mirror of the Logical antenna indicator

Data field

6 0x02 Number of tags in this packet

7 0x00 8 bytes EPC Cls0 Type indicator

The 1st Tag

8 0x00 LSB

Tag ID in hexadecimal, with the LSB first

9 0x00

10 0x00

11 0x46

12 0x02

13 0x64

14 0x00

15 0x89 MSB

16 0x68 Data bits length

Tag user data, right justified, in hexadecimal, with the LSB first

17 0xCC LSB

18 0xBB

19 0xAA

20 0x99

21 0x88

22 0x77

23 0x66

24 0x55

25 0x44

26 0x33

27 0x22

28 0x11

29 0x00 MSB

30 0x14 12 bytes EPC Gen2 Type indicator The 2nd Tag

RFID Readers, Software Interface Control Guide6-22

See the definition of command 0x22 for the sample of the final status packet.

31 0x00 LSB

Tag ID in hexadecimal, with the LSB first

The 2nd TagData field

32 0x00

33 0x80

34 0x59

35 0x04

36 0x26

37 0x21

38 0x00

39 0xC0

40 0x80

41 0x69

42 0x20 MSB

43 0x68 Data bits length

Tag user data, right justified, in hexadecimal, with the LSB first

44 0xCC LSB

45 0xBB

46 0xAA

47 0x99

48 0x88

49 0x77

50 0x66

51 0x55

52 0x44

53 0x33

54 0xDD

55 0xEE

56 0xFF MSB

57 CRC LSB of the CRC-16CRC

58 CRC MSB of the CRC-16

Table 6-24. Read With Payload Command, Tag IDs (Continued)

Byte Order Value Description

Byte Stream Command Definitions 6-23

Kill Specific (32 hex) Kills and optionally erases fields of a specific RFID tag.

Command Example:

Reader with node address 0x04 and using antenna 0xA0 is to kill a specific RFID tag in its field.

Response Example:

Response packets for when the RFID tag was killed by antenna with index 0xA0.

Table 6-25. Kill Specific, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 0x04 RS485 network node address

2 0x13/0x17 /0x14/0x18

Packet length excludes SOF, but includes the CRC Note: The packet length field is used to determine whether a 3-byte or a 4-byte kill code is specified.

3 0x32 Command

4 0xA0 Antenna port indicator

5 0x00/0x10 The type of the tag: 0x00 - 8 bytes EPC tag 0x10 - 12 bytes EPC tag

+8/+12 Tag ID value (8 or 12 bytes long), with LSB first

+3/+4 3 or 4 bytes kill code, with LSB first. (class 1 kill code is positioned in the LSB)

+10x00~0x02

Specifies if any fields are to be erased before the tag is killed. Specified by: Bit 0: =1 - erase tag ID Bit 1: =1 - erase user data

+1 CRC LSB of the CRC-16

+1 CRC MSB of the CRC-16

Table 6-26. Kill Specific, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame Response packet header

1 0x04 RS485 network node address

2 0x06 Packet length except SOF

3 0x32 Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 Error code for the kill operation

6 CRC LSB of the CRC-16 CRC

7 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-24

Write Tag (33 hex)The Write Tag command writes any or all fields (tag ID, user data and kill code) of a specific RFID tag. Select the options using the parameter flags.

Currently only the WRITEOPTIONS of WRITE_ID and WRITE_DATA are supported, none of the LOCKOPTIONS are supported.

The air protocol class (EPC 1.1 Class 0/Class 1) is determined by the set parameter block command.

Gen 2 tags use C1G2 Write (52hex) command to write to memory banks. Write Tag (33 hex) on page 6-24 and C1G2 Write (52hex) on page 6-39 can be combined in an action sequence to write to tags in a mixed tag class population.

Table 6-27. Write Tag, Options

Options Description

IDTYPE The IDTYPE specifies the encoding scheme. The reader correctly positions, size and CRC protect the ID field based on the encoding scheme and the current class mode (class 0 or class 1) of operation. An unknown encoding type will cause the command to fail. 0x00 - 8 bytes (64 bits) EPC Tag ID 0x10 - 12 bytes (96 bits) EPC Tag ID

ERASEOPTIONS Its bits specify which, if any, fields to be erased before the tag is killed. Bit order Field name Description 0 ERASE_ID =1, erase tag ID 1 ERASE_DATA =1, erase tag user data All others Reserved, always =0

Previously written or locked fields can not be erased.

WRITEOPTIONS Specifies which, if any, fields to be written during the write operation. Bit order Field name Description

Bit order Field name Description 0 WRITE_ID =1, write tag ID 1 WRITE_DATA =1, write tag user data 2 WRITE_KILL =1, write kill 3 KILL CODE Bytes =1, 4 byte Kill Code

=0, 3 byte Kill Code All others Reserved, always =0

DATAWRITEMODES Specifies how the data write is performed (currently not used - use set to 0 if WRITE_DATA).

LOCKOPTIONS Specifies which, if any, fields to be locked in this operation.Bit order Field name Description

Bit order Field name Description 0 LOCK_ID =1, lock tag ID 1 LOCK_DATA =1, lock tag user data 2 LOCK_KILL =1, lock kill All others Reserved, always =0

Note: Once a field is locked, it cannot be erased or written to.

Byte Stream Command Definitions 6-25

Command Example:

Reader with node address of 04hex and using antenna A0hex is to perform a write oriented operation on a specific RFID tag in its field.

Table 6-28. Write Tag, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 0x04 RS485 network node address

2 Packet length excludes SOF, but includes the CRC

3 0x33 Command

4 0xA0 Antenna port indicator

5 0x10 IDTYPE, 12 bytes EPC tag

6 0x00~0x68 IDLEN, the number of significant bits to match in the pattern. 0 indicates that no pattern is provided, all tags in field are addressed.

7~18 IDBITS(byte length determined by IDTYPE): The ID to be written into a tag or the tag ID used to singulate a tag when writing user data or kill fields.

19 ERASEOPTIONS

20 WRITEOPTIONS

[+3]/[+4] [KILLCODE] Optional. 3 or 4 bytes MSB LSB as specified by WRITEOPTIONS (class 1 kill code is positioned in the LSB), Only present when WRITE_KILL has been specified

[+1] [DATAWRITEMODES] Optional. 1 byte, only present when WRITE_DATA is specified

[+1] [DATABITLEN] Optional. 1 byte, only present when WRITE_DATA is specified

[+0~13] [DATABYTES] 0~13 bytes of data based on DATABITLEN ((DATABITLEN-1)/8)+1 (data is padded with zeros as appropriate on tag)

[+1] 0x00~0x68 [DATABITPOS] representing the bit offset within the data field to start the write, only present when WRITE_DATA is specified

+1 LOCKOPTIONS: 1 byte

+1 CRC LSB of the CRC-16

+1 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-26

Response Example:

Response packets for when the RFID tag was written by antenna with index 0xA0.

Table 6-29. Write Tag, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x10 Packet length except SOF

3 0x33 Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 ErrCode0: global error code

Data Field

6 ErrCode1: write page 0 error code

7 ErrCode2: write page 2 error code

8 ErrCode3: write page 3 error code

9 ErrCode4: erase page 0 error code

10 ErrCode5: erase page 2 error code

11 ErrCode6: erase page 3 error code

12 ErrCode7: lock page 0 error code

13 ErrCode8: lock page 2 error code

14 ErrCode9: lock page 3 error code

15 CRC LSB of the CRC-16CRC

16 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-27

Error code descriptions:

Table 6-30. Write Tag, Error Codes

Error code Description

0xE8 Page 3 verify error

0xE9 Page 2 verify error

0xEB Read user data error

0xEC Bit read error

0xED Bit write inhibit error

0xEE Bit write error

0xEF Skip bit error

0xF0 Page 3 write error

0xF1 Page 2 write error

0xF2 Page 0 write error

0xF3 Page 3 erase error

0xF4 Page 2 erase error

0xF5 Page 0 erase error

0xF6 Page 3 lock error

0xF7 Page 2 lock error

0xF8 Page 0 lock error

0xF9 No tag response error

0xFA Command error

0xFB CRC error

0xFC Traversal error

0xFD Invalid page error

0xFE No page to program

0xFF Wrong ID type

0 No error

1 Function not executed

RFID Readers, Software Interface Control Guide6-28

Set Light Indicator (3Ahex)The DC400 Light Indicator Box has four lights (red and green lights on both right and left sides) can be turned on or off using this command.

Command Example:

For the reader with node address of 04hex:

• Turn on the left green light for one second• Turn on the right green light indefinitely, until it is explicitly turned off by another command• Turn off the left red light

Table 6-31. Set Light Indicator, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 0x04 RS485 network node address

2 0x0B Packet length excludes SOF, but includes the CRC

3 0x3A Command

4 0x58 Light selection mask, its bits determines which light(s) are affected by this command. Set the bit value to "1" to select the light. All reserved bits should always set as "0".

Bit order Definition 0 Reserved 1 Right side red light 2 Reserved 3 Right side green light 4 Left side red light 5 Reserved 6 Left side green light 7 Reserved

5 0x48 Light action mask, with the same bit definition as the above Light selection mask. Set the bit value to "1" to turn it on and "0" to turn it off. All reserved bits should always set as "0".

6 0x00 Two optional time out fields.• For each bit set in the above action mask, there is a corresponding time out field which is two byte long, with MSB first.• The first time out field corresponds to the least significant bit that is set to "1" in the action mask.• The number in this field indicates how long the light will stay on, in units of one hundred milliseconds.

7 0x00

8 0x00

9 0x0A

10 CRC LSB of the CRC-16

11 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-29

Table 6-32. Set Light Indicator, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x06 Packet length except SOF

3 0x3A Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 CRC LSB of the CRC-16CRC

6 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-30

Get Motion Detector & Light Status Command (40hex)Get current motion detector and light status.

Table 6-33. Get Motion Detector & Light Status Command, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Request packet header1 0x04 RS485 network node address (0x00 ~ 0x1F)

2 0x05 Packet length excludes SOF, but includes the CRC

3 0x40 Command

4 CRC LSB of the CRC-16CRC

5 CRC MSB of the CRC-16

Table 6-34. Get Motion Detector & Light Status Command, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x08 Packet length except SOF

3 0x40 Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 0x00~0x0F Current 2 motion detector status Bit order Name Value 0 Right Motion 1-Open/0-Close 1 Left Motion 1-Open/0-Close 2 Right Motion II 1-Open/0-Close 3 Left Motion II 1-Open/0-Close

6 0x00~0x3F Current 6 light status. Bit order Name Value 0 Right Red 1-On/0-Off 1 Right Yellow 1-On/0-Off 2 Right Green 1-On/0-Off 3 Left Red 1-On/0-Off 4 Left Yellow 1-On/0-Off 5 Left Green 1-On/0-Off

7 CRC LSB of the CRC-16CRC

8 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-31

Set Light On/Off Command (41hex)Set selected lights to be on/off.

Response Example:

The response has no data field, only the status field appears to indicate the result.

Table 6-35. Set Light On/Off Command, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Request packet header

1 0x04 RS485 network node address (0x00 ~ 0x1F)

2 0x07 Packet length excludes SOF, but includes the CRC

3 0x41 Command

4 0x00~0x3F Selection mask for the 6 lights.Bit order Name Value 0 Right Red 1-Selected/0-Not 1 Right Yellow 1-Selected/0-Not 2 Right Green 1-Selected/0-Not 3 Left Red 1-Selected/0-Not 4 Left Yellow 1-Selected/0-Not 5 Left Green 1-Selected/0-Not

5 0x00~0x3F Specify on/off for the selected lights. This field has the same bit order definition as above field. Only selected lights are set to the on/off, bit value for non-selected lights are ignored.

Bit order Name Value 0 Right Red 1-On/0-Off 1 Right Yellow 1-On/0-Off 2 Right Green 1-On/0-Off 3 Left Red 1-On/0-Off 4 Left Yellow 1-On/0-Off 5 Left Green 1-On/0-Off

6 CRC LSB of the CRC-16CRC

7 CRC MSB of the CRC-16

Table 6-36. Set Light On/Off Command, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x06 Packet length except SOF

3 0x41 Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 CRC LSB of the CRC-16CRC

6 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-32

Setup Motion Detector Status Change Notification Command (42hex)Configure which motion detector status needs to be monitored. Any status change at the specified pins triggers a host notification. Motion detection support for must be enabled from reader configuration page of Web Console.

Response Example:

The response for this command has no data field, only the status field appears to indicate the result.

Table 6-37. Setup Motion Detector Status Change Notification, Command Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Request packet header1 0x04 RS485 network node address (0x00 ~ 0x1F)

2 0x06 Packet length excludes SOF, but includes the CRC

3 0x42 Command

4 0x00~0x0F Selection mask for the 2 motion detector status.Bit order Name Value 0 Right Motion 1-Selected/0-Not 1 Left Motion 1-Selected/0-Not 2 Right Motion II 1-Selected/0-Not 3 Left Motion II 1-Selected/0-Not

Note: 0x00 indicates that the detection and notification are disabled

5 0x00~0xFF Detection interval, in terms of 10ms. Note: 0x00 -- use the default value of 50ms. It is the same as using 0x05.

6 CRC LSB of the CRC-16CRC

7 CRC MSB of the CRC-16

Table 6-38. Setup Motion detector Status Change Notification, Response Example

Byte Order Value Description

0 0x01 SOF, Start of Frame

Response packet header

1 0x04 RS485 network node address

2 0x06 Packet length except SOF

3 0x42 Mirror of the Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 CRC LSB of the CRC-16CRC

6 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-33

Motion Detector Status Change Notification Command (43hex)There is no request packet for this command, only a response packet.

If motion detector status monitoring is enabled and any of the monitored motion detectors have a status change the reader sends a response packet with this command value in the command mirror field to the host (without receiving a request from the host).

The response for this command has no data field, only the status field appears to indicate the result.

Table 6-39. Motion Detector Status Change Notification Command, Response Packet Example

Byte Order Value Description

0 0x01 SOF, Start Of Frame

Response packet header

1 0x04 RS485 network node address

2 0x08 Packet length except SOF

3 0x43 Mirror of the command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 0x00~0x0F Current 2 motion detector status:Bit order Name Value 0 Right Motion 1-Open/0-Close 1 Left Motion 1-Open/0-Close 2 Right Motion II 1-Open/0-Close 3 Left Motion II 1-Open/0-Close

6 0x00~0x0F Current 2 motion detector selected maskBit order Name Value 0 Right Motion 1-Selected/0-Not 1 Left Motion 1-Selected/0-Not 2 Right Motion II 1-Selected/0-Not 3 Left Motion II 1-Selected/0-Not

7 CRC LSB of the CRC-16CRC

8 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-34

C1G2 Filter (50hex)The C1G2 Filter command sets the filter for commands 0x51, 0x52 and 0x53.

Table 6-40. C1G2 Filter, Command Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x50 Command

4 4 >

Antenna port mask Set Bits 0-31, corresponding to Antenna #1-8 to configure, clear to not configure, LSW first.Antenna Port #1 (0xA0): 0x00000001 (bit 0) Antenna Port #2 (0xB0): 0x00000100 (bit 8) Antenna Port #3 (0xC0): 0x00010000 (bit 16) Antenna Port #4 (0xD0): 0x01000000 (bit 24) Antenna Port #5 (0xA1): 0x00000002 (bit 1) Antenna Port #6 (0xB1): 0x00000200 (bit 9) Antenna Port #7 (0xC1): 0x00020000 (bit 17) Antenna Port #8 (0xD1): 0x02000000 (bit 25)

8 1 >Memory bank: 01: EPC DSP filtering on other mem banks not yet supported

9 2 > Filter start bit

11 2 n Filter length bits

13 m=(n+7)/8 > Tag data: Bit vector (tag filter Pattern), MSB first If Filter length is zero then tag data field does not exist.

13 + m m=(n+7)/8 >Tag mask: Bit vector, MSB first. The TagMask vector specifies target tag bits are to be considered in the filtering process. If bit in TagMask is "0" then bit of the target tag is a do not care (X). If Filter length is zero then tag mask field does not exist

13 + (2*m) 1 CRC LSB of the CRC-16

14 + (2*m) 1 CRC MSB of the CRC-16

Table 6-41. C1G2 Filter Command, Response Format

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 6 Packet length excludes SOF, but includes the CRC

3 0x50 Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 CRC LSB of the CRC-16

6 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-35

C1G2 Read (51hex)The C1G2 Read command reads a tag EPC ID (including PC word) and optionally a payload (a part or all of one of the tag memory banks reserved, EPC, TID, or user). C1G2 Read command reads the payload in a single memory bank.

RSSI is used to indicate the Received Signal Strength Indication. RSSI is a measurement of the received radio signal strength (energy integral, not the quality).RSSI is generic radio receiver technology metric, is typically invisible to the end user, but is used by wireless networking (IEEE 802.11 protocol family) users.RSSI is often sampled in the intermediate frequency (IF) stage before the IF amplifier. In zero-IF systems, it is sampled in the baseband signal chain, before the baseband amplifier. RSSI output is often a DC analog level. It can also be sampled by an internal ADC and the resulting codes available directly or via peripheral or internal processor bus.

Values reported in web-console are:• Very Low• Medium Low• Medium High• High

RFID Readers, Software Interface Control Guide6-36

The read command with memory bank option 0xffff in the action sequence list is honored only if it is the only command in the list. Or if a legacy command is in front of it and it is the last command in the action sequence list (the read command is the only Gen 2 command in the list). In all other cases it is ignored and it will not cause a list error.

The number of words in the read command is bound by the byte stream maximum packet size. The byte stream response packet size is max 256 bytes. Currently based on maximum length of EPC+ PC (34 bytes) and maximum user payload length (32 bytes):

• Standalone 0x51 command response packet has room for 3 tags per packet; • For action sequence (0x51, 0x52, 0x53, 0x54) response packet has only room for 2 maximum length packets.

Table 6-42. C1G2 Read, Command Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 0x10 Packet length excludes SOF, but includes the CRC

3 1 0x51 Command

4 1 > Antenna port indicator:0xA0: Port #1 0xB0: Port #2 0xC0: Port #30xD0: Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

5 1 0x00 Reserved (set to "0")

6 4 > Access Password (LSB first).

10 1 > MB, Memory Bank: 0: Reserved memory bank 1: EPC 2: TID 3: User 255 (0xFF): no payload, just read EPC ID

11 2 > Start Word, LSB first Specifies the starting word address for the payload. Words are 16 bits in length.

13 2 > WordCount, LSB first. Specifies the number of 16-bit words to be returned in the payload.

15 1 CRC LSB of the CRC-16

16 1 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-37

Response Format - Intermediate (Data) Packets

The intermediate response packets (sent in response to successful tag reads) use the format:

Table 6-43. C1G2 Read, Response Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x51 Mirror of Command

4 1 0x01 Status: in progress, =0x41 if parameter has not been set

5 1 > Antenna port indicator 0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0xD0: Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

6 1 N number of tags in this packet

7 - 6+m1 m1 > Tag-1 data (see Table 6-44)

... ... ... ...

... mn > Tag-n data (see Table 6-44)

7 + mi 1 CRC LSB of the CRC-16

8 + mi 1 CRC MSB of the CRC-16

Σ

Σ

RFID Readers, Software Interface Control Guide6-38

Tag Data Format

For each tag read, the data is in the format:

Response Format - Final (Summary) Packet

Table 6-44. C1G2 Read, Tag Data Format

Byte Order Size (bytes) Value Description

0-1 2 Tag Type Identifier:LSB: Tag Type

0x00: EPC Others: Reserved

MSB: Air Protocol 0x02: Class 1 Gen 2 Others: Reserved

2-5 4 Timestamp (LSB first)

6-7 2 RSSI (LSB first)

8-9 2 W EPC ID + PC, length in words

10 m=2*W > EPC ID + PC, (LSB first)

10 + m 1 0x51 Payload type

11+m 1 > Memory bank:0: Reserved memory bank 1: EPC 2: TID 3: User

12+m 2 > Payload start word

14 + m 2 N The number [N] words in the returned payload field

16+m ~ 16+m+n

n=2*N > Payload (LSB first)If previous byte (payload length) contains 0, this byte contains the payload result code for Gen2.

Table 6-45. C1G2 Read, Response Format - Final

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 0x0A Packet length excludes SOF, but includes the CRC

3 0x51 Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 0x00 Number of tags reported (LSB)

6 0x00 Number of tags reported (MSB)

7 0x00 Total number of errors (LSB)

8 0x00 Total number of errors (MSB)

9 CRC LSB of the CRC-16

10 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-39

C1G2 Write (52hex)The Write command writes all or part of a tag memory bank (reserved, EPC, TID, or user). C1G2 Write command applies to a single memory bank.

Table 6-46. C1G2 Write, Command Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x52 Command

4 1 > Antenna port indicator 0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0xD0: Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

5 1 0x00 Reserved (set to "0")

6 4 > Access Password (LSB first).

10 1 > MB, Memory Bank: 00: Reserved 01: EPC 10: TID 11: User

11 2 > Starting Word, LSB first. Specifies the starting word address for the memory write. Words are 16 bits in length.

13 2 N Word Count, LSB first.

15 ~ 15 + 2*n-1 2*n > Data to be written (LSB first)

15+2*n 1 CRC LSB of the CRC-16

16+2*n 1 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-40

Response Format - Intermediate Data Packets

The intermediate response packets (sent in response to successful tag writes) use the format:

Table 6-47. C1G2 Write, Response Format - Intermediate Data Packets

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x52 Mirror of Command

4 1 0x01 Status: in progress, =0x41 if parameter has not been set

5 1 > Antenna port indicator 0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0xD0: Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

6 1 N Number of tags in this packet

7 - 6+m1 m1 > Tag-1 data (see Table 6-48)

... ... ... ...

... mn > Tag-n data (see Table 6-48)

7 + mi 1 CRC LSB of the CRC-16

8 + mi 1 CRC MSB of the CRC-16

Σ

Σ

Byte Stream Command Definitions 6-41

Tag Data Format

For each tag read, the data is in the format:

Response Format - Final (Summary) Packet

Table 6-48. C1G2 Write, Tag Data Format

Byte Order Size (bytes) Value Description

0-1 2 Tag Type IdentifierLSB: Tag Type

0x00: EPC Others: Reserved

MSB: Air Protocol 0x02: Class 1 Gen 2 Others: Reserved

2-5 4 Timestamp (LSB first)

6-7 2 RSSI (LSB first)

8-9 2 W EPC ID + PC, length in words

10 m=2*W > EPC ID + PC, (LSB first)

10 + m 1 0x52 Payload type

11+m 1 > Memory bank: 0: Reserved memory bank 1: EPC 2: TID 3: User

12 + m 1 > Gen2 write result, see Table 6-47 on page 6-40

13 + m 2 > Number of words written (the numbers of words written as a result of write operation. If the number of words is not equal of the requested number to write, the Result field shall be non-zero); LSB first.

Table 6-49. C1G2 Write, Final Packet Format

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 0x0A Packet length excludes SOF, but includes the CRC

3 0x52 Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 0x00 Number of tags reported (LSB)

6 0x00 Number of tags reported (MSB)

7 0x00 Total number of errors (LSB)

8 0x00 Total number of errors (MSB)

9 CRC LSB of the CRC-16

10 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-42

C1G2 Lock (53hex)The Lock command locks one or multiple Tag Memory banks (reserved, EPC, TID, or user).

Lock Mask FieldThe lock mask field definitions are:

Mask = 0: ignore the associated action field and retain the current setting.

Mask = 1: implement the associated action field and overwrite the current setting.

Table 6-50. C1G2 Lock, Command Format

Byte Order size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x53 Command

4 1 > Antenna port indicator 0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0xD0: Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

5 1 > Reserved (set to "0")

6~9 4 > Access Password (LSB first).

10~11 2 > Lock Mask (LSB; Bit0 - Bit7 first) - (see Table 6-51).Bits 10-15: reserved, always 0.

12~13 2 > Lock Action (LSB; Bit0 - Bit7 first) - (see Table 6-51).Bits 10-15: reserved, always 0.

14 1 CRC LSB of the CRC-16

15 1 CRC MSB of the CRC-16

Table 6-51. Lock Mask Field Definitions

Field Kill psw Access pwd EPC memory TID memory User memory

Bits 9 8 7 6 5 4 3 2 1 0

Description skip/write skip/write skip/write skip/write skip/write skip/write skip/write skip/write skip/write skip/write

Byte Stream Command Definitions 6-43

Lock Action Fields

The lock action fields definitions are:

Action = 0: remove lock for the associated memory location.

Action = 1: assert lock or permalock for the associated memory location.

The action fields functionality is described in Table 6-53.

Lock Action Field Functionality

The lock action field functionality definitions for EPC, TID, USER are:

Lock Action Field Functionality for Access and Kill Passwords

The lock action field functionality for Access and Kill passwords:

Table 6-52. Lock Action Field

Field Kill psw Access pwd EPC memory TID memory User memory

Bits 9 8 7 6 5 4 3 2 1 0

Description pwd read/write perma lock pwd read/write perma lock pwd write perma lock pwd write perma lock pwd write Perma lock

Table 6-53. Lock Action Field Functionality

Lock Permalock Description

0 0 Associated memory bank is writable from either the open or secured states.

0 1 Associated memory bank is permanently writable from either the open or secured states and may never be locked.

1 0 Associated memory bank is writable from the secured state but not from the open state.

1 1 Associated memory bank is not writable from any state.

Table 6-54. Lock Action Field Functionality for Access and Kill Passwords

Lock Permalock Description

0 0 Associated password location is readable and writable from either the open or secured states.

0 1 Associated password location is permanently readable and writable from either the open or secured states and may never be locked.

1 0 Associated password location is readable and writable from the secured state but not from the open state.

1 1 Associated password location is not readable or writable from any state.

RFID Readers, Software Interface Control Guide6-44

Response Format - Intermediate Data Packets

The intermediate response packets (sent in response to successful tag locks) format:

Tag Data Format

For each tag read, the data format is:

Table 6-55. Lock, Response Format - Intermediate Data Packets

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x53 Mirror of Command

4 1 0x01 Status: in progress, =0x41 if parameter has not been set

5 1 >

Antenna port indicator 0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0xD0: Port #4 0xA1: Port #5 0B1: Port #6 0xC1: Port #7 0xD1: Port #8

6 1 N Number of tags in this packet

7 - 6+m1 m1 > Tag-1 data (see Table 6-56)

... ... ... ...

... mn > Tag-n data (see Table 6-56)

7 + mi 1 CRC LSB of the CRC-16

8 + mi 1 CRC MSB of the CRC-16

Table 6-56. Lock, Tag Data Format

Byte Order Size (bytes) Value Description

0-1 2 Tag Type Identifier LSB: Tag Type

0x00: EPC Others: Reserved

MSB: Air Protocol 0x02: Class 1 Gen 2 Others: Reserved

2-5 4 Timestamp (LSB first)

6-7 2 RSSI (LSB first)

8-9 2 W EPC ID + PC, length in words

10 m=2*W > EPC ID + PC, (LSB first)

10 + m 1 0x53 Payload type

11 + m 1 > Gen2 lock result, see Table 6-65 on page 6-50

Σ

Σ

Byte Stream Command Definitions 6-45

Response Format - Final (Summary) Packet

The final response packet has this format:

Table 6-57. Lock, Response Format - Final (Summary) Packet

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 0x0A Packet length excludes SOF, but includes the CRC

3 0x53 Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 0x00 Number of tags reported (LSB)

6 0x00 Number of tags reported (MSB)

7 0x00 Total number of errors (LSB)

8 0x00 Total number of errors (MSB)

9 CRC LSB of the CRC-16

10 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-46

C1G2 Kill (54hex)The Kill command kills a specific Gen2 tag with a specific kill password. The filter is required and must specify the entire tag EPC ID.

Table 6-58. C1G2 Kill, Command Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x54 Command

4 1 > Antenna port indicator 0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0xD0: Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

5 1 0x00 Reserved (set to "0")

6 1 W Tag Length Filter, in words (w=1 - 16). Must be entire tag length

7 ~ 7+2*w-1 2*w > Tag Filter pattern, MSB first. The bits in the pattern must match all the bits in the EPC ID + PC field.

7+2*w ~ 7+4*w-1 2*w > All bits of tag ID and Protocol-Control (PC) bits, that define the length of Tag ID, must be set to "1".

7+4*w ~ 10+4*w 4 > Kill Password (LSB first).

11+2*w 1 CRC LSB of the CRC-16

12+2*w 1 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-47

Response Format - Intermediate (Data) Packets

The intermediate response packets (sent in response to successful tag locks) use the format:

Tag Data Format

Data format for each tag read:

Table 6-59. C1G2 Kill, Response Format - Intermediate (Data) Packets

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x54 Mirror of Command

4 1 0x01 Status: in progress, =0x41 if parameter has not been set

5 1 > Antenna port indicator 0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0xD0: Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

6 1 N number of tags in this packet

7 - 6+m1 m1 > Tag-1 data (see Table 6-60)

... ... ... ...

... mn > Tag-n data (see Table 6-60)

7 + mi 1 CRC LSB of the CRC-16

8 + mi 1 CRC MSB of the CRC-16

Table 6-60. C1G2 Kill, Tag Data Format

Byte Order Size (bytes) Value Description

0-1 2 Tag Type Identifier LSB: Tag Type

0x00: EPC Others: Reserved

MSB: Air Protocol 0x02: Class 1 Gen 2 Others: Reserved

2-5 4 timestamp (LSB first)

6-7 2 RSSI (LSB first)

8-9 2 W EPC ID + PC, length in words

10 m=2*W > EPC ID + PC, (LSB first)

10 + m 1 0x54 Payload type

11 + m 1 > Gen2 lock result, see Table 6-65 on page 6-50

Σ

Σ

RFID Readers, Software Interface Control Guide6-48

Response Format - Final (Summary) Packet

The final response packet format:

Table 6-61. C1G2 Kill, Response Format - Final (Summary) Packet

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 0x0A Packet length excludes SOF, but includes the CRC

3 0x54 Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 0x00 Number of tags reported (LSB)

6 0x00 Number of tags reported (MSB)

7 0x00 Total number of errors (LSB)

8 0x00 Total number of errors (MSB)

9 CRC LSB of the CRC-16

10 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-49

C1G2 Extended Lock (55hex)This section specifies the custom command that extends functionality of the Class-1Generation-2 (C1G2) Lock command to allow read locking ability.

Lock Mask Field

The lock mask field definitions:

Mask = 0: ignore the associated action field and retain the current setting.

Mask = 1: implement the associated action field and overwrite the current setting.

Table 6-62. C1G2 Extended Lock, Command Format

Byte Order size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x55 Command

4 1 >

Antenna port indicator0xA0: Port #10xB0: Port #20xC0: Port #30xD0: Port #40xA1: Port #50xB1: Port #60xC1: Port #70xD1: Port #8

5 1 > Reserved (set to "0")

6~9 4 > Access Password (LSB first).

10~11 2 > Lock Mask (LSB; Bit0 - Bit7 first) - (see Table 6-63).

12~13 2 > Lock Action (LSB; Bit0 - Bit7 first) - (see Table 6-63).

14 1 CRC LSB of the CRC-16

15 1 CRC MSB of the CRC-16

Table 6-63. C1G2 Extended Lock, Lock Mask Field Definitions

Field Kill pwd Access pwd EPC memory User memory

Bits 16 15 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Description skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

skip/write

RFID Readers, Software Interface Control Guide6-50

Lock Action Fields

The lock action field definitions are:

Action = 0: remove lock for the associated memory location.

Action = 1: assert lock or permalock for the associated memory location.

The functionality of the action fields is described in Table 6-65.

Lock Action Field Functionality

Table 6-65 defines the lock action field functionality for EPC, TID, USER:

Table 6-64. C1G2 Extended Lock, Lock Action Field Definitions

Field Kill pwd Access pwd EPC memory User memory

Bits 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Description pwd write

perma w-lock

pwd read

perma r-lock

pwd write

perma w-lock

pwd read

perma r-lock

pwd write

perma w-lock

pwd read

perma r-lock

pwd write

perma w-lock

pwd read

perma r-lock

Table 6-65. C1G2 Extended Lock, Lock Action Field Functions

pwd-write perma w-lock Description

0 0 Associated password or memory bank is writable from any either the open or secured states.

0 1 Associated password or memory bank is permanently writable from either the open or secured states and may never be write-locked.

1 0 Associated password or memory bank is writable from secured state but not from the open state.

1 1 Associated password or memory bank is not writable from any state.

pwd-read perma r-lock Description

0 0 Associated password or memory bank is readable from any state.

0 1 Associated password or memory bank is permanently readable from any state and may never be read-locked.

1 0 Associated password or memory bank is readable from secured state but not from open state.*

1 1 Associated password or memory bank is not readable from any state.*

Byte Stream Command Definitions 6-51

Response Format - Intermediate Data Packets

The intermediate response packets (sent in response to successful tag locks) use the format:

For each tag read, the data is in the format:

Table 6-66. C1G2 Extended Lock, Response Format - Intermediate Data Packets

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x55 Mirror of Command

4 1 0x01 Status: in progress, =0x41 if parameter has not been set

5 1 >

Antenna port indicator 0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0:xD0 Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

6 1 N number of tags in this packet

7 - 6+m1 m1 > Tag-1 data (see Table 6-67)

. . . . . . . . . . . .

mn > Tag-n data (see Table 6-67)

7 + mi 1 CRC LSB of the CRC-16

8 + mi 1 CRC MSB of the CRC-16

Table 6-67. C1G2 Extended Lock, Tag Data Format

Byte Order Size (bytes) Value Description

0-1 2 Tag Type Identifier LSB: Tag Type

0x00: EPC Others: Reserved

MSB: Air Protocol 0x02: Class 1 Gen 2 Others: Reserved

2-5 4 timestamp (LSB first)

6-7 2 RSSI (LSB first)

8-9 2 W EPC ID + PC, length in words

10 m=2*W > EPC ID + PC, (LSB first)

10 + m 1 0x55 Payload type

11 + m 1 > Gen2 lock result, see Table 6-65 on page 6-50

Σ

Σ

RFID Readers, Software Interface Control Guide6-52

Response Format - Final (Summary) Packet

The final response packet format is:

How to use an Action SequenceAn Action Sequence provides flexibility and processing efficiency for access commands in Gen2. With an Action Sequence all tags that are inventoried are issued all access commands in the list immediately after singulation. Only one inventory phase occurs reducing the overhead time that would occur if multiple access operations were separately issued.

In addition, an Action Sequence allows combining legacy action commands for Class0 and Class1 with commands providing complete C1G2 (Gen2) mandatory support. In this scenario the legacy commands do not support the limited Gen2 functionality as they do in stand alone mode.

A function executed (in Stand Alone Mode) is the operation of using the byte stream-protocol commands outside the Action Sequence.

The following legacy action commands can be added into an Action Sequence (they must be the first entry):

• Read Full Field (0x22)• Read With Payload (0x31)• Kill Specific (0x32)• Write Tag (0x33)

The following Class1V2 action commands can be added into an Action Sequence:

• C1G2 Read (0x51)• C1G2 Write (0x52)• C1G2 Lock (0x53)• C1G2 Kill Specific (0x54)• C1G2 Extended Lock (0x55)

Table 6-68. C1G2 Extended Lock, Response Format - Final Packet

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 0x0A Packet length excludes SOF, but includes the CRC

3 0x55 Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 0x00 Number of tags reported (LSB)

6 0x00 Number of tags reported (MSB)

7 0x00 Total number of errors (LSB)

8 0x00 Total number of errors (MSB)

9 CRC LSB of the CRC-16

10 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-53

All the previously referenced commands can be executed in stand alone mode. There is a difference in supporting the Gen2 partial functionality within the legacy commands. In stand alone mode Gen2 is supported as it was. However, if added to an Action Sequence these commands only support Class0 and Class1 air protocols.

The reader always remembers command 0x50 (filter) until a new one is sent. Command 0x54 (Kill Specific) does not use command 0x50, it has its own hard filter in which the entire EPC ID is specified. Command 0x54 will not overwrite the filter setting from command 0x50.

Additional limitations:

• Only one legacy command allowed in each Action Sequence• The legacy command must be the first entry in sequence• Currently, only one Action Sequence is supported • Only 6 entries are currently supported in Action Sequence • Currently, each command is only once allowed in Action Sequence

• The read command (C1G2 Read, 0x51) with memory bank option 0xffff in the action sequence list is honored only if it is the only command in the list or if a legacy command is in front of it and it is the last command in the action sequence list (the read command is the only Gen 2 command in the list). In all other cases it is ignored and it will not cause a list error.

• Number of words in the read command is bound by the byte stream maximum packet size. The byte stream response packet size is max 256 bytes. Currently based on maximum length of EPC+ PC (34 bytes) and maximum user payload length (32 bytes): a) standalone 0x51 command response packet has room for 3 tags per packet; b) for action sequence (0x51, 0x52, 0x53, 0x54) response packet has only room for 2 maximum length packets

These commands are to used to manage an Action Sequence:

• Create Action Sequence (0x5A)• Finalize Action Sequence (0x5B)• Delete Action Sequence (0x5C)• Execute Action Sequence (0x5D)

To use commands in an Action Sequence use this sequence of operations:

• Create Action Sequence to start the process of building a sequence• Send the action commands to add commands into the Action Sequence (up to a maximum of 5 currently):

• The action commands are not executed after a Create Action Sequence command. They are only added and are not executed until after the Finalize Action Sequence command.

• If no more commands can be added an error is returned• Each Action command sent receives a response indicating whether there were errors in the command parameters

• Finalize Action Sequence finishes the process of creating an Action Sequence• Use the Execute Action Sequence command to execute the actions defined in the sequence. As long a sequence does exist

only the Execute Action Sequence needs to be issued to invoke the commands listed in the sequence.An Action Sequence is available to a Execute Action Sequence command until the sequence was deleted through the Delete Action command or an XR Series reader reset.

Any error during creation sequence will void/reset the sequence setup. An action command issued after an error during a creation sequence is executed as a stand alone command. It is not treated as a sequence entry. Issue the Create Action Sequence command again first, to set up the sequence again.

RFID Readers, Software Interface Control Guide6-54

Create Action Sequence (5Ahex)The Create Action Sequence command creates an action sequence for legacy commands 0x22, 0x31, 0x32, 0x33 and C1G2 commands 0x50, 0x51, 0x52, 0x53 and 0x59.

After issuing this command the above listed commands (legacy commands 0x22, 0x31, 0x32, 0x33 and C1G2 commands 0x50, 0x51, 0x52, 0x53 and 0x54) are not directly executed - they are added to the sequence.

Only 1 legacy command is allowed in a sequence. The legacy command allowed in a sequence must be the first entry. No legacy command allowed after C1G2 command is added.

Only 1 sequence currently can be created.

Currently a maximum of 6 entries possible.

Currently every command only once allowed in a sequence.

In case of an error the byte following the status byte represents the error code.

Table 6-69. Create Action Sequence, Command Format

Byte Order size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 5 Packet length excludes SOF, but includes the CRC

3 1 0x5A Command

4 1 CRC LSB of the CRC-16

5 1 CRC MSB of the CRC-16

Table 6-70. Create Action Sequence, Response Format

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 6 Packet length excludes SOF, but includes the CRC

3 0x5A Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 CRC LSB of the CRC-16

6 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-55

Common Action Commands Response Format

This is the common response format of an action commands when it is added to an action sequence.

Table 6-71. Common Response Format of Action Commands

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 6 Packet length excludes SOF, but includes the CRC

3 CMD Mirror of Command (0x31, 0x32, 0x33, 0x50, 0x51, 0x52, 0x53 or 0x54)

4 0x00 Status: complete, =0x40 if parameter has not been set

5 CRC LSB of the CRC-16

6 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-56

Finalize Action Sequence (5Bhex)The Finalize Action Sequence command finalizes a action sequence for legacy commands 0x22, 0x31, 0x32, 0x33 and C1G2 commands 0x51, 0x52, 0x53, 0x54 and 0x55.

In case of an error the byte following the status byte represents the error code.

Table 6-72. Finalize Action Sequence, Command Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 6 Packet length excludes SOF, but includes the CRC

3 1 0x5B Command

4 1 > Specifies if the current action sequence is to be finalized or discarded: 0: finalize 1: discard

5 1 CRC LSB of the CRC-16

6 1 CRC MSB of the CRC-16

Table 6-73. Finalize Action Sequence, Response Format

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 8 Packet length excludes SOF, but includes the CRC

3 0x5B Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 > The value of this field depends on requested action: finalize or discard.Finalize request: this field specifies the Sequence ID (1 Ö 254)Discard request: this fields is set to 0xFF

6 > Number of created sequence entries

7 CRC LSB of the CRC-16

8 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-57

Delete Action Sequence (5Chex)The Delete Action Sequence command deletes a action sequence for legacy commands 0x22, 0x31, 0x32, 0x33 and C1G2 commands 0x51, 0x52, 0x53 and 0x54.

In case of an error the byte following the status byte represents the error code.

Table 6-74. Delete Action Sequence, Command Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 6 Packet length excludes SOF, but includes the CRC

3 1 0x5C Command

4 1 > Delete specific sequence: Sequence ID (1 Ö 254) Delete all sequences: 0xFF

5 1 CRC LSB of the CRC-16

6 1 CRC MSB of the CRC-16

Table 6-75. Delete Action Sequence, Response Format

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 6 Packet length excludes SOF, but includes the CRC

3 0x5C Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 > This field represents a mirror of the requested sequence ID: Delete specific sequence: Sequence ID (1 Ö 254) Delete all sequences: 0xFF

6 CRC LSB of the CRC-16

7 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-58

Execute Action Sequence (5Dhex)The Execute Action Sequence command executes an action sequence for legacy commands 0x22, 0x31, 0x32, 0x33 and C1G2 commands 0x51, 0x52, 0x53 and 0x54.

Antenna port indicator overwrites antenna port indicator of added commands.

Table 6-76. Execute Action Sequence, Command Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 9 Packet length excludes SOF, but includes the CRC

3 1 0x5D Command

4 1 > Sequence ID (1 Ö 254)

5 1 > Antenna port indicator: 0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0xD0: Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

6 1 0x00 Reserved

7 1 0x00 Reserved

8 1 CRC LSB of the CRC-16

9 1 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-59

Response Format - Intermediate (Data) Packets

The intermediate response packets (sent in response to successful tag operation) have the format:

If a legacy action command is included in the Action Sequence, the first packet is an empty intermediate packet.

Example packet path with a successful tag operation through a legacy command:

- The intermediate packet of the Read Full Field command (0x22) and Read with Payload (0x31) are identical to their intermediate responses in stand alone operation. If one of these commands is part of a sequence their intermediate responses are part of the response packet stream of the Execute Action Sequence command, BUT not their final packets.

- Since the legacy action commands Write Tag and Kill Specific only have one response packet which is a final packet, they respond with the final packet changed into an intermediate packet (status byte is changed form 0x00 final to 0x01 in progress) inside the response packet stream of the Execute Action Sequence command.

Legacy commands used in an Action Sequence are not handling the limited Gen2 operations they do in stand alone mode.

Table 6-77. Execute Action Sequence, Response Format - Intermediate Data Packets

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 6 Packet length excludes SOF, but includes the CRC

3 0x5D Mirror of Command

4 0x01 Status: in progress, =0x41 if parameter has not been set

5 CRC LSB of the CRC-16

6 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-60

The intermediate packets of the new Gen2 commands have the format:

The payload type field can be used to delineate the tag data within a response packet during the parsing of the intermediate packet. If the value of payload type is not equal to the valid type (0x51, 0x52, 0x53, 0x54 and 0x55) and it presents the valid Tag Type Identifier that indicates the start of the new tag data.

Table 6-78. Execute Action Sequence, Intermediate Packets

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0x5D Mirror of Command

4 1 0x01 Status: in progress, =0x41 if parameter has not been set

5 1 > Antenna port indicator:0xA0: Port #1 0xB0: Port #2 0xC0: Port #3 0xD0: Port #4 0xA1: Port #5 0xB1: Port #6 0xC1: Port #7 0xD1: Port #8

6 1 N number of tags in this packet

7 - 6+m1 m1 > Tag-1 data (see Table 6-79)

... ... ... ...

... mn > Tag-n data (see Table 6-79)

7 + mi 1 CRC LSB of the CRC-16

8 + mi 1 CRC MSB of the CRC-16

Σ

Σ

Byte Stream Command Definitions 6-61

Tag Data Format for Command 0x51, 0x52, 0x53, 0x54 Operations:

Payload of Action Read Command 0x51:

Payload of Action Write Command 0x52:

Table 6-79. Execute Action Sequence, Tag Data Format for Command Operations

Byte Order Size (bytes) Value Description

0-1 2 Tag Type Identifier: LSB: Tag Type

0x00: EPC Others: Reserved

MSB: Air Protocol 0x02: Class 1 Gen 2 Others: Reserved

2-5 4 timestamp (LSB first)

6-7 2 RSSI (LSB first)

8-9 2 W EPC ID + PC, length in words

10 m=2*W > EPC ID + PC, (LSB first)

10+m 1 > Payload 1 type

n1 > Payload 1

. . . . . . . . .

1 > Payload j type

nj > Payload j

Table 6-80. Execute Action Sequence, Payload of Action Read Command

Byte Order Size (bytes) Value Description

0 1 > Memory bank: 0: Reserved memory bank 1: EPC 2: TID 3: User

1 2 > Payload start word.

3 2 N Payload length in words (16 bits per word)

5 2*N > Payload (LSB first) If previous byte (payload length) contains 0, this byte contains the payload result code. See Table 6-45 on page 6-38 for result codes.

Table 6-81. Execute Action Sequence, Payload of Action Write Command

Byte Order Size (bytes) Value Description

0 1 > Memory bank: 0: Reserved memory bank 1: EPC 2: TID 3: User

1 1 > Gen2 write result, see Table 6-47 on page 6-40

2 2 > Number of words written (The numbers of words written as a result of write operation. If the number of words is not equal of the requested number to write, the Result field shall be non-zero); LSB first

RFID Readers, Software Interface Control Guide6-62

Payload of Action Lock Command 0x53:

Payload of Action Kill Command 0x54

Payload of Action ReadLock Command 0x55:

Table 6-82. Execute Action Sequence, Payload of Action Lock Command

Byte Order Size (bytes) Value Description

0 1 > Gen2 lock result, see Table 6-65 on page 6-50

Table 6-83. Execute Action Sequence, Payload of Action Kill Command

Byte Order Size (bytes) Value Description

0 1 > Gen2 kill result, see Table 6-61 on page 6-48

Table 6-84. Execute Action Sequence, Payload of Action ReadLock Command

Byte OrderSize

(bytes) Value Description

0 1 > Gen2 lock result, see Table 6-65 on page 6-50

Table 6-85. Execute Action Sequence, Response Format - Final Packet

Byte Order Value Description

0 0x01 SOF, Start of Frame

1 > RS485 network node address

2 0x0A Packet length excludes SOF, but includes the CRC

3 0x5D Mirror of Command

4 0x00 Status: complete, =0x40 if parameter has not been set

5 0x00 Number of tags reported (LSB)

6 0x00 Number of tags reported (MSB)

7 0x00 Total number of errors (LSB)

8 0x00 Total number of errors (MSB)

9 CRC LSB of the CRC-16

10 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-63

C1G2 Commands Result CodeThe Gen2 result codes definitions are:

Table 6-86. C1G2 Commands Result Code

Error Code Description

0x00 Success

0x01 Undetermined state

0x02 Tag memory overrun error

0x03 Tag memory lock error

0x04 Tag insufficient Power error

0x05 Tag non specific error

0x06 Tag other error

0x07 Traversal error

0x08 Invalid page error

0x09 Protocol error

0x0A Tag no response error

0x0B Handle mismatch error

0x0C Zero kill password error

0x0D Tag undefined error

0x0E Invalid kill password

0x0F Invalid access password

0x7F Undefined general error

RFID Readers, Software Interface Control Guide6-64

Set Autonomous Mode (60hex)The Set Autonomous Mode command turns autonomous (polling) mode on or off and sets the notification option. Once autonomous mode is set, the reader continuously reads tags and (depending on the notification option) reports the results to the host.

If the user selects EVENTS as the notification option, the event data is reported to the user in the form of an XML payload embedded in the HOB (HTTP Over Byte stream) response packet (see Table 6-94 on page 6-67 for HOB response codes description).

Table 6-87. Set Autonomous Mode, Command Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 7 Packet length excludes SOF, but includes the CRC

3 1 0x60 Command

4 1 0x00~0x01 Value - 1 is on, 0 is off

5 1 0x00~0x02 Notification option:0 is NOTIFY EVENTS, send notification when user events are available to be queried 1 is EVENTS Data, send events as they are detected 2 is TAGS Data, send tag data every read cycle

6 1 CRC LSB of the CRC-16

7 1 CRC MSB of the CRC-16

Table 6-88. Set Autonomous Mode, Response Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 6 Packet length excludes SOF, but includes the CRC

3 1 0x60 Mirror of Command

4 1 0x00 Status: complete, =0x40 if parameter has not been set

5 1 CRC LSB of the CRC-16

6 1 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-65

Interim Tag Data Report (61hex)This packet is sent asynchronously when the DSP is running in autonomous mode.

Table 6-89. Interim Tag Data Report, Format

Byte order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 7 Packet length excludes SOF, but includes the CRC

3 1 0x61 Command

4 1 0x00 Status: complete, =0x40 if parameter has not been set

5 1 0xA0~0xD1 Antenna port

6 1 N Tag count

7-xx > Multiple tag data entries

xx+1 1 CRC LSB of the CRC-16

xx+2 1 CRC MSB of the CRC-16

Table 6-90. Interim Tag Data Report, Tag Data Entry Format

Byte Order Size (bytes) Value Description

0 1 Tag Type Identifier: always 0x00: EPC

1 1 Air protocol: 0x00: Class 0 0x01: Class 1 0x02: Gen 2

2-5 4 timestamp (LSB first)

6-7 2 RSSI (LSB first)

8-9 2 W Tag length. For Gen2: length in words (EPC ID + PC) For Class 0/1: length in words (EPC ID only)

10 m=2*W or m=(W+15)/16

> Gen2: EPC ID + PC, (LSB first) Class 0/1: EPC ID (LSB first) If tag length W is 0, this field does not exist.

10+m 2 > Payload start word

12+m 2 N Gen2: The number [N] words in the returned payload field Class 0/1: The number of significant BITS in the returned payload field

16+m ~ 16+m+n n=2*N > Payload (LSB first) If previous byte (payload length) contains 0, this byte contains the payload result code for Gen2, or 0xFF for Class 0/1, see Table 6-21 on page 6-19.

RFID Readers, Software Interface Control Guide6-66

End of Group Read (62hex)This packet is sent asynchronously when the DSP is running in autonomous mode. It signals the end of a read cycle.

Events Available Notification (63hex)This packet is sent to the host asynchronously when the DSP is running in autonomous mode. It signals that new events are available. The events must be retrieved in XML format by a queryEvents HOB command. For details on queryEvents, see Table 6-94 on page 6-67. For details on HOB (BBhex) command, see Table 6-93 on page 6-67.

Table 6-91. End of Group Read, Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 10 Packet length excludes SOF, but includes the CRC

3 1 0x62 Command

4 1 0x00 Status: complete, =0x40 if parameter has not been set

5 1 0xA0~0xD1 Antenna port

6-7 2 N Number of tags read

8-9 2 > Number of payload errors

10 1 CRC LSB of the CRC-16

11 1 CRC MSB of the CRC-16

Table 6-92. Events Available Notification, Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 5 Packet length excludes SOF, but includes the CRC

3 1 0x63 Command

4 1 0x00 Status: complete, =0x40 if parameter has not been set

5 1 CRC LSB of the CRC-16

6 1 CRC MSB of the CRC-16

Byte Stream Command Definitions 6-67

HOB Command (BBhex) Only HTTP commands that return back an XML response will return response payload in the HOB (HTTP Over Byte stream) response packet.

Table 6-93. HOB Command, Command Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 > Packet length excludes SOF, but includes the CRC

3 1 0xBB Command

4 - 4+M M HTTP String This field depends on the HTTP Command String that is embedded as a part of the HOB Command. For ex: dataProxy?oper=queryTags (M=24)

4+M+1 1 CRC LSB of the CRC-16

4+M+2 1 CRC MSB of the CRC-16

Table 6-94. HOB Command, Response Format

Byte Order Size (bytes) Value Description

0 1 0x01 SOF, Start of Frame

1 1 > RS485 network node address

2 1 0x00 Old Packet length (Always 0x00 for this response)

3 1 0xBB Mirror of command

4 1 0x00 Status: complete, =0x40 if parameter has not been set

5 1 0x00 Error code, see Table 5-3 on page 5-6.

6-7 2 M True Packet Length

8 - 8+M M > This field should contain the XML Packet. For ex: <?xml version='1.0'?> <Matrics> <EventGroup> <TagList> <Tag raw='123456781234567887654321' PC='3000' time='45ffb64e' RPL='1'/> <Tag raw='333333333333333333339696'/> </TagList> </EventGroup> </Matrics>

8+M+1 1 CRC LSB of the CRC-16

8+M+2 1 CRC MSB of the CRC-16

RFID Readers, Software Interface Control Guide6-68

XML Error Messages

Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3

RFID Readers, Software Interface Control Guide7-2

XML Error Messages 7-3

Error Messages

Table 7-1. Error Messages

Error Cause Resolution

Access Denied - Non-trusted Host The device attempting access is not set up as a Trusted Host in the system.

Add the IP address to the Trusted Host list, or disable Trusted Host check.

Operation failed A user operation did not complete, typically due to invalid input.

Validate all inputs, then retry the operation. If not successful, contact the Support Center.

An invalid user name and/or password was entered - Try again

The user name and/or password entered is not found in the system, or does not match the current user registry.

Re-enter login information. If not successful, contact the system administrator to add or edit the user account.

The session has Timed-out - Log in again The current session was inactive beyond the time out period, so the system logged out.

Log in again. To protect against unauthorized system access, always log out of the system when done.

Invalid Name. The user name is not correct.

The user name entered does not match the current user registry (possible causes are illegal characters, too long, too short, unknown, or duplicate.)

Re-enter user name.

The user name has already been used. The user name is a duplicate (when adding a new user to the user registry).

Re-enter user name.

Not a legal IP address (1.0.0.0 - 255.255.255.255). The host link is not valid. Cannot reach the specified IP Address.The SNMP host link is not valid.

The IP address entered is formatted incorrectly or cannot be accessed (pinged).

Re-enter the IP address, and ensure the host device is connected and online.

Invalid network mask. The network mask entered is formatted incorrectly. Verify the network mask from the network administrator and enter it correctly.

Invalid SNMP version number. The SNMP protocol version number is not a supported version.

Use version number 1 for SNMP version 1, 2 for SNMP version 2c.

Invalid Serial Number (0000-0000-0000-0000).

The serial number entered is formatted incorrectly. Re-enter the serial number.

Invalid Description. The description entered contains invalid characters ( <,>,or').

Remove invalid characters.

Invalid Password. The password entered does not match the current user registry (possible causes are illegal characters, too long, or too short.)

Re-enter password.

Cannot delete the admin user account. Possible attempt to delete the admin user account. No action. The system ignores the operation because it does not allow deleting this user account.

Cannot delete local Host Address. Possible attempt to delete the 127.0.0.1 IP address. No action. The system ignores the operation because it does not allow deleting this IP address.

Cannot delete the IP address of the active session host.

Possible attempt to delete the IP address of the host with the active session.

No action. The system ignores the operation because it does not allow deleting this IP address.

The IP address is still used in ReaderNetwork configuration.

Possible attempt to delete the IP address added in the trusted hosts database for a reader network device.

No action. The system ignores the operation because it does not allow deleting this IP address.

Cannot modify Default zone. The Default read point zone cannot be modified. No action. The system ignores the operation because it does not allow modifying the Default zone.

RFID Readers, Software Interface Control Guide7-4

Cannot modify the default tag filter ALL. The default tag filter ALL cannot be modified. No action. The operation is ignored because the system does not allow modification of the tag filter ALL.

This Name has already been used. This Serial Number has already been used. This IP Address has already been used.

The Name, Serial Number, or IP Address entered already exists in the system.

Enter a unique value for the new Name, Serial Number, or IP Address.

Select an item from the list. The system requires selecting an item from the list box before continuing.

Select an item from the list box, then continue.

Last command is still pending. Try again later.

The system did not complete processing the previous command.

Wait a few moments for the previous command to complete before sending another command.

Another Administrator is currently logged in. Try again later.

The system does not allow more than one administrator to log in at a time.

Wait until the other administrator logs out (or times-out) before logging in.

Backup configuration file does not exist. The system requires a backup file to revert to a backup of the current configuration.

Commit the new configuration to create a backup file.

Failed to confirm the new Password. The system requires entering the password correctly two times.

Re-enter the password twice.

Reader Network configuration change(s) have not been saved.

A request to log out prior to committing/reverting the changes made during a session.

Select either Commit or Revert.

The new Password is the same as the old one.

The system requires entering a new password (different from the existing password) during the Change Password operation.

Enter a new password different from the existing password.

The old Password is not correct. The system requires entering the existing password during the Change Password operation.

Re-enter the existing password.

Commit Accepted - Configuration Changes are queued for action. Discard Accepted - Configuration reverted to last committed version. Revert Accepted - Configuration reverted to backup version. Command Accepted - All 'On Demand' scans queued. Command Accepted - Polling is Enabled. Command Accepted - Polling is Disabled. Operation was Successful.

Request to perform a function. No action required. The system reports that the request was accepted.

Unspecified error occurred - code: #### A specific error message is missing for the given status code.

Note the code number, and contact the Support Center.

The requested page was not found. Internal Web Server Error.

The system experienced an internal Web server error. Contact the Support Center.

Internal Messages Request method was NULL. No query string was provided.

The system does not permit executing a proxy program from the command line rather than the Web server.

No action required. The system reports that this action is not permitted.

Content length is unknown. The system cannot accept an incorrectly formatted HTTP POST request (from an unsupported Browser application.)

Use a GET request instead, or update the software.

Couldn't read complete post message. The system stopped a POST operation before completion.

Retry the operation, and allow it to complete.

Table 7-1. Error Messages (Continued)

Error Cause Resolution

XML Error Messages 7-5

Unhandled reply type. The system generated an unexpected value. Contact the Support Center.

Failed to open port. Failed to connect. Failed to transmit. Failed to receive. Error during Receive of Command.

The system experienced an internal network failure. Contact the Support Center.

DB open failed. DB put failed. DB get failed. DB delete failed.

The system experienced internal database errors. After recently installing the system, this error can indicate a configuration problem (open permissions). If the system has been operational for a while, this error can indicate a full or corrupt database. This error can also indicate disk failure.

Contact the Support Center.

FIFO open failed. The system experienced an internal communication failure.

Contact the Support Center.

Invalid Read Point Type. Invalid Read Point Scan Period. Invalid tag category. Invalid value for the header field of EPC tag. Invalid value for the manager field of EPC tag. Invalid value for the class field of EPC tag. Invalid user access value. The option is not valid.

The system does not recognize the value entered, or requires a menu selection.

Contact the Support Center.

Invalid Device Address. The device address information (parent) is invalid, missing, or formatted inaccurately.

Retry the operation. If not successful, contact the Support Center.

The size of command over limit. The size of value over limit. Too many command/value pairs.

The command input exceeded some internal limit. Contact the Support Center.

Command parsing state error. Missing argument for the command. Command internal type case error. Missing operator. Unknown operator.

A command is formatted incorrectly. Contact the Support Center.

Failed to register the Read Point. Failed to unregister the Read Point. Failed to unregister the Reader.

The system could not process the item as intended. Contact the Support Center.

Table 7-1. Error Messages (Continued)

Error Cause Resolution

RFID Readers, Software Interface Control Guide7-6

Cannot find Read Point Class. Cannot find Reader. Cannot find Read Point Zone. Converter was not found. Cannot find the Event. Cannot find the Read Point. Cannot find the specified Reader Port. Cannot find the specified Host Address. Cannot find the specified Tag Filter. Cannot find the specified Read Point Zone.

The system could not find (or process) the item as intended.

Retry the operation. If not successful, contact the Support Center.

The reader is not empty. The device is not empty so it cannot be deleted. Delete all children devices first.

The action must be confirmed. Confirmation of the requested action is required before it is executed.

Select the confirmation option.

Table 7-1. Error Messages (Continued)

Error Cause Resolution

HTTP Return Codes

HTTP Return Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-3

RFID Readers, Software Interface Control Guide8-2

HTTP Return Codes 8-3

HTTP Return Codes

Table 8-1. HTTP Return Codes

Error Code?

Return Code Description

No 3000 Commit Accepted - Configuration Changes are queued for action by the reader

No 3001 Discard Accepted - Configuration reverted to last committed version

No 3002 Revert Accepted - Configuration reverted to backup version

No 3003 Command Accepted - All \On Demand\ scans queued

No 3004 Command Accepted - Polling is Enabled

No 3005 Command Accepted - Polling is Disabled

No 3006 Configuration change(s) have not been saved //response to logout

No 3007 Stop Request Accepted - Reader upgrading task will be stopped.

No 3008 Operation was successful

No 3009 Commit Finished - new configuration changes have been accepted

No 3010 Changes related to reader IP address will not take effect until reboot

Yes 0 Not an error

Yes 1 Access Denied - non-trusted host

Yes 2 Request method was NULL

Yes 3 No query string was provided

Yes 4 Content length is unknown

Yes 5 Could not read complete post message

Yes 6 Failed to open port

Yes 7 Failed to connect

Yes 8 Failed to transmit

Yes 9 Failed to receive

Yes 10 Unhanded reply type

Yes 11 FIFO open failed

Yes 12 Operation failed

Yes 13 DB open failed

Yes 14 DB put failed

Yes 15

Yes 16

Yes 17 An invalid user name and/or password was entered, try again

Yes 18 The session has expired, log in again

Yes 19 Invalid name

RFID Readers, Software Interface Control Guide8-4

Yes 20 Invalid read point type

Yes 21 Invalid read point scan period

Yes 22

Yes 23 Not a valid IP address (1.0.0.0 - 255.255.255.255)

Yes 24 Invalid serial number

Yes 25 Invalid device address

Yes 26 Cannot find the specified read point class

Yes 27 Cannot find the specified reader

Yes 28 Invalid password

Yes 29 Error during command receive

Yes 30 The size of command over limit

Yes 31 The size of value over limit

Yes 32 Too many command/value pairs

Yes 33 Command parsing state error

Yes 34 Missing argument for the command

Yes 35 Command internal type cast error

Yes 36 Unknown operator

Yes 37 Missing operator

Yes 38 Invalid user access value

Yes 39 This name has already been used

Yes 40 This IP Address has already been used

Yes 41

Yes 42

Yes 43 Select an item from the list

Yes 44

Yes 45 Cannot find the specified read point zone

Yes 46 The host link is not valid

Yes 47 Cannot find the specified event

Yes 48 The option is not valid

Yes 49 Cannot find the specified read point

Yes 50

Yes 51

Yes 52

Yes 53

Yes 54 Failed to confirm the new password

Table 8-1. HTTP Return Codes

Error Code?

Return Code Description

HTTP Return Codes 8-5

Yes 55 The new password is the same as the old one

Yes 56 The old password is not correct

Yes 57 The user name is not correct

Yes 58

Yes 60

Yes 61 Cannot find the specified reader port

Yes 62 Another Administrator is currently logged in, try again later

Yes 63 Last command is still pending, try again later

Yes 64 Backup configuration file does not exist

Yes 65 Cannot find the specified host address

Yes 66 Cannot delete local host address

Yes 67 Cannot find the specified read point zone

Yes 68 Cannot modify default zone

Yes 69 Cannot delete the IP address of the active session host

Yes 70 Cannot delete the \admin\ user account

Yes 71 Cannot reach the specified IP address

Yes 72 Invalid tag category

Yes 73 Cannot find the specified tag filter

Yes 74 Cannot modify the \ALL\ tag filter

Yes 75

Yes 76 Missing firmware files for readers

Yes 77

Yes 78 The SNMP host link is not valid

Yes 79 Invalid SNMP version number

Yes 80 Description invalid

Yes 81

Yes 82 The reader is not empty

Yes 83

Yes 84

Yes 85

Yes 86

Yes 87

Yes 88 The action must be confirmed

Yes 89 The user name has already been used

Yes 90 The IP address is still used in ReaderNetwork configuration

Table 8-1. HTTP Return Codes

Error Code?

Return Code Description

RFID Readers, Software Interface Control Guide8-6

Yes 91 Invalid network mask

Yes 92 Unable to determine the requester IP address

Yes 93 Can not reduce access level for the \admin\ user

Yes 94 View only user can not make configuration change

Yes 95 Invalid serial communication protocol(RS232 or RS485)

Yes 96 Invalid serial communication baud rate

Yes 97 Invalid serial communication node address(0-31)

Yes 98 Cannot find the specified device name

Yes 99 HTTP POST request missing content-length header field

Yes 100 This action needs maintenance user privilege

Yes 101 User does not have enough privilege for this action

Yes 102 Cannot find the specified tag filter rule

Yes 103

Yes 104 Busy processing last command

Yes 105 Cannot delete the active user account

Yes 106 Invalid RFID tag ID hexadecimal value

Yes 107 Invalid RFID tag user data hexadecimal value

Yes 108 Invalid RFID tag kill code hexadecimal value

Yes 109 Invalid read point selection

Yes 110 Command execution timed out

Yes 111 Invalid command options

Yes 112 Malformed FTP URL

Yes 113 Files or Path do not exist or are inaccessible, or incorrect username/password

Yes 114 Invalid motion sensor configuration

Yes 115 Moderated time out cannot be 0

Yes 116 No changes to commit

Yes 117 No changes to discard

Yes 118 No changes to revert

Yes 119 Reinitializing...please wait

Yes 120 Specify at least one frequency

Yes 121 Invalid encrypted string

Yes 122 Region not completely specified

Yes 123 Reader is disabled

Yes 124 Must specify air protocol

Yes 125 Nothing was changed

Table 8-1. HTTP Return Codes

Error Code?

Return Code Description

HTTP Return Codes 8-7

Yes 126 Polling state set - but unable to start/stop polling

Yes 127 Polling state set - but region not completely specified

Yes 128 Polling state set - but reader is disabled

Yes 129 TPP parameter out of range, or invalid relationship (mtht<=mtgt<=mtlt)

Yes 130 Invalid multicast address

Yes 131 The requested release does not support P30 flash based hardware

Yes 132 Invalid parameter value

Yes 133 Cannot delete the \admin\ user account

Yes 134 Invalid RFID tag TID hexadecimal value

Yes 135 Invalid RFID tag access password hexadecimal value

Yes 136 The read gain not in range

Yes 137 The write gain not in range

Yes 139 Undetermined state

Yes 140 Tag memory overrun error

Yes 141 Tag memory lock error

Yes 142 Tag insufficient power error

Yes 143 Non specific error

Yes 144 Tag other error

Yes 145 Traversal error

Yes 146 Invalid page error

Yes 147 Protocol error

Yes 148 Tag no response error

Yes 149 Handle mismatch error

Yes 150 Zero kill password error

Yes 151 Tag undefined error

Yes 152 Invalid kill password

Yes 153 Invalid access password

Yes 154 Undefined general error

Yes 155 Cannot modify the \EPC/IATA only\ tag filter rule

Yes 156 Frequency hop value invalid or not supported

Yes 157 Name entered is reserved for internal use

Yes 158 Class name is invalid

Yes 159 Class cannot be applied for selected read point

Yes 160 Could not enable

Yes 161 Antenna fault

Table 8-1. HTTP Return Codes

Error Code?

Return Code Description

RFID Readers, Software Interface Control Guide8-8

Yes 162 Missing argument

Yes 163 Low range error

Yes 164 High range error

Yes 165 Range error

Yes 166 Invalid character in argument

Yes 167 Invalid hex character in argument

Yes 168 Reader is already set to polling

Yes 169 Notification type is not valid

Yes 170 Start word cannot be 0

Yes 171 Operation in progress

Yes 172 Operation completed

Yes 173 Invalid access password

Yes 174 Notifications over byte stream connection active. Terminate byte stream connection first

Yes 175 Read unlock cannot be performed without switching to session 0

Yes 176 Gen2 air protocol is not enabled

Yes 177 Invalid air protocol

Yes 178 Invalid polling option

Yes 0xD0 LIB not accessible in legacy GPIO mode

Yes 0xD1 LIB not accessible in TPP mode

Yes 0xD2 LIB input pins not accessible in DSP motion sensor mode

Yes 0xDF Attempt to write to locked tag

Yes 0xE6 Failed to kill the RFID tag

Yes 0xE7 The kill code does not match

Yes 0xE8 Failed to verify page 3

Yes 0xE9 Failed to verify page 2

Yes 0xEB Failed to read user data

Yes 0xEC Error occurred while reading bits

Yes 0xED Bit write inhibit error

Yes 0xEE Bit write error

Yes 0xEF Skip bit error

Yes 0xF0 Page 3 write error

Yes 0xF1 Page 2 write error

Yes 0xF2 Page 0 write error

Yes 0xF3 Page 3 erase error

Yes 0xF4 Page 2 erase error

Table 8-1. HTTP Return Codes

Error Code?

Return Code Description

HTTP Return Codes 8-9

Yes 0xF5 Page 0 erase error

Yes 0xF6 Page 3 lock error

Yes 0xF7 Page 2 lock error

Yes 0xF8 Page 0 lock error

Yes 0xF9 No tag response

Yes 0xFA Command error

Yes 0xFB CRC error

Yes 0xFC Traversal error

Yes 0xFD Invalid page error

Yes 0xFE No page to program

Yes 0xFF Wrong ID type

Yes 0xFF+1 Function was not executed

Yes 404 The requested page was not found

Yes 500 Internal web server error

Table 8-1. HTTP Return Codes

Error Code?

Return Code Description

RFID Readers, Software Interface Control Guide8-10

Index

Aapplications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4

Bbullets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vibyte stream protocol . . . . . . . . . . . . . . . . . . . . . 5-3, 6-3

communication sequence . . . . . . . . . . . . . . . . .5-8crc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7error codes . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-6initialization sequence . . . . . . . . . . . . . . . . . .5-10packet format . . . . . . . . . . . . . . . . . . . . . . . . . .5-4RS485 node address . . . . . . . . . . . . . . . . . . . .5-10set parameter block . . . . . . . . . . . . . . . . . . . .5-10status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-5

Ccommunication models . . . . . . . . . . . . . . . . . . . . . . .2-7

hybrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7subscribe notify . . . . . . . . . . . . . . . . . . . . . . . .2-7

configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4conventions

notational . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vicountries supported . . . . . . . . . . . . . . . . . . . . . . . . . .1-3crc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5-7

Eenterprise identifier . . . . . . . . . . . . . . . . . . . . . . . . . .4-3errors

byte stream protocol . . . . . . . . . . . . . . . . . . . . 5-6xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-3, 8-3xml result . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26

events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6heartbeat snmp . . . . . . . . . . . . . . . . . . . . . . . . 4-4network status . . . . . . . . . . . . . . . . . . . . . . . . 2-6notification . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5xml event query . . . . . . . . . . . . . . . . . . . . . . . 2-23

exception events . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6

Ffilters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-6

Hhard reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4heartbeat snmp event . . . . . . . . . . . . . . . . . . . . . . . 4-4HOB . . . . . . . . . . . . . . . . . . . . . . 3-133, 5-3, 6-64, 6-67http

host support . . . . . . . . . . . . . . . . . . . . . . . . . 2-19protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8query string . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8service interface . . . . . . . . . . . . . . . . . . . . . . . 2-9url . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-8

http interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4HTTP over byte stream . . . . . . . . . . . . . . 5-3, 6-64, 6-67http port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

RFID Readers, Software Interface Control GuideIN-2

http query commands . . . . . . . . . . . . . . . . . . 2-10, 2-13getVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10processTagList . . . . . . . . . . . . . . . . . . . . . . . .2-16queryEvents . . . . . . . . . . . . . . . . . . . . . . . . . . .2-11queryTags . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-12setDateTime . . . . . . . . . . . . . . . . . . . . . . . . . .2-15setLightIndicator . . . . . . . . . . . . . . . . . 2-17, 3-141

hybrid model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8

Iinformation

service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .i-viinterfaces

http . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4http service . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-9physical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3RS232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4TCP IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4

Lleast significant byte . . . . . . . . . . . . . . . . . . . . . . . . .5-5login command . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10LSB . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5, 5-7, 6-4- 6-67

Mmaintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4management information base . . . . . . . . . . . . . . . . .4-3MIB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-3

Nnetwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4network management . . . . . . . . . . . . . . . . . . . . . . . .1-4network status events . . . . . . . . . . . . . . . . . . . . . . . .2-6notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6

Pphysical interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . .1-3

Qquery commands . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10

getVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-14login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10processTagList . . . . . . . . . . . . . . . . . . . . . . . .2-16queryEvents . . . . . . . . . . . . . . . . . . . . . . . . . . .2-11queryTags . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-12setDateTime . . . . . . . . . . . . . . . . . . . . . . . . . .2-15setLightIndicator . . . . . . . . . . . . . . . . . 2-17, 3-141startPolling . . . . . . . . . . . . . . . . . . . . . . . . . . .2-13

query model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7query string . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-8

Rread point list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4

read point map . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-22reader network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4reboot, hard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4reboot, soft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4RS232 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3

initialization sequence . . . . . . . . . . . . . . . . . . 5-10RS485

node address . . . . . . . . . . . . . . . . . . . . . . . . . 5-10RSSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-35

Sservice information . . . . . . . . . . . . . . . . . . . . . . . . . . i-visnmp traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-3, 4-5

devEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3enterprise identifier . . . . . . . . . . . . . . . . . . . . . 4-3hearbeat event . . . . . . . . . . . . . . . . . . . . . . . . . 4-4

soft reboot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4software interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 1-4startPolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-13subscribe notify model . . . . . . . . . . . . . . . . . . . . . . . 2-7

Ttag state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5hexadecimal value . . . . . . . . . . . . . . . . . . . . . . 2-3ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3state transition . . . . . . . . . . . . . . . . . . . . . . . . 2-4tag list query . . . . . . . . . . . . . . . . . . . . . . . . . 2-21time stamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4user ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3xml tag list . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20

TCP IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4byte stream protocol support . . . . . . . . . . . . . 5-3

threshold events . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5time stamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4traps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

devEvent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3enterprise identifier . . . . . . . . . . . . . . . . . . . . . 4-3snmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-5

Vvisibility events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5

Xxml

document descriptions . . . . . . . . . . . . . . . . . 2-19error messages . . . . . . . . . . . . . . . . . . . . .7-3, 8-3error result . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26event query . . . . . . . . . . . . . . . . . . . . . . . . . . 2-23host acknowledgement . . . . . . . . . . . . . . . . . 2-20read point map . . . . . . . . . . . . . . . . . . . . . . . . 2-22running state . . . . . . . . . . . . . . . . . . . . . . . . . 2-19sample DTD . . . . . . . . . . . . . . . . . . . . . . . . . . 2-26tag list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-20tag list query . . . . . . . . . . . . . . . . . . . . . . . . . 2-21

Index IN-3

xml over http . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3

RFID Readers, Software Interface Control GuideIN-4

Motorola Inc.One Motorola PlazaHoltsville, New York 11742-1300http://www.symbol.com

72E-71803-06Revision A - October 2007