Difference between revisions of "LLRP XML Messages"
From RifidiWiki
| Line 1: | Line 1: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| This page contains a collection of example XML Messages that can be sent to an [[LLRP Reader]].    | This page contains a collection of example XML Messages that can be sent to an [[LLRP Reader]].    | ||
| Line 15: | Line 7: | ||
| 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 | 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=== | ===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== | ==Message 2== | ||
| Line 51: | Line 43: | ||
| 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. | 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 110: | Line 102: | ||
| 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. | 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=== | ===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== | ==Message 2== | ||
| ===Description=== | ===Description=== | ||
| Line 181: | Line 173: | ||
| ===Message=== | ===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> | |
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>

