You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.9 KiB
95 lines
2.9 KiB
.. _bluetooth-overview: |
|
|
|
Overview |
|
######## |
|
|
|
.. contents:: |
|
:local: |
|
:depth: 2 |
|
|
|
Since its inception, Zephyr has had a strong focus on Bluetooth and, in |
|
particular, on Bluetooth Low Energy (BLE). Through the contributions of |
|
several companies and individuals involved in existing open source |
|
implementations of the Bluetooth specification (Linux's BlueZ) as well as the |
|
design and development of BLE radio hardware, the protocol stack in Zephyr has |
|
grown to be mature and feature-rich, as can be seen in the section below. |
|
|
|
Supported Features |
|
****************** |
|
|
|
Zephyr comes integrated with a feature-rich and highly configurable |
|
Bluetooth stack. |
|
|
|
* Bluetooth 5.0 compliant (ESR10) |
|
|
|
* Highly configurable |
|
|
|
* Features, buffer sizes/counts, stack sizes, etc. |
|
|
|
* Portable to all architectures supported by Zephyr (including big and |
|
little endian, alignment flavors and more) |
|
|
|
* Support for all combinations of Host and Controller builds: |
|
|
|
* Controller-only (HCI) over UART, SPI, and USB physical transports |
|
* Host-only over UART, SPI, and IPM (shared memory) |
|
* Combined (Host + Controller) |
|
|
|
* Bluetooth-SIG qualified |
|
|
|
* Controller on Nordic Semiconductor hardware |
|
* Conformance tests run regularly on all layers |
|
|
|
* Bluetooth Low Energy Controller support (LE Link Layer) |
|
|
|
* Unlimited role and connection count, all roles supported |
|
* Concurrent multi-protocol support ready |
|
* Intelligent scheduling of roles to minimize overlap |
|
* Portable design to any open BLE radio, currently supports Nordic |
|
Semiconductor nRF51 and nRF52, as well as proprietary radios |
|
* Supports little and big endian architectures, and abstracts the hard |
|
real-time specifics so that they can be encapsulated in a hardware-specific |
|
module |
|
* Support for Controller (HCI) builds over different physical transports |
|
|
|
* Bluetooth Host support |
|
|
|
* Generic Access Profile (GAP) with all possible LE roles |
|
|
|
* Peripheral & Central |
|
* Observer & Broadcaster |
|
|
|
* GATT (Generic Attribute Profile) |
|
|
|
* Server (to be a sensor) |
|
* Client (to connect to sensors) |
|
|
|
* Pairing support, including the Secure Connections feature from Bluetooth 4.2 |
|
|
|
* Non-volatile storage support for permanent storage of Bluetooth-specific |
|
settings and data |
|
|
|
* Bluetooth mesh support |
|
|
|
* Relay, Friend Node, Low-Power Node (LPN) and GATT Proxy features |
|
* Both Provisioning bearers supported (PB-ADV & PB-GATT) |
|
* Highly configurable, fits as small as 16k RAM devices |
|
|
|
* IPSP/6LoWPAN for IPv6 connectivity over Bluetooth LE |
|
|
|
* IPSP node sample application |
|
|
|
* Basic Bluetooth BR/EDR (Classic) support |
|
|
|
* Generic Access Profile (GAP) |
|
* Logical Link Control and Adaptation Protocol (L2CAP) |
|
* Serial Port emulation (RFCOMM protocol) |
|
* Service Discovery Protocol (SDP) |
|
|
|
* Clean HCI driver abstraction |
|
|
|
* 3-Wire (H:5) & 5-Wire (H:4) UART |
|
* SPI |
|
* Local controller support as a virtual HCI driver |
|
|
|
* Verified with multiple popular controllers
|
|
|