ABle’s Documentation¶
About¶
Welcome to the documentation for ABle (Allthenticate’s BLE Library). The mission of this project is to create a developer friendly and platform agnostic implementation of BLE Sockets with a simple and powerful API.
The library supports a GATT peripheral server that can be initialized with preconfigured advertisements. The server produces centrals which handle abstraction for communicating and supports communicating directly with multiple connected centrals.
The abstraction barriers in the top level classes defined in the API Reference utilize platform specific backends meaning that the same code will run on Linux, Mac and Windows machines with Bluetooth capabilities, with the goal of greatly simplifying the BLE development process.
Note
This project is actively under development and we welcome any suggestions to improve these docs! Let us know with an email, notion card or an issue on the repo.
Abstraction¶
See below image for a visual for the abstraction that is core to how ABle works. The three main classes expose ABle’s Core API to developers which is platform agnostic. These classes utilize platform specific API’s with their own implementations such that the core API behaves the same on all supported platforms.
Tip
Note that this excludes the classes essential for configuring the GATT table on the peripheral ABleCharacteristic and ABleService, see the programming guide and the API reference for more on configuring the GATT table with ABle.
We will soon be releasing a short video series on how different components of ABle work as well as working through some of the main examples used.
Table Of Contents¶
Section |
Description |
|---|---|
Programming Guide |
Here you will find examples to get started and even get into some of the weeds of working with ABle. We suggest you look here first. |
Core API |
The core classes and their methods are documented here. |
Platform Backends |
For those who like getting their hands dirty, here are the different backends API’s that the core classes use. hic sunt BLE dracones |
Development |
For anyone interested in contributing to the project, check out these files to get started! |
Programming Guide
Platform Backends
Development
Puns¶
We readily welcome any puns on the ABle name to be sent to help@allthenticate.net to be featured in the repo (eg. this project en*able*s faster BLE development for more st*able* projects with read*able* documentation). Credit for the A+ name goes to Evan Blasband.
Moreover, we humbly think the name is hilarious because when you refer to an instance of an advertisement as ABleAdvertisement, you are calling it it’s class name but also what it is, a-ble-advertisement, we find this hilarious and hope you do to.