mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 17:19:09 -04:00
docs(ble): Moved ble-mesh and blufi to ble section
This commit is contained in:
parent
c6f974e689
commit
48bf83416a
@ -34,11 +34,11 @@ BLE_DOCS = ['api-reference/bluetooth/bt_le.rst',
|
||||
'migration-guides/release-5.x/5.0/bluetooth-low-energy.rst']
|
||||
|
||||
|
||||
BLE_MESH_DOCS = ['api-guides/esp-ble-mesh/ble-mesh-index.rst',
|
||||
'api-guides/esp-ble-mesh/ble-mesh-feature-list.rst',
|
||||
'api-guides/esp-ble-mesh/ble-mesh-terminology.rst',
|
||||
'api-guides/esp-ble-mesh/ble-mesh-architecture.rst',
|
||||
'api-guides/esp-ble-mesh/ble-mesh-faq.rst',
|
||||
BLE_MESH_DOCS = ['api-guides/ble/esp-ble-mesh/ble-mesh-index.rst',
|
||||
'api-guides/ble/esp-ble-mesh/ble-mesh-feature-list.rst',
|
||||
'api-guides/ble/esp-ble-mesh/ble-mesh-terminology.rst',
|
||||
'api-guides/ble/esp-ble-mesh/ble-mesh-architecture.rst',
|
||||
'api-guides/ble/esp-ble-mesh/ble-mesh-faq.rst',
|
||||
'api-reference/bluetooth/esp-ble-mesh.rst']
|
||||
|
||||
CLASSIC_BT_DOCS = ['api-reference/bluetooth/classic_bt.rst',
|
||||
@ -55,7 +55,7 @@ CLASSIC_BT_DOCS = ['api-reference/bluetooth/classic_bt.rst',
|
||||
'api-reference/bluetooth/esp_gap_bt.rst',
|
||||
'migration-guides/release-5.x/5.0/bluetooth-classic.rst']
|
||||
|
||||
BLUFI_DOCS = ['api-guides/blufi.rst',
|
||||
BLUFI_DOCS = ['api-guides/ble/blufi.rst',
|
||||
'api-reference/bluetooth/esp_blufi.rst']
|
||||
|
||||
WIFI_DOCS = ['api-guides/low-power-mode/low-power-mode-wifi.rst',
|
||||
|
@ -1,11 +1,8 @@
|
||||
BluFi
|
||||
^^^^^
|
||||
Introduction
|
||||
==============
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
The BluFi for {IDF_TARGET_NAME} is a Wi-Fi network configuration function via Bluetooth channel. It provides a secure protocol to pass Wi-Fi configuration and credentials to {IDF_TARGET_NAME}. Using this information, {IDF_TARGET_NAME} can then connect to an AP or establish a SoftAP.
|
||||
|
||||
Fragmenting, data encryption, and checksum verification in the BluFi layer are the key elements of this process.
|
||||
@ -13,7 +10,7 @@ Fragmenting, data encryption, and checksum verification in the BluFi layer are t
|
||||
You can customize symmetric encryption, asymmetric encryption, and checksum support customization. Here we use the DH algorithm for key negotiation, 128-AES algorithm for data encryption, and CRC16 algorithm for checksum verification.
|
||||
|
||||
The BluFi Flow
|
||||
---------------
|
||||
===============
|
||||
|
||||
The BluFi networking flow includes the configuration of the SoftAP and Station.
|
||||
|
||||
@ -46,7 +43,7 @@ The following uses Station as an example to illustrate the core parts of the pro
|
||||
2. The data lengths before and after symmetric encryption/decryption must stay the same. It also supports in-place encryption and decryption.
|
||||
|
||||
The Flow Chart of BluFi
|
||||
--------------------------
|
||||
========================
|
||||
|
||||
.. seqdiag::
|
||||
:caption: BluFi Flow Chart
|
||||
@ -75,7 +72,7 @@ The Flow Chart of BluFi
|
||||
.. _frame_formats:
|
||||
|
||||
The Frame Formats Defined in BluFi
|
||||
-----------------------------------
|
||||
===================================
|
||||
|
||||
The frame formats for the communication between the mobile phone App and {IDF_TARGET_NAME} are defined as follows:
|
||||
|
||||
@ -431,7 +428,7 @@ The format of ACK Frame:
|
||||
The **CheckSum** field takes two bytes, which is used to check "sequence + data length + clear text data".
|
||||
|
||||
The Security Implementation of {IDF_TARGET_NAME}
|
||||
------------------------------------------------
|
||||
=================================================
|
||||
|
||||
1. Securing Data
|
||||
|
||||
@ -482,7 +479,7 @@ The data to be encrypted and decrypted must be in the same length. The IV8 is an
|
||||
This function is used to compute CheckSum and return a value of CheckSum. BluFi uses the returned value to compare the CheckSum of the frame.
|
||||
|
||||
GATT Related Instructions
|
||||
-------------------------
|
||||
==========================
|
||||
|
||||
UUID
|
||||
>>>>>
|
@ -1,5 +1,5 @@
|
||||
ESP-BLE-MESH Architecture
|
||||
=========================
|
||||
Architecture
|
||||
=============
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
||||
@ -22,7 +22,7 @@ This document introduces ESP-BLE-MESH architecture overview, ESP-BLE-MESH archit
|
||||
|
||||
Currently ESP-BLE-MESH has implemented most functions of Mesh Profile and all the Client Models defined in Mesh Model specification. Those missing functions/models are under development and will be provided soon. ESP-BLE-MESH architecture has been granted the official Bluetooth `certification <https://launchstudio.bluetooth.com/ListingDetails/76255>`__.
|
||||
|
||||
.. figure:: ../../../_static/esp-ble-mesh-architecture.png
|
||||
.. figure:: ../../../../_static/esp-ble-mesh-architecture.png
|
||||
:align: center
|
||||
|
||||
Figure 1.1 ESP-BLE-MESH Architecture Diagram
|
||||
@ -217,7 +217,7 @@ The design and implementation of ESP-BLE-MESH architecture is based on layers an
|
||||
|
||||
- **Module-based Approach**: Every file implements an independent function that can be called by other programs.
|
||||
|
||||
.. figure:: ../../../_static/esp-ble-mesh-interface.png
|
||||
.. figure:: ../../../../_static/esp-ble-mesh-interface.png
|
||||
:align: center
|
||||
|
||||
Figure 2.1 ESP-BLE-MESH Architecture Implementation Diagram
|
@ -1,5 +1,5 @@
|
||||
ESP-BLE-MESH FAQ
|
||||
================
|
||||
FAQ
|
||||
=====
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
||||
@ -532,7 +532,7 @@ Generally, a Provisioner is used to provision unprovisioned devices and form a m
|
||||
|
||||
.. only:: esp32
|
||||
|
||||
The :doc:`ESP32-DevKitC <../../hw-reference/esp32/get-started-devkitc>` board without PSRAM can run properly but the throughput of it is low since it has no PSRAM. When Bluetooth and Wi-Fi coexist, the throughput of ESP32-DevKitC with PSRAM can be stabilized to more than 1 Mbps.
|
||||
The :doc:`ESP32-DevKitC <../../../hw-reference/esp32/get-started-devkitc>` board without PSRAM can run properly but the throughput of it is low since it has no PSRAM. When Bluetooth and Wi-Fi coexist, the throughput of ESP32-DevKitC with PSRAM can be stabilized to more than 1 Mbps.
|
||||
|
||||
Some configurations in menuconfig shall be enabled to support PSRAM.
|
||||
|
@ -1,5 +1,5 @@
|
||||
ESP-BLE-MESH Feature List
|
||||
=========================
|
||||
Feature List
|
||||
=============
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
@ -1,6 +1,5 @@
|
||||
************
|
||||
ESP-BLE-MESH
|
||||
************
|
||||
Introduction
|
||||
==============
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
||||
@ -12,7 +11,7 @@ Bluetooth mesh is not a wireless communications technology, but a networking tec
|
||||
|
||||
Built on top of Zephyr Bluetooth Mesh stack, the ESP-BLE-MESH implementation supports device provisioning and node control. It also supports such node features as Proxy, Relay, Low power and Friend.
|
||||
|
||||
Please see the :doc:`ble-mesh-architecture` for information about the implementation of ESP-BLE-MESH architecture and :doc:`ESP-BLE-MESH API Reference <../../api-reference/bluetooth/esp-ble-mesh>` for information about respective API.
|
||||
Please see the :doc:`ble-mesh-architecture` for information about the implementation of ESP-BLE-MESH architecture and :doc:`ESP-BLE-MESH API Reference <../../../api-reference/bluetooth/esp-ble-mesh>` for information about respective API.
|
||||
|
||||
ESP-BLE-MESH is implemented and certified based on the latest Mesh Profile v1.0.1, users can refer `here <https://launchstudio.bluetooth.com/ListingDetails/94304>`_ for the certification details of ESP-BLE-MESH.
|
||||
|
||||
@ -20,19 +19,19 @@ ESP-BLE-MESH is implemented and certified based on the latest Mesh Profile v1.0.
|
||||
|
||||
.. note::
|
||||
|
||||
If you are looking for Wi-Fi based implementation of mesh for {IDF_TARGET_NAME}, please check another product by Espressif called ESP-WIFI-MESH. For more information and documentation see :doc:`ESP-WIFI-MESH <../../api-reference/network/esp-wifi-mesh>`.
|
||||
If you are looking for Wi-Fi based implementation of mesh for {IDF_TARGET_NAME}, please check another product by Espressif called ESP-WIFI-MESH. For more information and documentation see :doc:`ESP-WIFI-MESH <../../../api-reference/network/esp-wifi-mesh>`.
|
||||
|
||||
|
||||
.. _getting-started-with-ble-mesh:
|
||||
|
||||
Getting Started with ESP-BLE-MESH
|
||||
=================================
|
||||
Getting Started
|
||||
=================
|
||||
|
||||
This section is intended to help you get started with ESP-BLE-MESH for the hardware based on the {IDF_TARGET_NAME} chip by Espressif.
|
||||
|
||||
We are going to demonstrate process of setting and operation of a small ESP-BLE-MESH network of three nodes. This process will cover device provisioning and node configuration, and then sending on/off commands to Generic OnOff Server Models on specific nodes.
|
||||
|
||||
If you are new to ESP-IDF, please first set up development environment, compile , flash and run example application following top level ESP-IDF :doc:`../../get-started/index` documentation.
|
||||
If you are new to ESP-IDF, please first set up development environment, compile , flash and run example application following top level ESP-IDF :doc:`../../../get-started/index` documentation.
|
||||
|
||||
|
||||
What You Need
|
||||
@ -83,7 +82,7 @@ After the :example:`bluetooth/esp_ble_mesh/onoff_models/onoff_server` example is
|
||||
|
||||
Once boards are powered on, the RGB LED on each board should turn **GREEN**.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-device-power-on.png
|
||||
.. figure:: ../../../../_static/ble-mesh-device-power-on.png
|
||||
:align: center
|
||||
|
||||
ESP-BLE-MESH Devices Power On
|
||||
@ -98,7 +97,7 @@ In this section, we will use the **nRF Mesh Android** App to demonstrate how to
|
||||
|
||||
The Scanner is App's functionality to search for unprovisioned devices in range. Open the App, press **Scanner** at the bottom and the search will start. After a short while we should see three unprovisioned devices displayed.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-scanner.png
|
||||
.. figure:: ../../../../_static/ble-mesh-scanner.png
|
||||
:align: center
|
||||
:height: 370
|
||||
|
||||
@ -114,7 +113,7 @@ Users can select any unprovisioned device, then the App will try to set up a con
|
||||
|
||||
After the **IDENTIFY** interface button is pressed, users can see the **PROVISION** interface button.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-identify-provision.png
|
||||
.. figure:: ../../../../_static/ble-mesh-identify-provision.png
|
||||
:align: center
|
||||
:height: 370
|
||||
|
||||
@ -132,7 +131,7 @@ Then, the App will try to provision the unprovisioned device. When the device is
|
||||
|
||||
When all the procedures are finished, the node is configured properly. And after pressing **OK**, users can see that unicast address is assigned, and Composition Data of the node is decoded successfully.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-config-complete.png
|
||||
.. figure:: ../../../../_static/ble-mesh-config-complete.png
|
||||
:align: center
|
||||
:height: 370
|
||||
|
||||
@ -140,7 +139,7 @@ When all the procedures are finished, the node is configured properly. And after
|
||||
|
||||
Sometimes in procedure 2, the App may fail to reconnect with the node. In this case, after pressing **OK**, users can see that only unicast address of the node has been assigned, but no Composition Data has been got. Then users need to press **CONNECT** on the top right, and the previously provisioned node will be displayed on the screen, and users need to choose it and try to connect with the node.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-initial-config-fail.png
|
||||
.. figure:: ../../../../_static/ble-mesh-initial-config-fail.png
|
||||
:align: center
|
||||
:height: 370
|
||||
|
||||
@ -148,7 +147,7 @@ Sometimes in procedure 2, the App may fail to reconnect with the node. In this c
|
||||
|
||||
After connecting successfully, the App will show the interface buttons which can be used to get Composition Data and add AppKey.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-reconnect-initial-config.png
|
||||
.. figure:: ../../../../_static/ble-mesh-reconnect-initial-config.png
|
||||
:align: center
|
||||
:height: 370
|
||||
|
||||
@ -161,7 +160,7 @@ Here an example of three devices listed.
|
||||
* The left picture shows that the third device is provisioned successfully, but the App failed to connect with it. When it tries to reconnect with the third node, three nodes are displayed on the App.
|
||||
* The right picture shows that after connecting with any node successfully, the App displays the information of the three nodes. Users can see that the App has got the Composition Data of the first and the second nodes, but for the third one, only the unicast address has been assigned to it while the Composition Data is unknown.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-reconnect-three.png
|
||||
.. figure:: ../../../../_static/ble-mesh-reconnect-three.png
|
||||
:align: center
|
||||
:height: 370
|
||||
|
||||
@ -174,7 +173,7 @@ When provisioning and initial configuration are finished, users can start to con
|
||||
|
||||
Example below shows how to bind AppKey with Generic OnOff Server Model within the Primary Element.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-model-bind-appkey.png
|
||||
.. figure:: ../../../../_static/ble-mesh-model-bind-appkey.png
|
||||
:align: center
|
||||
:height: 370
|
||||
|
||||
@ -191,7 +190,7 @@ After all the Generic OnOff Server Models within the three elements are bound wi
|
||||
|
||||
In the :example:`bluetooth/esp_ble_mesh/onoff_models/onoff_server` example, the first Generic OnOff Server Model is used to control the **RED** color, the second one is used to control the **GREEN** color and the third one is used to control the **BLUE** color.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-generic-onoff.png
|
||||
.. figure:: ../../../../_static/ble-mesh-generic-onoff.png
|
||||
:align: center
|
||||
:height: 370
|
||||
|
||||
@ -199,7 +198,7 @@ In the :example:`bluetooth/esp_ble_mesh/onoff_models/onoff_server` example, the
|
||||
|
||||
The following screenshot shows different board with different color on.
|
||||
|
||||
.. figure:: ../../../_static/ble-mesh-three-nodes-on.png
|
||||
.. figure:: ../../../../_static/ble-mesh-three-nodes-on.png
|
||||
:align: center
|
||||
|
||||
Three ESP-BLE-MESH Nodes On
|
||||
@ -210,8 +209,8 @@ The following screenshot shows different board with different color on.
|
||||
|
||||
.. _esp-ble-mesh-examples:
|
||||
|
||||
ESP-BLE-MESH Examples
|
||||
=====================
|
||||
Examples
|
||||
=========
|
||||
|
||||
* :example_file:`OnOff Server <bluetooth/esp_ble_mesh/onoff_models/onoff_server/tutorial/BLE_Mesh_Node_OnOff_Server_Example_Walkthrough.md>` - shows the use of ESP-BLE-MESH as a node having a Configuration Server model and a Generic OnOff Server model. A ESP-BLE-MESH Provisioner can then provision the unprovisioned device and control a RGB LED representing on/off state, see :example:`example code <bluetooth/esp_ble_mesh/onoff_models/onoff_server>`.
|
||||
|
||||
@ -230,15 +229,15 @@ ESP-BLE-MESH Examples
|
||||
|
||||
.. _esp-ble-mesh-demo-videos:
|
||||
|
||||
ESP-BLE-MESH Demo Videos
|
||||
========================
|
||||
Demo Videos
|
||||
============
|
||||
|
||||
* `Espressif Fast Provisioning using ESP-BLE-MESH App <https://dl.espressif.com/BLE/public/ESP32_BLE_Mesh_Fast_Provision.mp4>`_
|
||||
* `Espressif ESP-BLE-MESH and Wi-Fi Coexistence <https://dl.espressif.com/BLE/public/ESP_BLE_MESH_WIFI_Coexistence.mp4>`_
|
||||
|
||||
|
||||
ESP-BLE-MESH FAQ
|
||||
================
|
||||
FAQ
|
||||
====
|
||||
|
||||
* :ref:`ble-mesh-faq-provisioner-development`
|
||||
* :ref:`ble-mesh-faq-node-development`
|
||||
@ -253,7 +252,7 @@ Related Documents
|
||||
=================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:maxdepth: 2
|
||||
|
||||
ble-mesh-feature-list
|
||||
ble-mesh-architecture
|
@ -1,5 +1,5 @@
|
||||
ESP-BLE-MESH Terminology
|
||||
========================
|
||||
Terminology
|
||||
============
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
@ -1,10 +1,48 @@
|
||||
Bluetooth® Low Energy (Bluetooth LE)
|
||||
====================================
|
||||
#######################
|
||||
Bluetooth® Low Energy
|
||||
#######################
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
||||
*********
|
||||
Overview
|
||||
--------
|
||||
*********
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
overview
|
||||
|
||||
**********
|
||||
Profile
|
||||
**********
|
||||
|
||||
.. only:: SOC_BLE_MESH_SUPPORTED
|
||||
|
||||
ESP-BLE-MESH
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
- See the :ref:`ESP-BLE-MESH <mesh>` section.
|
||||
|
||||
.. only:: SOC_BLUFI_SUPPORTED
|
||||
|
||||
BluFi
|
||||
^^^^^
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
blufi
|
||||
|
||||
|
||||
.. only:: SOC_BLE_MESH_SUPPORTED
|
||||
|
||||
.. _mesh:
|
||||
|
||||
*************
|
||||
ESP-BLE-MESH
|
||||
*************
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
esp-ble-mesh/ble-mesh-index
|
||||
|
@ -1,5 +1,5 @@
|
||||
Introduction
|
||||
------------
|
||||
=============
|
||||
|
||||
:link_to_translation:`zh_CN:[中文]`
|
||||
|
||||
@ -175,7 +175,7 @@ Above the host stacks are the profile implementations by Espressif and some comm
|
||||
|
||||
Built on top of Zephyr Bluetooth Mesh stack, the ESP-BLE-MESH implementation supports device provisioning and node control. It also supports such node features as Proxy, Relay, Low power and Friend.
|
||||
|
||||
- :doc:`ESP-BLE-MESH documentation <../esp-ble-mesh/ble-mesh-index>`: feature list, get started, architecture, description of application examples, frequently asked questions, etc.
|
||||
- :doc:`ESP-BLE-MESH documentation <esp-ble-mesh/ble-mesh-index>`: feature list, get started, architecture, description of application examples, frequently asked questions, etc.
|
||||
- :example:`Application examples <bluetooth/esp_ble_mesh>`
|
||||
|
||||
|
||||
@ -186,7 +186,7 @@ Above the host stacks are the profile implementations by Espressif and some comm
|
||||
|
||||
The BluFi for {IDF_TARGET_NAME} is a Wi-Fi network configuration function via Bluetooth channel. It provides a secure protocol to pass Wi-Fi configuration and credentials to {IDF_TARGET_NAME}. Using this information, {IDF_TARGET_NAME} can then connect to an AP or establish a softAP.
|
||||
|
||||
- :doc:`BluFi documentation <../blufi>`
|
||||
- :doc:`BluFi documentation <blufi>`
|
||||
- :example:`Application examples <bluetooth/blufi>`
|
||||
|
||||
|
||||
|
@ -7,7 +7,6 @@ API Guides
|
||||
|
||||
app_trace
|
||||
startup
|
||||
:SOC_BLUFI_SUPPORTED: blufi
|
||||
:SOC_BLE_SUPPORTED: ble/index
|
||||
bootloader
|
||||
build-system
|
||||
@ -20,7 +19,6 @@ API Guides
|
||||
:SOC_RTC_MEM_SUPPORTED: deep-sleep-stub
|
||||
:SOC_USB_OTG_SUPPORTED and not esp32p4: dfu
|
||||
error-handling
|
||||
:SOC_BLE_MESH_SUPPORTED: esp-ble-mesh/ble-mesh-index
|
||||
:SOC_WIFI_MESH_SUPPORT: esp-wifi-mesh
|
||||
:SOC_SPIRAM_SUPPORTED: external-ram
|
||||
fatal-errors
|
||||
|
@ -11,7 +11,7 @@ For an ESP32 to join and work on a ESP-BLE-MESH network, it must be provisioned
|
||||
|
||||
Apart from ESP-BLE-MESH nodes, inside ESP-BLE-MESH network, there is also ESP32 that works as ESP-BLE-MESH provisioner, which could provision unprovisioned devices into ESP-BLE-MESH nodes and configure the nodes with various features.
|
||||
|
||||
For information how to start using ESP32 and ESP-BLE-MESH, please see the Section :ref:`getting-started-with-ble-mesh`. If you are interested in information on ESP-BLE-MESH architecture, including some details of software implementation, please see Section :doc:`../../api-guides/esp-ble-mesh/ble-mesh-architecture`.
|
||||
For information how to start using ESP32 and ESP-BLE-MESH, please see the Section :ref:`getting-started-with-ble-mesh`. If you are interested in information on ESP-BLE-MESH architecture, including some details of software implementation, please see Section :doc:`../../api-guides/ble/esp-ble-mesh/ble-mesh-architecture`.
|
||||
|
||||
|
||||
Application Examples and Demos
|
||||
@ -225,4 +225,3 @@ Composition and Metadata
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. include-build-file:: inc/esp_ble_mesh_cm_data_api.inc
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user