Files
esp-idf/examples/bluetooth/nimble/throughput_app
Wei Yu Han 47605ef8c4 Merge branch 'fix/optimize_ble_example_ci_build_rule' into 'master'
fix(ble): Optimizied the bluetooth build test rules

See merge request espressif/esp-idf!35259

(cherry picked from commit 0163cb8ed0)

67da5f4e fix(ble): Optimizied the bluetooth build test rules
c7deda66 fix(ble): Added ESP32C5 to the supported targets in...
d12fdfed fix(ble): Fixed a typo in nimble/throughput_app/blecent_throughput/README.md
c8288e17 fix(ble): Fixed the rule for esp_hid_device and esp_hid_host examples
fddf6403 fix(ble): enable esp_hid_host testing on ESP32 only
db31513d fix(ble): Added build rule for hci/ble_adv_scan_combined and controller_vhci_ble_adv examples
e76086f1 fix(ble): Added supported chip for examples hci/ble_adv_scan_combined and...
1b05f9e1 docs(ble): Replaced dbm with dBm in esp32c2 controller API reference

Co-authored-by: Island <island@espressif.com>
2024-12-02 14:27:05 +08:00
..

Throughput demo Examples

There are two different example folders inside this throughput_app, bleprph_throughput and blecent_throughput. As the names suggest, both of them play role of peripheral and central respectively. These example demonstrate application throughput for NimBLE on ESP32. Two ESP32 boards are needed to run this demo. The blecent_throughput example has CLI support to select GATT operation from READ/WRITE/NOTIFY. It can also accept connection parameters at start of program, more details can be found in respective READMEs.

Using the examples

First build and flash two ESP32 boards with bleprph_throughput and blecent_throughput examples. The central automatically scans and connects to peripheral based on peripheral name string (nimble_prph). In the next step, user may choose to configure connection parameters (MTU, connection interval, latency, supervision timeout, connection event length). In the next step, user needs to specify throughput test name (read, write or notify) and test time in seconds. Below are sample numbers of different throughput test runs for 60 seconds (MTU = 512, conn itvl = 7.5msec, conn event length = 7.5msec)

GATT method Measurement time Application Throughput
NOTIFY 60 seconds ~340Kbps
READ 60 seconds ~200kbps
WRITE 60 seconds ~500kbps

The notify output is seen on bleprph_throughput console and read/write throughput are seen on blecent_throughput console.