This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

about number of nodes that can participate in the mesh network

Hi, team

We have been experimenting with a system using Mesh for half a year.
(The number of nodes is six.)

The impression from the customer on the site we are installing is not bad either,
so we plan to increase the number of installations to increase the scale.

At this point, we are thinking about that the bottleneck is the number of nodes that can be provisioned.

We are developing a system based on the light_switch sample, but in this sample,
we think that the maximum number that can be provisioned is 30. Is this correct?


So my question is to know how to increase the number of nodes that can be provisioned.
Also, are there any devices that are recommended to be used for provisioners? (PC, mobile phone etc.)

I examined Devzone for this, but I did not find any information.
I hope to find a good way.
Thank you.


########################################
Our environment
・nrf52840
・mesh SDK v2.2.0
・Segger Embedded Studio
########################################


Wataru

Parents
  • Hi,

    Provisioners from the SDK examples are limited by the amount of flash storage set aside for provisioner data. Depending on what variant of the nRF SoC you use you may be able to increase the number of provisioned devices, and with a phone application or a PC application you have much more space for storing provisioning data. We primarily envision the provisioner to be a smartphone app, possibly with a cloud solution backend (so that you have backup of the network in the cloud, and so that you are not depending on one single device for provisioning.)

    Regards,
    Terje

Reply
  • Hi,

    Provisioners from the SDK examples are limited by the amount of flash storage set aside for provisioner data. Depending on what variant of the nRF SoC you use you may be able to increase the number of provisioned devices, and with a phone application or a PC application you have much more space for storing provisioning data. We primarily envision the provisioner to be a smartphone app, possibly with a cloud solution backend (so that you have backup of the network in the cloud, and so that you are not depending on one single device for provisioning.)

    Regards,
    Terje

Children
  • Hi, Terje

    Thank you for your reply.

    How many nodes can I provision if I try to use nrf52840 as a provisioner?
    If the answer is more than 30, do I need only to increase the values of "SERVER_NODE_COUNT" and "REPLAY_CACHE_ENTRIES"?
    But I don't know how to set the appropriate value

    The assumed system configuration is that has one function like a master who collects data,
    and around 50 slave nodes who acquire data with sensors and send to master.
    All slave nodes are in the same group, and I want the master to publish a message to group address.

    With the nRF Mesh app on my iPhone, I could only provision the proxy node for the node using the light_switch sample (could not provision with normal server / client sample). Is this correct?

    Also, with nRF Mesh App, I could set the node's unicast address to any value.
    If I want slave nodes to belong to a specific group, can I do this from Nordic's smartphone app?

    Best Regards,
    Wataru

  • Hi,

    Given the amount of flash and RAM on the nRF52840 compared to the nRF52832 it should be no problem to double the amount of nodes.

    The way nodes "belong to" a group in Bluetooth mesh, is that they are configured to subscribe to a group address. Then when a node is configured to publish to that same group address all the subscribing nodes will receive the message. As such, what you describe as a "group of slave nodes" is not really a group in that sense. The information flow seems to be the other way around for your use case. (Of course if you need to control all the sensor nodes in some collective fashion then you can use a group address for that purpose.)

    For provisioning, the smartphone app only supports the GATT provisioner bearer (PB-GATT), as smartphones does not have support for the mesh advertiser bearer (PB-ADV). PB-GATT uses standard BLE functionality. You can enable PB-GATT for the nodes, see GATT provisioning and Proxy (experimental).

    Regards,
    Terje

  • Hi, Terje

    #####
    Given the amount of flash and RAM on the nRF52840 compared to the nRF52832 it should be no problem to double the amount of nodes.
    #####

    When I want to increase the number of nodes, my understanding is that it might can be realized by the above method (increase SERVER_NODE_COUNT and REPLAY_CACHE_ENTRIES).
    Is my understanding correct?

    However, given the issues that depend on the device, I would like to use a mobile phone, PC and so on  as a provisioner if possible.

    It seems that looks good if I refer to the light_switch proxy sample.
    (Or, refer to the information received, add the file for GATT to the existing project.)

    If I try to provision using a mobile app, can you tell me how to set unicast address, group address, publish, subscribe address and bind the necessary keys for each node?

    Best Regards, 
    Wataru

  • Hi,

    If you use a device with more storage space for provisioner, such as smartphone, PC, etc., then yes you should not get any provisioner related space issues.

    Have you had a look at the nRF Mesh app? We also have libraries for Bluetooth mesh for Android and for iOS.

    Regards,
    Terje

  • Hello,

    I apologize for taking so long to get back to you.
    Organizing from the information I received,
    Do I have to develop my own application for smartphones using this library?

    If so, unfortunately
    I want to give up because it is out of my skill range.

    I'm happy to be able to provision nodes developed using the nRF SDK for Mesh using the mesh APP, which is currently published in the App store.
    I want to set an arbitrary unicast address and also specify a publish / subscribe address on app.

    If that is difficult, I would like to consider to add some modification the provisioner in the light_switch sample.


    For example, assume the following scene.

    ・Based on the light_switch sample.
    ・First provision client.
    ・Next, provision server.

    I want to replace client but I don't want to change my existing mesh network.
    In other words, we want to replace client without any changes on the server side.
    Is this possible?

    Specifically, I think it would be convenient if the node address set in client can be newly assigned to another device and provisioned.

    The only condition for replacing client that client has been physically broken.


    I look forward to some ideas.

    Best Regards,
    Wataru

Related