Host Interfaces Bluetooth
April 13, 2023 at 2:39 AMBluetooth 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.