Difference between revisions of "LLRP XML Messages"
From RifidiWiki
(→Message 1) |
|||
(7 intermediate revisions by 2 users not shown) | |||
Line 8: | Line 8: | ||
===Message=== | ===Message=== | ||
<pre> | <pre> | ||
− | + | ||
<ADD_ROSPEC Version="1" MessageID="0"> | <ADD_ROSPEC Version="1" MessageID="0"> | ||
<ROSpec> | <ROSpec> | ||
Line 36: | Line 36: | ||
</ROSpec> | </ROSpec> | ||
</ADD_ROSPEC> | </ADD_ROSPEC> | ||
− | + | ||
</pre> | </pre> | ||
+ | |||
==Message 2== | ==Message 2== | ||
===Description=== | ===Description=== | ||
+ | This ROSpec is a little more complicated than the previous one. Its start trigger is perdiodic; In this case, it will start 500ms after it is added. It then a start trigger will fire for it every 5 seconds after the initial start trigger. Its start trigger is duration. This means a stop trigger will fire for it every 2 seconds after it begins. This ROSpec also contains a ROReportSpec that defines what the reports should look like and when they should come back. | ||
===Message=== | ===Message=== | ||
+ | <pre> | ||
+ | <ADD_ROSPEC Version="1" MessageID="0"> | ||
+ | <ROSpec> | ||
+ | <ROSpecID>1</ROSpecID> | ||
+ | <Priority>0</Priority> | ||
+ | <CurrentState>Disabled</CurrentState> | ||
+ | <ROBoundarySpec> | ||
+ | <ROSpecStartTrigger> | ||
+ | <ROSpecStartTriggerType>Periodic</ROSpecStartTriggerType> | ||
+ | <PeriodicTriggerValue> | ||
+ | <Offset>500</Offset> | ||
+ | <Period>5000</Period> | ||
+ | </PeriodicTriggerValue> | ||
+ | </ROSpecStartTrigger> | ||
+ | <ROSpecStopTrigger> | ||
+ | <ROSpecStopTriggerType>Duration</ROSpecStopTriggerType> | ||
+ | <DurationTriggerValue>2000</DurationTriggerValue> | ||
+ | </ROSpecStopTrigger> | ||
+ | </ROBoundarySpec> | ||
+ | <AISpec> | ||
+ | <AntennaIDs>1</AntennaIDs> | ||
+ | <AISpecStopTrigger> | ||
+ | <AISpecStopTriggerType>Null</AISpecStopTriggerType> | ||
+ | <DurationTrigger>1000</DurationTrigger> | ||
+ | </AISpecStopTrigger> | ||
+ | <InventoryParameterSpec> | ||
+ | <InventoryParameterSpecID>2</InventoryParameterSpecID> | ||
+ | <ProtocolID>EPCGlobalClass1Gen2</ProtocolID> | ||
+ | </InventoryParameterSpec> | ||
+ | </AISpec> | ||
+ | <ROReportSpec> | ||
+ | <ROReportTrigger>Upon_N_Tags_Or_End_Of_ROSpec</ROReportTrigger> | ||
+ | <N>0</N> | ||
+ | <TagReportContentSelector> | ||
+ | <EnableROSpecID>false</EnableROSpecID> | ||
+ | <EnableSpecIndex>false</EnableSpecIndex> | ||
+ | <EnableInventoryParameterSpecID>false</EnableInventoryParameterSpecID> | ||
+ | <EnableAntennaID>true</EnableAntennaID> | ||
+ | <EnableChannelIndex>false</EnableChannelIndex> | ||
+ | <EnablePeakRSSI>false</EnablePeakRSSI> | ||
+ | <EnableFirstSeenTimestamp>false</EnableFirstSeenTimestamp> | ||
+ | <EnableLastSeenTimestamp>false</EnableLastSeenTimestamp> | ||
+ | <EnableTagSeenCount>true</EnableTagSeenCount> | ||
+ | <EnableAccessSpecID>true</EnableAccessSpecID> | ||
+ | <C1G2EPCMemorySelector> | ||
+ | <EnableCRC>false</EnableCRC> | ||
+ | <EnablePCBits>false</EnablePCBits> | ||
+ | </C1G2EPCMemorySelector> | ||
+ | </TagReportContentSelector> | ||
+ | </ROReportSpec> | ||
+ | </ROSpec> | ||
+ | </ADD_ROSPEC> | ||
+ | </pre> | ||
=SET_READER_CONFIG= | =SET_READER_CONFIG= | ||
Line 48: | Line 103: | ||
===Message=== | ===Message=== | ||
<pre> | <pre> | ||
− | |||
<SET_READER_CONFIG Version="1" MessageID="0"> | <SET_READER_CONFIG Version="1" MessageID="0"> | ||
<ResetToFactoryDefault>false</ResetToFactoryDefault> | <ResetToFactoryDefault>false</ResetToFactoryDefault> | ||
Line 113: | Line 167: | ||
</AccessReportSpec> | </AccessReportSpec> | ||
</SET_READER_CONFIG> | </SET_READER_CONFIG> | ||
− | </Message> | + | </pre> |
+ | ==Message 2== | ||
+ | ===Description=== | ||
+ | This Message will enable a GPI Port so that it can report changes to its state and be used as a stop or start trigger. | ||
+ | |||
+ | ===Message=== | ||
+ | <pre> | ||
+ | <SET_READER_CONFIG Version="1" MessageID="0"> | ||
+ | <ResetToFactoryDefault>false</ResetToFactoryDefault> | ||
+ | <GPIPortCurrentState> | ||
+ | <GPIPortNum>1</GPIPortNum> | ||
+ | <Config>true</Config> | ||
+ | <State>Low</State> | ||
+ | </GPIPortCurrentState> | ||
+ | </SET_READER_CONFIG> | ||
</pre> | </pre> |
Latest revision as of 19:43, 26 November 2010
This page contains a collection of example XML Messages that can be sent to an LLRP Reader.
Contents
ADD_ROSPEC
The ROSpec (Reader Operation Specification) defines how a reader should read tags.
Message 1
Description
This is a simple rospec with a null start and stop triggers. It has one AISpec with a null stop trigger. In order to execute this rospec, you will need to send an ENABLE_ROSPEC, and a START_ROSPC. In addition, you will need to set up reporting parameters using a SET_READER_CONFIG
Message
<ADD_ROSPEC Version="1" MessageID="0"> <ROSpec> <ROSpecID>1</ROSpecID> <Priority>0</Priority> <CurrentState>Disabled</CurrentState> <ROBoundarySpec> <ROSpecStartTrigger> <ROSpecStartTriggerType>Null</ROSpecStartTriggerType> </ROSpecStartTrigger> <ROSpecStopTrigger> <ROSpecStopTriggerType>Null</ROSpecStopTriggerType> <DurationTriggerValue>1000</DurationTriggerValue> </ROSpecStopTrigger> </ROBoundarySpec> <AISpec> <AntennaIDs>1</AntennaIDs> <AISpecStopTrigger> <AISpecStopTriggerType>Null</AISpecStopTriggerType> <DurationTrigger>1000</DurationTrigger> </AISpecStopTrigger> <InventoryParameterSpec> <InventoryParameterSpecID>2</InventoryParameterSpecID> <ProtocolID>EPCGlobalClass1Gen2</ProtocolID> </InventoryParameterSpec> </AISpec> </ROSpec> </ADD_ROSPEC>
Message 2
Description
This ROSpec is a little more complicated than the previous one. Its start trigger is perdiodic; In this case, it will start 500ms after it is added. It then a start trigger will fire for it every 5 seconds after the initial start trigger. Its start trigger is duration. This means a stop trigger will fire for it every 2 seconds after it begins. This ROSpec also contains a ROReportSpec that defines what the reports should look like and when they should come back.
Message
<ADD_ROSPEC Version="1" MessageID="0"> <ROSpec> <ROSpecID>1</ROSpecID> <Priority>0</Priority> <CurrentState>Disabled</CurrentState> <ROBoundarySpec> <ROSpecStartTrigger> <ROSpecStartTriggerType>Periodic</ROSpecStartTriggerType> <PeriodicTriggerValue> <Offset>500</Offset> <Period>5000</Period> </PeriodicTriggerValue> </ROSpecStartTrigger> <ROSpecStopTrigger> <ROSpecStopTriggerType>Duration</ROSpecStopTriggerType> <DurationTriggerValue>2000</DurationTriggerValue> </ROSpecStopTrigger> </ROBoundarySpec> <AISpec> <AntennaIDs>1</AntennaIDs> <AISpecStopTrigger> <AISpecStopTriggerType>Null</AISpecStopTriggerType> <DurationTrigger>1000</DurationTrigger> </AISpecStopTrigger> <InventoryParameterSpec> <InventoryParameterSpecID>2</InventoryParameterSpecID> <ProtocolID>EPCGlobalClass1Gen2</ProtocolID> </InventoryParameterSpec> </AISpec> <ROReportSpec> <ROReportTrigger>Upon_N_Tags_Or_End_Of_ROSpec</ROReportTrigger> <N>0</N> <TagReportContentSelector> <EnableROSpecID>false</EnableROSpecID> <EnableSpecIndex>false</EnableSpecIndex> <EnableInventoryParameterSpecID>false</EnableInventoryParameterSpecID> <EnableAntennaID>true</EnableAntennaID> <EnableChannelIndex>false</EnableChannelIndex> <EnablePeakRSSI>false</EnablePeakRSSI> <EnableFirstSeenTimestamp>false</EnableFirstSeenTimestamp> <EnableLastSeenTimestamp>false</EnableLastSeenTimestamp> <EnableTagSeenCount>true</EnableTagSeenCount> <EnableAccessSpecID>true</EnableAccessSpecID> <C1G2EPCMemorySelector> <EnableCRC>false</EnableCRC> <EnablePCBits>false</EnablePCBits> </C1G2EPCMemorySelector> </TagReportContentSelector> </ROReportSpec> </ROSpec> </ADD_ROSPEC>
SET_READER_CONFIG
Message 1
Description
This is a SET_READER_CONFIG message that sets up Event Reporting and defines what the ROReports should look like using a ROReportSpec parameter. The ROReports can be set up in ROSpec parameter itself. If a ROReportSpec is defined both globally (using a SET_READER_CONFIG message) and in a particular rospec, the one defined in the ROSpec will shadow the global one.
Message
<SET_READER_CONFIG Version="1" MessageID="0"> <ResetToFactoryDefault>false</ResetToFactoryDefault> <ReaderEventNotificationSpec> <EventNotificationState> <EventType>Upon_Hopping_To_Next_Channel</EventType> <NotificationState>false</NotificationState> </EventNotificationState> <EventNotificationState> <EventType>GPI_Event</EventType> <NotificationState>true</NotificationState> </EventNotificationState> <EventNotificationState> <EventType>ROSpec_Event</EventType> <NotificationState>true</NotificationState> </EventNotificationState> <EventNotificationState> <EventType>Report_Buffer_Fill_Warning</EventType> <NotificationState>false</NotificationState> </EventNotificationState> <EventNotificationState> <EventType>Reader_Exception_Event</EventType> <NotificationState>false</NotificationState> </EventNotificationState> <EventNotificationState> <EventType>RFSurvey_Event</EventType> <NotificationState>false</NotificationState> </EventNotificationState> <EventNotificationState> <EventType>AISpec_Event</EventType> <NotificationState>true</NotificationState> </EventNotificationState> <EventNotificationState> <EventType>AISpec_Event_With_Details</EventType> <NotificationState>false</NotificationState> </EventNotificationState> <EventNotificationState> <EventType>Antenna_Event</EventType> <NotificationState>false</NotificationState> </EventNotificationState> </ReaderEventNotificationSpec> <ROReportSpec> <ROReportTrigger>Upon_N_Tags_Or_End_Of_ROSpec</ROReportTrigger> <N>0</N> <TagReportContentSelector> <EnableROSpecID>false</EnableROSpecID> <EnableSpecIndex>false</EnableSpecIndex> <EnableInventoryParameterSpecID>false</EnableInventoryParameterSpecID> <EnableAntennaID>true</EnableAntennaID> <EnableChannelIndex>false</EnableChannelIndex> <EnablePeakRSSI>false</EnablePeakRSSI> <EnableFirstSeenTimestamp>false</EnableFirstSeenTimestamp> <EnableLastSeenTimestamp>false</EnableLastSeenTimestamp> <EnableTagSeenCount>true</EnableTagSeenCount> <EnableAccessSpecID>true</EnableAccessSpecID> <C1G2EPCMemorySelector> <EnableCRC>false</EnableCRC> <EnablePCBits>false</EnablePCBits> </C1G2EPCMemorySelector> </TagReportContentSelector> </ROReportSpec> <AccessReportSpec> <AccessReportTrigger>Whenever_ROReport_Is_Generated</AccessReportTrigger> </AccessReportSpec> </SET_READER_CONFIG>
Message 2
Description
This Message will enable a GPI Port so that it can report changes to its state and be used as a stop or start trigger.
Message
<SET_READER_CONFIG Version="1" MessageID="0"> <ResetToFactoryDefault>false</ResetToFactoryDefault> <GPIPortCurrentState> <GPIPortNum>1</GPIPortNum> <Config>true</Config> <State>Low</State> </GPIPortCurrentState> </SET_READER_CONFIG>