SpringCore in Smart Reader Mode

Introduction

In Smart Reader Mode, the SpringCore device automatically fetches some data from the contactless cards, NFC tags and RFID labels it does support.

Reading data

Depending on the interface(s) available on the SpringCore hardware, the supported technologies for Smart Reader Mode are:

  • NFC/RFID HF: contactless memory cards, contactless smart cards, RFID HF labels, NFC Forum tags, NFC objects (including mobile phones) running in card emulation mode (Apple VAS, Google VAS, etc),
  • RFID UHF: RFID UHF labels,
  • Bluetooth: receive BLE broadcasts (beacons or alike protocols), run transactions with an application running on a mobile phones (SpringCard SpringBlue, Orange Pack ID, etc).

To be able to read a token an "interesting" data from a remote object, the SpringCore device shall have a complete knowledge of

  • The expected technologie(s) - supported technologies are listed in Technology selector,
  • Where the token is located in the card (mapping), and how to access it (file identifier or block address, offset inside the file or block),
  • In case the card supports authentication and/or secure communication, the authentication keys,
  • How shall the data be pre-processed and (re)formated by the reader, if the host application(s) expects a specific length or format.

All these informations constitute the processing template as document in the Template engine and subsequent chapters. They are stored in the reader's non-volatile memory and allows the reader to run the transaction own its own.

The SpringCore devices support 4+2 processing templates :

  • Templates 1 to 4 define how to read NFC/RFID HF contactless cards, RFID HF labels, NFC Forum tags or NFC objects running in card emulation mode. The fact that there are 4 templates makes it possible to accept different cards from a single reader. The documentation is split between "actual" contactless cards and "virtual" cards i.e. NFC applications,
  • Template 0 defines how to read data from Bluetooth objects and is documented in BLE tokens,
  • Template 7 defines how to read data from RFID UHF labels and tags (see UHF tags).

Host communication

Once the data has been read and formatted, the SpringCore device has to send it to the host.

Depending on the hardware characteristics of the SpringCore device, the host channels supported in Smart Reader Mode are:

  • USB: using either the SpringCore Direct Protocol or the USB HID protocol, i.e. keyboard emulation. Keyboard emulation is detailed in chapter RFID Scanner Operation,
  • Bluetooth if the device's Bluetooth interface is not already in use to read data from Bluetooth objects): the device may again use either the SpringCore Direct Protocol or the BLE HID protocol, i.e. keyboard emulation. Keyboard emulation is detailed in chapter RFID Scanner Operation,
  • Serial: RS232, RS485, protocol to be defined,
  • Network: TCP/IP over Ethernet, protocol to be defined.

Keyboard emulation - RFID Scanner

When operated from an USB or Bluetooth (BLE) host, the SpringCore device may also be configured for keyboard-emulation ("keyboard wedge").

  • USB: the device complies with the USB HID (Human Interface Device) class specification, keyboard subclass,
  • Bluetooth: the device complies with the BLE keyboard specification (HID over BLE).

Using the device in keyboard-emulation mode is detailed in chapter RFID Scanner Operation,

Use-cases and limitations

In the Smart Reader Mode the SpringCore device has an high degree of autonomy and runs the transaction with the card, tag, label or object on its own.

This frees the host application from the burden of understanding how the cards do work, and how to run a transaction with them, but, on the other hand, it is not possible to go further than reading a (short) piece of data.

Any more complex transaction with the card (reading more than one piece of data, writing, formatting, specific authentication or security scheme...) has to be implemented using the PC/SC Mode.