Skip to content

L2CAP + GATT communication between a central (GATT client) gateway and specified peripheral (GATT server) clients.

Notifications You must be signed in to change notification settings

sloweroons/silabs_ble_l2cap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

L2CAP Central-Peripheral communication demo project

This project demonstrates the credit-based L2CAP communication layer used specifically in Bluetooth Low Energy devices.

image

The completed project should look like this after the implementation of lwIP and the addition of a Cloud architecture

The corrent scope of the project is to have a network of BLE gateways (centrals) that control subnetworks of server devices (peripherals). Currently the central device seeks a specified service value (UUID), which, if implemented by the advertiser, our central device will be able to connect to. Once connected, we initiate the L2CAP connection and can receive messages either directly from the peripheral or upon request by our central device. The triggers for data events are currently implemented as button-press actions.

Sent data is fragmented and reassembled depending on the specified PDU (functional message that is sent) and SDU (the entire, original message that may need to be fragmented if it can't fit inside a single PDU) sizes. There is also currently a GATT overhead, which, although not part of the scope of the project, functions well. We can discover the implemented services and characteristics of the peripheral devices and can subscribe to GATT indications to receive data more dynamically.

Components

image

Silicon Labs WSTK, our peripheral device (and GATT server)

image

Silicon Labs Thunderboard, our central device (and GATT client)

Below are images detailing various stages of the communication process.

image

Boot process and successful BT + L2CAP connection based upon specified service UUID

image

Data received by a request from central via button-press

image

Data received by central after being generated peripheral-side via button-press

About

L2CAP + GATT communication between a central (GATT client) gateway and specified peripheral (GATT server) clients.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages