Skip to content

Commit bdc7f55

Browse files
committed
Merge branch 'docs-faq-use-ble' into 'main'
docs: add an faq for using ble after commissioning complete See merge request app-frameworks/esp-matter!989
2 parents 4d82fb7 + 4264837 commit bdc7f55

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

docs/en/faq.rst

+44
Original file line numberDiff line numberDiff line change
@@ -398,3 +398,47 @@ Please check `#1128`_ and `#1126`_ for relevant discussion on Github issue
398398

399399
.. _`#1126`: https://github.com/espressif/esp-matter/issues/1126
400400
.. _`#1128`: https://github.com/espressif/esp-matter/issues/1128
401+
402+
403+
A1.16 Using BLE after Matter commissioning
404+
------------------------------------------
405+
406+
Most Matter applications do not require BLE after commissioning. By default, BLE is deinitialized after commissioning
407+
to reclaim RAM and increase the available free heap. Refer to `A1.9 Why does free RAM increase after first commissioning`_
408+
for more details.
409+
410+
However, if BLE functionality is needed even after commissioning, you can disable the ``CONFIG_USE_BLE_ONLY_FOR_COMMISSIONING``
411+
option. This ensures that the memory allocated to BLE functionality is retained, allowing BLE to be used for other
412+
purposes post-commissioning.
413+
414+
After commissioning is complete, Matter will stop advertising, but the application can utilize BLE for other roles or operations.
415+
e.g. BLE Peripheral, BLE Central, etc.
416+
417+
To learn more, refer to the `bleprph`_ and `blecent`_ examples in ``esp-idf/examples/bluetooth/nimble``. These examples
418+
demonstrate BLE Peripheral and BLE Central roles. It also provides the step-by-step tutorial for building such devices.
419+
420+
For implementation details on Peripheral and Central roles, refer to the `bleprph_advertise()`_ and `blecent_scan()`_ functions in
421+
the respective examples.
422+
423+
BLE Central role is disabled by default in the esp-matter SDK's default example configurations.
424+
Please enable ``CONFIG_BT_NIMBLE_ROLE_CENTRAL`` option if you plan to use BLE Central role.
425+
426+
.. note::
427+
428+
Above mentioned details apply specifically to the NimBLE host.
429+
430+
431+
For more advanced BLE usage, you can use the external platform feature.
432+
It also serves as a way to integrate custom BLE usage with Matter.
433+
434+
Please refer to the `advance setup`_ section in the programming guide.
435+
This has been demonstrated in the `blemesh_bridge`_ and `light_wifi_prov`_ examples.
436+
437+
438+
.. _bleprph: https://github.com/espressif/esp-idf/tree/b5ac4fbdf9e9fb320bb0a98ee4fbaa18f8566f37/examples/bluetooth/nimble/bleprph
439+
.. _blecent: https://github.com/espressif/esp-idf/tree/b5ac4fbdf9e9fb320bb0a98ee4fbaa18f8566f37/examples/bluetooth/nimble/blecent
440+
.. _bleprph_advertise(): https://github.com/espressif/esp-idf/blob/b5ac4fbdf9e9fb320bb0a98ee4fbaa18f8566f37/examples/bluetooth/nimble/bleprph/main/main.c#L146
441+
.. _blecent_scan(): https://github.com/espressif/esp-idf/blob/b5ac4fbdf9e9fb320bb0a98ee4fbaa18f8566f37/examples/bluetooth/nimble/blecent/main/main.c#L435
442+
.. _advance setup: https://docs.espressif.com/projects/esp-matter/en/latest/esp32/developing.html#advanced-setup
443+
.. _blemesh_bridge: https://github.com/espressif/esp-matter/tree/main/examples/bridge_apps/blemesh_bridge
444+
.. _light_wifi_prov: https://github.com/espressif/esp-matter/tree/main/examples/light_wifi_prov#4-external-platform

0 commit comments

Comments
 (0)