Bluetooth host interface

This chapter covers only SpringCore devices featuring a Bluetooth (BLE) interface (and not configured as Bluetooth tokens reader).

Overview

The SpringCore device is a Bluetooth Smart or "Bluetooh Low Energy" (BLE) peripheral.

As any Bluetooth peripheral, an un-connected SpringCore devices broadcasts advertising frames to notify the potential hosts of its presence in the nearby.

When an application wants to use the SpringCore device, the host opens a Bluetooth connection, explores the device's GATT (Generic Access Profile Attribute Protocol Table) to enumerate the available services and characteristics. Commands and responses are then exchanged by the host writing and reading the device's GATT characteristics.

The device's Bluetooth profile, i.e. the list of services and characteristics that is exposed in its GATT, depends on the selected operating mode.

Available Bluetooth profiles

Depending on the operating mode selected in its configuration, a SpringCore Bluetooth device implements one or two of the following services:

  • CCID (chip card interface device). This Bluetooth profile is based on the standard USB protocol for smartcard readers. It is the foundation of PC/SC Operation.
  • HID (human interface device) keyboard: this is the standard Bluetooth profile for keyboards. It allows a SpringCore device to send data as if they were entered by the user on the keyboard. This is the foundation for Smart Reader with keyboard emulation aka RFID Scanner Operation.
  • SpringCore Direct: this is a SpringCard-specific Bluetooth profile, that allows a SpringCore device to be driven easily and in an abstract way from SpringCard Companion, whatever its configured operating mode and communication interface. The protocol is also optimized to give the highest throughput, which is a key feature for the Smart Reader Operation.

Note that GAP (Generic Access Profile) and Standard GATT Services are always implemented by the device, whatever its operating mode, to comply with the Bluetooth 4 standard.

Advertising frame

To be written

Bluetooth profile and advertising frame for every operating mode

Operating mode GATT services Advertised service GUID Advertised name
PC/SC Standard
CCID (PC/SC)
SpringCore Direct
To be written <Device Name>
RFID Scanner Standard
HID (RFID Scanner)
SpringCore Direct
To be written <Device Name> Kbd
Smart Reader Standard
SpringCore Direct
To be written <Device Name> RDR

The <Device Name> value comes from register 0104 Bluetooth Device Name. If this register is not defined, a default value is assembled from the Vendor Name and the Product Name.