|
|
profile | Rfid Inventory |
<profile> examples |
Rfid Inventory Attributes Elements XML Reference |
<profile> example from the profile.xml sample.
<?xml version="1.0" encoding="UTF-8"?>
<profile id="RfidInventoryProfile" abstract="true"
packagebase="org.eclipse.soda.dk">
<description>RfidInventoryProfile controls RFID tag reading, tag filtering, and
aggregation reporting. This profile supports starting and stopping the reading mode,
providing tag data in a common format, filtering tags as duplicates or by interest masks,
collecting tags into an aggregation report, and marking tag reports with metadata called data
extensions. The RfidInventoryProfile can be configured to trigger reading, filtering, and
aggregating behavior based on events published by the GpioProfile and ControlProfile.
</description>
<provider>Eclipse.org</provider>
<version>1.1.0</version>
<vendor>IBM</vendor>
<incubation>true</incubation>
<!-- Protocol Specification -->
<spec id="Specification"/>
<customparameter name="readStopTimeout" type="int" defaultvalue="2000" access="true">
<description>readStopTimeout is a configuration parameter to specify the timeout period
in milliseconds that the profile will wait to receive an acknowledgement from the reader
after commanding the reader to stop reading. The profile updates the TagReading measurement
to "false" after either a response is received from the reader device or the time specified
in readStopTimeout elapses.
</description>
</customparameter>
<profileuses>
<profileref idref="org.eclipse.soda.dk.gpio.profile/dk/profile.xml#GpioProfile">
<measurementref idref="Input"/>
<measurementref idref="AnalogInput"/>
</profileref>
<profileref idref="org.eclipse.soda.dk.control.profile/dk/profile.xml#ControlProfile">
<measurementref idref="Bits"/>
<measurementref idref="Longs"/>
</profileref>
</profileuses>
<group id="RfidInventory">
<signal id="TagReport">
<description>TagReport is a signal containing tag data in a map structure. The report
contains one to many tags stored at the "tags" key. It may include data extension metadata
stored at the "dataExtensions" key. See the tags and dataExtensions descriptions for details.
</description>
<data id="tags" type="string">
<description>The value stored at the "tags" key of the TagReport is a nested map which
contains tag data, keyed by tag ID string. Each tag ID is the index for a nested map
structure containing details about the read-events for that tag. The event data map may
include the keys "antenna", "count", "reader", "timestampFirst", "timestampLast", and
"dataExtensions".
</description>
</data>
<data id="antenna" type="long">
<description>The value stored at the "antenna" key of the read-event map is the antenna value,
based on a starting index of 1. It is included in the read-event map if the reader is
configured to report which antenna read the tag.</description>
</data>
<data id="count" type="long">
<description>The value stored at the "count" key of the read-event map is the number of times
this tag was read during the reporting cycle.
</description>
</data>
<data id="reader" type="string">
<description>The value stored at the "reader" key of the read-event map is the ID property
configured for this instance of the inventory profile.</description>
</data>
<data id="timestampFirst" type="long">
<description>The value stored at the "timestampFirst" key of the read-event map is the
initial timestamp that this tag was read during the reporting cycle.</description>
</data>
<data id="timestampLast" type="long">
<description>The value stored at the "timestampLast" key of the read-event map is the
final timestamp that this tag was read during the reporting cycle.</description>
</data>
<data id="dataExtensions" type="string">
<description>The value stored at the "dataExtensions" key of the TagReport or read-event map
is a nested map of metadata as specified in the DataExtensions measurement.</description>
</data>
<data id="tid" type="int">
<description>The value stored at the "tid" key of the read-event map is the TID of the tag.
</description>
</data>
<data id="userdata" type="byte[]">
<description>The value stored at the "userdata" key of the read-event map is the user data of the tag.
</description>
</data>
</signal>
<signal id="TagAggregationReport">
<description>TagAggregationReport is a signal containing a collection of tag data in a map
structure. The report can contain zero to many tags stored at the "tags" key. It may include data extension metadata
stored at the "dataExtensions" key. See the tags and dataExtensions descriptions for details.
</description>
<data idref="tags"/>
<data idref="antenna"/>
<data idref="count"/>
<data idref="reader"/>
<data idref="timestampFirst"/>
<data idref="timestampLast"/>
<data idref="dataExtensions"/>
<data idref="tid"/>
<data idref="userdata"/>
</signal>
<measurement id="TagReadingExpression" type="String">
<description>The TagReadingExpression is an LDAP expression to trigger the state of tag reading
based on input pin and control values.</description>
<configuration type="String">true</configuration>
<method/>
</measurement>
<measurement id="TagReading" type="Boolean">
<description>The TagReading measurement specifies the state of reading behavior. When the
measurement is true, the reader is reading tags in autonomous mode and the profile reports
tag data on the TagReport signal. When the measurement is false, the reader's autonomous mode
is not enabled and any unexpected tag data reported by the reader is published on the TagReport error
signal. If an LDAP expression is specified for the TagReadingExpression, a publication to
write a value to this measurement will result in an exception and will not update the measurement
value.
</description>
<method/>
<value>
<boolean>false</boolean>
</value>
</measurement>
<measurement id="TagAggregatingExpression" type="String">
<description>The TagAggregatingExpression is an LDAP expression to trigger the behavior of
aggregating based on input pin and control values.
</description>
<configuration type="String">true</configuration>
<method/>
</measurement>
<measurement id="TagAggregating" type="Boolean" listen="true">
<description>The TagAggregating measurement specifies the state of aggregating behavior.
When the measurement value is true, the profile is collecting all tags which pass the
Aggregation Mask. When the measurement value is updated to false, the profile publishes the
TagAggregationReport signal, clears the aggregation cache, and stops collecting incoming tags.
If an LDAP expression is specified for the TagAggregatingExpression, a publication to
write a value to this measurement will result in an exception and will not update the measurement
value.
</description>
<method/>
<value>
<boolean>false</boolean>
</value>
</measurement>
<measurement id="TagMaskSetting" type="String">
<description>The TagMaskSetting specifies the definition of tags that should be published
on the TagReport signal. A mask is specified by four comma-delimited parameters. The
first parameter of a tag mask is a placeholder for future use, and the value is ignored. The
second parameter is the pointer value. It is the first bit location of the tag id against
which to compare the mask. The third parameter is the length. It specifies the number of
bits of the tag id to compare against the mask. The final parameter is the mask value. It
is the pattern against which the specified section of the tag id must match to pass the filter.
Multiple masks can be specified by separating them with a semi-colon.
</description>
<configuration type="String">true</configuration>
<method/>
</measurement>
<measurement id="DuplicateFilteringExpression" type="String">
<description>The DuplicateFilteringExpression is an LDAP expression to trigger the behavior of
duplicate tag filtering based on input pin and control values.
</description>
<configuration type="String">true</configuration>
<method/>
</measurement>
<measurement id="DuplicateFiltering" type="Boolean" listen="true">
<description>The DuplicateFiltering measurement specifies the state of duplicate tag filtering
behavior. When the measurement value is true, the profile signals only the initial report of
each tag read during the filtering cycle. When the measurement value is updated to false, the
profile clears the cache of tags it has seen during the filtering cycle. While the measurement
value is false, the profile does not filter out duplicate tags or cache incoming tags. If an
LDAP expression is specified for the DuplicateFilteringExpression, a publication to write a
value to this measurement will result in an exception and will not update the measurement value.
</description>
<method/>
<value>
<boolean>false</boolean>
</value>
</measurement>
<measurement id="AggregationMaskSetting" type="String">
<description>The AggregationMaskSetting specifies the definition of tags that should be published
on the TagAggregationReport signal. A mask is specified by four comma-delimited parameters. The
first parameter of a tag mask is a placeholder for future use, and the value is ignored. The
second parameter is the pointer value. It is the first bit location of the tag id against
which to compare the mask. The third parameter is the length. It specifies the number of
bits of the tag id to compare against the mask. The final parameter is the mask value. It
is the pattern against which the specified section of the tag id must match to pass the filter.
Multiple masks can be specified by separating them with a semi-colon.
</description>
<configuration type="String">true</configuration>
<method/>
</measurement>
<measurement id="DataExtensions" type="Map">
<description>The DataExtensions measurement is a map of metadata to be associated with tag data.
Data extensions are applied to TagReport data as the signal is published. Data extensions
are applied to a TagAggregationReport at the beginning and end of the aggregation cycle. Writing
a value to this measurement merges the new map with the current DataExtensions value. Setting the
value of the measurement to an empty map clears the value.
</description>
<method/>
</measurement>
</group>
</profile>
| Copyright (c) 2008 IBM. See license in Legal section. | 2008-02-07 | Rfid Inventory XML Reference 1.1.0 |