LLRP XML Messages

From RifidiWiki

Revision as of 23:11, 23 November 2010 by Amesycyxa (Talk | contribs)

Jump to: navigation, search

This page contains a collection of example XML Messages that can be sent to an LLRP Reader.

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

<pre>

   <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>

</pre>

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

<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

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

<pre>

   <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>

</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>

Personal tools