OW2 :: AspireRFID :: UPnP RFID Reader



This section describes the bundle emulated an UPnP RFID Reader

1 Context

The installation of new readers and their configuration (ie LRSpec) in the ALE Server is a burden for non-expert people (shop employees for instance) in the context of SOHO. The zero-configuration can be provided by popular service discovery protocols and frameworks such as UPnP and DNS-SD (aka mDNS or Apple’Bonjour). UPnP is the defacto standard for plug-and-play appliances in the small shop and small office (SOHO) context. In order to alleviate the end-user (which is not a RFID integrator or expert), the Aspire middleware will provide a way to taken in account plug-and-play RFID readers (such as shop portals, portable readers, ..) using UPnP. Various implementations of the UPnP specification are available for Java. The Apache Felix UPnP Base Driver provides a bridge between OSGi registry and the UPnP network. It can directly integrated in the OSGi profile of the Aspire ALE Server to discover and to use the UPnP Device.

This project proposes a “zero-configuration” feature for readers communicating with IP (Ethernet, Wifi) using the UPnP infrastructure. It proposes a UPnP device profile (DCP) for RFID Reader. Readers implementing this profile can be discovery automatically by the Aspire ALE server and added (dynamically and without opertaor configuration) as a regular reader thru their LRSpec description.

The following figure depicts the extension of the ALE Server (OSGi profile) in order to add UPnP RFID Device.

upnpale.png

The following XML document presents the service description (DCP) of the RFID Readers is urn:schemas-ow2aspire-org:service:Reader:1 .

  • Properties (ro) : properties of the reader (application ...).
  • Duration (rw) : duration before two notifications of the report members
  • ReportMembers (subscription only) : tag identifiers scanned during a period (similar to the ECReport reportMember). The tag is are comma-separated.
<scpd>
  <serviceStateTable>

<stateVariable> <!-- Reader properties --> <name>Properties</name> <sendEventsAttribute>no</sendEventsAttribute> <dataType>string</dataType> <!-- pairs name-value x-www-form-urlencoded --> </stateVariable>

<stateVariable> <!-- duration between 2 reports --> <name>Duration</name> <sendEventsAttribute>yes</sendEventsAttribute> <dataType>ui4</dataType> <!-- in milliseconds --> <defaultValue>1000</defaultValue> </stateVariable> <!-- more parameters for the reader configuration -->

<stateVariable> <!-- Report members --> <name>ReportMembers</name> <sendEventsAttribute>yes</sendEventsAttribute> <dataType>string</dataType> <!-- CSV of the hexadecimal representation of EPC identifiers --> </stateVariable>

</serviceStateTable>

<actionList> <action> <name>SetDuration</name> <argumentList> <argument> <name>newDuration</name> <direction>in</direction> <relatedStateVariable>Duration</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetDuration</name> <argumentList> <argument> <name>currentDuration</name> <direction>out</direction> <relatedStateVariable>Duration</relatedStateVariable> </argument> </argumentList> </action> <action> <name>GetProperties</name> <argumentList> <argument> <name>currentProperties</name> <direction>out</direction> <relatedStateVariable>Properties</relatedStateVariable> </argument> </argumentList> </action> </actionList> </scpd>

Some improvements will coming soon in order to include TDT prefixes, filtering patterns (ie ECSpec.reportSpec.groupSpec.pattern), report triggrering conditions (ECSpec++), ...

The UPnP Device can also combine the urn:schemas-ow2aspire-org:service:Reader:1 service with other (standardized) DCP (TemperatureSensor , LowPower , ...) as it shows in the following snapshots of the Intel' DeviceSpy tool.

upnprfidreader1.png upnprfidreader2.png

Various implementations of the UPnP specification are available for Java. The Apache Felix UPnP Base Driver provides a bridge between OSGi registry and the UPnP network. It can directly integrated in the OSGi profile of the Aspire ALE Server to discover and to use the UPnP RFID reader.

2 Demonstrator

A demonstrator of a UPnP RFID Reader is available. It uses the ACR122U reader. The device includes also a fictive TemperatureSensor service and a LowPower service for GreenIT purpose. In the demonstration, this service enables the deep sleep and waking up of the PC running the demonstrator (WakeOnLAN must be activate for waking up the PC).

3 Dependencies

This bundle requires :

4 Build

4.1 Sources

5 Installation

6 Test

7 Configuration

8 Troubleshooting

9 Links