robert 0212e57f44 Added demo for BLE
Summary
---------------------------------------------------------------------------------------------------------
Created a minimal demo application for Bluetooth. It works by displaying some data over Bluetooth and the
user can connect to the device running it on NuttX and read this data.

This can work in 2 scenarios: a real scenario, in which data from the BME680 (temperature, humidity, etc..)
is used and the user will be able to read it. The second scenario involves displaying some dummy data
(hardcoded values) for testing purposes.

This application can serve as an example for users implementing more complex applications using Bluetooth on NuttX.

Testing
---------------------------------------------------------------------------------------------------------
I used the ESP32-Sparrow (which includes the BME680 sensor) and the ESP32-devkitc boards for testing.

The Bluetooth stack starts by default with advertising when it initializes, however I noticed that enabling
advertising in the stack does not work (at least on ESP32). However, when scanning is also enabled, the
device starts advertising. Therefore, in our application, during the BLE services initialization part, I also
enable scanning as a temporary workaround in order to make sure the device advertises and the user can see it
and connect to it.
2024-11-04 02:33:42 +08:00

38 lines
807 B
Plaintext

#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
config EXAMPLES_BLE
tristate "BLE sensor reading example"
default n
depends on WIRELESS_BLUETOOTH
---help---
Enable the BLE example
if EXAMPLES_BLE
config EXAMPLES_BLE_PROGNAME
string "Program name"
default "ble"
---help---
This is the name of the program that will be used when the NSH ELF
program is installed.
config EXAMPLES_BLE_PRIORITY
int "BLE task priority"
default 100
config EXAMPLES_BLE_STACKSIZE
int "BLE stack size"
default DEFAULT_TASK_STACKSIZE
config EXAMPLES_BLE_USE_BME680
bool "Use BME680 sensor data"
default n
depends on SENSORS_BME680
---help---
If enabled, use real BME680 sensor data. If disabled, use dummy data.
endif