Arendi.BleLibrary  6.2.1.1599
Core-Library (.NET Standard 1.0)
Arendi.BleLibrary

The library provides a common Bluetooth Low Energy API for multiple core stacks (iOS and Android) and various dongles (Windows). It handles all the various API's of the different BLE adapters and offers a common high level interface for the application.

The library comes with a core assembly (.NET Standard 1.0) that provides high level Bluetooth Low Energy functionality. This core library may be referenced by other .net standard libraries providing project specific implementation.

Satellite class libraries are provided for each supported BLE adapter with the adapter specific implementation. Some adapters need a license to run without limitation (see https://www.arendi.ch/produkte/arendi-ble-library/). Detailed information on how to use an adapter may be found in the documentation of the sattelite assemblies.

Supported Adapters by Arendi

iOS (Xamarin.iOS)

The iOS adapter supports BLE on iOS devices with hardware BLE support.
Supported Versions: iOS 7.x up to iOS 14.x

Android (Xamarin.Android)

The Android adapter supports BLE on Android devices supporting BLE. Our implementation is normally tested on the reference devices for a platform. As the manufacturer of other Android devices sometimes modifys the Android system some devices may not work as good as the reference devices.
Supported Versions: Android 4.4.4 up to Android 11.x

Bluegiga/Silicon Labs BLED112 (.NET 4.5)

The Bluegiga adapter is compatible with the Bluetooth Dongle BLED112 from Bluegiga/Silicon Labs. It is NOT compatible with integrated Bluetooth hardware driven by the Windows driver.

Nordic Dongle (.NET 4.5)

The Nordic adapter is compatible with the Nordic nRF52840 dongle (nRF52840) flashed with a provided firmware. It is NOT compatible with integrated Bluetooth hardware driven by the Windows driver.

HCI Dongle (.NET 4.5)

The HCI adapter is compatible with all UBS HCI dongles. The dongle needs to be installed in the system with a libusb based driver. It is NOT compatible with integrated Bluetooth hardware driven by the Windows driver.

OnSemi RSL10 Dongle (.NET 4.5)

The OnSemi adapter is compatible with the RSL10 Dongle from OnSemi. It is NOT compatible with integrated Bluetooth hardware driven by the Windows driver.

Asynchronous Programming Patterns

Most bluetooth operations take some time and are typical asynchronous operations. In the library we support the Task-based Asynchronous Pattern (TAP), which uses a single method to represent the initiation and completion of an asynchronous operation. TAP was introduced in the .NET Framework 4 and is the recommended approach to asynchronous programming in the .NET Framework. The async and await keywords add language support for TAP.

Overview

The central element of the library is the central implementation (see ICentral). To get a central object methods of the CentralFactory class of each adapter satellite assembly must be used. To discover visible peripherals the scanning has be started in the central. Every time a peripheral (see IPeripheral) is discovered a event with the advertisement information is sent to the application.

The received peripherals can be connected if they support it by calling ConnectAsync or Connect. After establishing a connection the services (see IService) can be discovered. The characteristics (see ICharacteristic) of the found services can be read, written or monitored by enabling notification or indication if there value changes.

Optional is the use of the EnhancedPeripheral and the PeripheralManager. The EnhancedPeripheral contains a higher level peripheral handling with integrated connection management. To simplify the management of the visible and connected peripherals the PeripheralManager may be used.

Class Diagram

Class Diagram