Bluetooth Low Energy: Peripheral LBS¶
Overview¶
The BLE Peripheral LBS sample demonstrates how to use the LED Button Service (LBS).
The GATT LED Button Service (LBS) is a custom service that receives information about the state of an LED and sends notifications when a button changes its state.
When connected, the sample sends the state of the button to the connected device, such as a phone or tablet. The mobile application on the device can display the received button state and control the state of Blue LED.
Requirements¶
Before you start, check that you have the required hardware and software:
- 1x nRF52840 MDK USB Dongle(or w/Case option)
- A smartphone or a tablet with nRF Connect for Mobile installed
- A computer running macOS, Linux, or Windows 7 or newer
Building the sample¶
Before you start building, remember to set up the environment first.
Use the following steps to build the BLE Peripheral LBS sample on the command line.
-
Open a terminal window.
-
Go to
my-workspace/ncs-playground
directory created in the Setting up the environment section. -
Build the sample using the
west
command, specifying the board (following the-b
option) asdongle_nrf52840
:Tip
The
-p always
option forces a pristine build, and is recommended for new users. Users may also use the-p auto
option, which will use heuristics to determine if a pristine build is required, such as when building another sample. -
After running the
west build
command, the build files can be found inbuild/zephyr
.
Flashing the firmware¶
The sample is designed to work with the UF2 Bootloader, so that you can easily flash the sample using the UF2 Bootloader. The firmware can be found in build/zephyr
with the name zephyr.uf2
.
To flash the firmware, complete the following steps:
-
Push and hold the button and plug your dongle into the USB port of your computer. Release the button after your dongle is connected. The RGB LED turns green.
-
It will mount as a Mass Storage Device called UF2BOOT.
-
Drag and drop
zephyr.uf2
onto the UF2BOOT volume. The RGB LED blinks red fast during flashing. -
Re-plug the dongle and the sample will start running.
Testing¶
After flashing the firmware to your dongle, complete the following steps to test it:
- Plug the dongle into the USB port of your computer.
-
Start the nRF Connect for Mobile app, scan the device and observe that the device is advertising with the Device Name
Nordic_LBS
. -
Connect to the device from the application. The LBS Service with UUID
00001523-1212-EFDE-1523-785FEABCD123
is shown. This service has two characteristics:- Blinky Button State with UUID
00001524-1212-EFDE-1523-785FEABCD123
- Blinky LED State with UUID
00001525-1212-EFDE-1523-785FEABCD123
- Blinky Button State with UUID
-
In the Blinky Button State, click to enable notifications, press the button on the dongle and observe that notifications with the following values are displayed:
Button Released
when the button is released.Button Pressed
when the button is pressed.
-
In the Blinky LED State, click , then select
Bool
and switch toTrue
orFalse
to control the Blue LED on the dongle. Then click Write to send the value and observe the state of the Blue LED.