Here is a brief overview of the Bluetooth LE module system architecture comprised of hardware and software components.
Hardware Components
Bluetooth LE Controller - This is the Bluetooth device used to access the Bluetooth network (Bluetooth Chip in your board, USB Bluetooth Stick, etc.)
Software Components
Bluetooth Host - Software Bluetooth layers (e.g. Linux drivers, BlueZ):
Host to Controller Interface - Provides interface between the Bluetooth Controller subsystem and the Bluetooth Host.
L2CAP Layer - Logical Link Control and Adaptation Protocol. Packet-based protocol that transmits packets to the Host Controller Interface/Link Layer.
Security Manager - Manages pairing, authentication and encryption between Bluetooth devices.
Attribute Protocol - Client/Server protocol for peer to peer data exchange in Bluetooth LE.
OSGi Bluetooth Driver Bundles - Provides access to the BLE controller & devices through the driver API (for more information, refer to the Bluetooth LE API Bundle page and the Java API page)
Console Commands - pluggable commands that allow to list and manage the registered controllers and their paired devices.
Service Providers - OSGi services that can provide GATT Service implementations. The module contains a default service provider, which implements the officially adopted GATT Services.
Device Access Adapter - Provides control over the Bluetooth LE controller and devices through the Device Access Items API. The Bluetooth LE controller is represent with a com.prosyst.mbs.services.da.items.maintenance.Discovery item (more information can be found in the DA items API page). Each discovered device is represented with a com.prosyst.mbs.services.bluetooth.le.da.items.BleDevice item (more information can be found in the DA items API page).
Device Access Items Providers - Additional providers which can be installed in order to customize the way a Bluetooth LE device is represented in the Device Access. The module contains a demo for writing such providers (more information can be found in the Demos page in the Getting Started Section)