Difference between revisions of "LLRP XML Messages"
From RifidiWiki
|  (→Message) | |||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 41: | Line 41: | ||
| ==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 49: | 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 114: | 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>

