nRF5 SDK for Mesh example with Segger Embedded Studio first time setup

Hello,
Currently i am working on ble mesh and specifically on different nodes implementation, Proxy node, LPN node, Friend node.
But when i am starting to implement and testing ble mesh with different nodes, then i am stuck in basic setup of nrfmesh sdk with segger embedded studio,
also i trying to finding complete guide but the conversation is 5-6 years old and the attch link of technical documents are expired.

So, please give me complete guide of nrfblemesh with SES setup with basic example implementation like light_switch.

Thanks in advance. 

Parents Reply
  • Thanks for replay lorenzo Amicucci,

    I have nrf connect SDK and i perform every concept implementation like advertising, beacon, master-slave, master-slave network etc. with the help of nrf connect sdk, 
    then i start learning mesh and in that i read that for ble mesh implementation 'nrfsdkformesh' is required.
    That's why i asking using segger embedded studio and nrfsdkfor mesh how start, and how to set up environment.

    also i check in nrf connect sdk but there is not mesh example in it.

    there is a concept in mesh is relay node, lpn node, friend node and proxy node from these different node i am able to implement relay node via nrf connect sdk because in nrf connect sdk there is a example code of relay node, but there no any example i found for LPN, friend and proxy node.

    If you know how to setup environment using nrfsdkfor mesh and segger embedded studio or vs code then please guide me.  

Children
  • HI, 

    LPN, Friend, and Proxy are all supported in nRF Connect SDK. 


    Proxy Node = all BT Mesh examples in nRF Connect SDK  support this by default.


    Friend Node (optional configurable feature) : all examples (except switch) support this by default. Search/add for  "CONFIG_BT_MESH_FRIEND=y".
    https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/bt/bt_mesh/configuring.html
     


    also LPN is supported: for example, see how to configure it in this sample 
    https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/mesh/light_switch/README.html#low_power_node_support 

    Can you please check this documentation and see if it address your requiirements?

    Thanks

    BR
    LA

  • HI, 

    LPN, Friend, and Proxy are all supported in nRF Connect SDK. 


    Proxy Node = all BT Mesh examples in nRF Connect SDK  support this by default.


    Friend Node (optional configurable feature) : all examples (except switch) support this by default. Search/add for  "CONFIG_BT_MESH_FRIEND=y".
    https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/bt/bt_mesh/configuring.html
     


    also LPN is supported: for example, see how to configure it in this sample 
    https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/bluetooth/mesh/light_switch/README.html#low_power_node_support 

    Can you please check this documentation and see if it address your requiirements?

    you can see all listed features here: 
    https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/protocols/bt/bt_mesh/overview/index.html
    Keep in mind, as of today,  in nRF Connect SDK, we support all these features (more feature may be added in the future). We also support Subnet (even if not listed here). 

    • Qualified Bluetooth Mesh stack with following supported features
      • Node (Advertising and GATT bearer)
      • Relay and Proxy server features
      • Friend and Low Power features
      • Configuration and health foundation models
    • All Bluetooth Mesh v1.1 models supported
      • Generic OnOff
      • Generic Level
      • Generic Default Transition Time
      • Generic Power OnOff
      • Generic Power Level
      • Generic Battery
      • Generic Location
      • Generic Property
      • Light Lightness
      • Light Lightness Control
      • Light CTL
      • Light xyL
      • Light HSL
      • Sensor
      • Time
      • Scene
      • Scheduler
      • Chat (vendor model)
       
    • Samples
      • Light
      • Light fixture
      • Light switch
      • Light dimmer and scene selector
      • Sensor observer
      • Sensor
      • Silvair EnOcean
      • Coexistence with other LE services
      • Chat
      • Device Firmware Update (DFU) distributor
      • Device Firmware Update (DFU) target
    • Provisioning over the advertising and GATT bearer
    • Concurrent standard GATT/GAP connections and Bluetooth mesh
      • For connectivity to smart phones and tablets
      • Beaconing
    • Support for over-the-air secure background DFU (point-to-point)
    • Bluetooth Mesh features:
      • Mesh DFU and BLOB Transfer (excludes Distributor Client)
      • Remote Provisioning models
      • Bridge Configuration models
      • Private Beacons
      • On-Demand Private GATT Proxy
      • SAR Enhancements
      • Opcode Aggregator models
      • Large Composition Data models
      • Enhanced Provisioning Authentication algorithm




    Thanks

    BR
    LA

  • Thanks for fast response,

    But i think your response applicable for VS code, i am talking for segger embedded studio (Because i am working on segger embedded studio).
    and in that i don't know how i implement proxy , friend and lpn node. The relay node example is given in examples\ble_central_and_peripheral\experimental , like this at which location proxy and friend, lpn node example given that i don't know.

     Also i am search CONFIG_BT_MESH_FRIEND in sdk_config.h but there is no term like this.

    please guide me for segger embedded studio.

  • Segger embedded studio is no longer supported for nRF Connect SDK (deprecated a while ago). Only VS Code or command line can be used out of the box with nRF Connect SDK. Nordic provide the Toolchain Manager for complete easy installation.
     
    In general, we don't recommend customers to start new projects on old nRF 5 SDK for BT mesh. Old nRF 5 SDK BT Mesh stack lacks many features, which instead are available on nRF Connect SDK.

    Nordic is adding/supporting features for BT Mesh only in nRF Connect SDK, hence this is the recommended sdk and toolchain.

    VS Code is free and we have Free courses on how to use it. https://academy.nordicsemi.com/courses/nrf-connect-sdk-fundamentals/ 

    I suggest to use nRF Connect SDK  (VS Code or command line) for BT Mesh or to reach out to the local Sales Manager in India for further commercial discussions: https://www.nordicsemi.com/About-us/Contact-Us 

  • Hello,

    Tirth_S said:
    then i start learning mesh and in that i read that for ble mesh implementation 'nrfsdkformesh' is required.

    So the question is, do you need to use nrfsdkformesh because you read it in some old guide, or is that a requirement from elsewhere?

    also i trying to finding complete guide but the conversation is 5-6 years old and the attch link of technical documents are expired.

    That is probably true, but this is because the nRF SDK for Mesh is 5-6 years old. I'll try to summarize:

    Back in the days, we used to have a standard SDK called nRF5 SDK, which contained all our normal peripheral samples and Bluetooth Low Energy samples. Then we had some addon SDKs, such as the nRF5 SDK for Mesh, which you would need in addition to the nRF5 SDK to build the mesh example applications. This will still work, and all of the features that you request are also present in the nRF5 SDK (but I must admit it has been a long time since I used it). I see that there is an LPN example found in nrf5SDKforMesh\examples\lpn, and you can read about it here:

    https://docs.nordicsemi.com/bundle/nrf5_sdk_mesh/page/md_examples_lpn_README.html

    I also don't remember how, but the proxy functionality is available in the nRF5SDK, but not at the same time as being a friend node for a low power node. That is a limitation.

    Also, the bootloader in the nRF5 SDK for Mesh is not the standardized Bluetooth Mesh bootloader, using the official Bluetooth Mesh protocol. The Mesh bootloader in NCS is standard. 

    So my question is: From where is your requirement to use the nRF5 SDK for Mesh? Is it because of something you read while trying to find support for Mesh, or is it something else?

    NB: to use the nRF5 SDK for Mesh, you need to use an older version of Segger Embedded Studio. Please try to use v5.64, as this is the one that was tested with the SDK. I know that versions 6.00 and newer are not working with the nRF5 SDK for Mesh (or any of the nRF5 SDKs).

    Please note that no new features or updates are being provided to the nRF5 SDK for Mesh (since the last version was released in 2018? 2019?). I recommend that you consider going with NCS if you start your development at this point in time. No Mesh v1.1 features will be added to the nRF5 SDK for Mesh (such as standardized Mesh DFU). 

    Best regards,

    Edvin

Related