Embedded Light RP
             
Introduction
 
This section describes the Embedded light RP developed by the POPS team, Inria-Lille. This software can be easily implemented in mobile terminals such like PDA to interact with RFID Reader devices.
The implementation is divided into two subsets : RP API definition and core implementation for CAEN and BRI readers.
The targeted RP architecture is the following :
- One Reader Device : singleton representing the RFID reader device.
- One Source : representing the PDA as a mobile source for reading tags.
- One Read Point : representing the unique  ANTENNA of each PDA.
- One Data Selector : the default one, with EPCID field selection only.
- No Tag Selector : The filtering is done by software at upper levels.
- No Notification Channel : The inventory is done synchronously with a specified time-out per read cycle.
- No triggers : the only Read Trigger is implicitly fired when calling the method Source.rawReadIDs.
The implementation is performed as follows (example for BRI, idem. for CAEN):
 
Users & Developers Guide
The executable jar file can be found under the repository ReaderProtocol/dist.
All the source can be found under the repository ReaderProtocol/src.
Here is an example of Inventory of tags in reader's field:
// Reader singleton 
ReaderDevice myReader = 
             ReaderFactory.getReader(ReaderFactory.BRI_READER,"BRIReaderDevice");// Reader's default source and data selector
Source mySource; 
DataSelector myDataSelector;// Establish Connections 
ReaderFactory.connectReader(myReader);// Reader's Data Selector : default singleton for selecting IDs 
// This is is the default data selector that supports at least the tag ID field 
// get Default Data Selector and update it 
myDataSelector = myReader.getCurrentDataSelector();// Reader's source : Singleton 
mySource = myReader.getCurrentSource();// Perform 10 read cycles 
for( int i = 0; i < 10 ; i++) { 
        System.out.println("Read Cycle " + i + " at " + 
				    myReader.getTimeTicks() + " ticks");        // Inventory 
        ReadReport myReadReport = mySource.rawReadIDs(myDataSelector);        if (myReadReport == null) { 
                System.err.println("Error : mySource.rawReadIDs null report "); 
        } 
        else { 
                // Display read Tags (ids in hexadecimal)
                String[] tagIds = myReadReport.getTagIds(mySource.getName()); 
                if (tagIds == null) { 
                     System.err.println("Error : myReadReport.getTagIds null "); 
                } 
                else if (tagIds.length == 0) { 
                     System.out.println("t NO TAGS"); 
                } 
                else { 
                     for(int j = 0 ; j < tagIds.length; j++) 
                          System.out.println("tObserved : 0x" + tagIds[j]); 
                } 
        } 
}// graceful disconnect : equivalent to ReaderFactory.disconnectReader(myReader); 
myReader.goodbye();Download
You can download the executable jar file from 
here. The source can be found  
here.
Please follow the 
Users & Developers Guide for your tests.
More details about the complete version of Light ALE (with light RP embedded) can be found 
here.