BLE Mesh on Nrf52832 Event based System on Sleep. Anchor and Tag are Battery Powered.

Hi,

i am using nrf connect extension in vs code with Zephyr OS build v3.2.99-ncs2 and Nrf connect SDK 2.3.0. Our Application requirement as Shown in below Image.

Anchor:   Sleep -> Wakeup on BLE event -> Receive message and Process data -> Message Carry forward to Gateway-> Goes back to sleep. Anchors are Battery Powered. how can i achieve sleep mechanism with nrf52832 soc?  because continuous reception leads to more power consumption. it drained out battery very quickly. are there any available example on sleep in reception of BLE Mesh?

Problem in Flooding messages on Anchor side: How can i prevent from flood of messages ?

Regards

Abhishek

  • Hi,

    If the data must be relayed from anchor to anchor before reaching the gateway, then the anchors must be Bluetooth mesh relay nodes, which means they must be constantly in RX. This is by specification, and this is how the relay nodes are able to reliably relay messages over the network. There really isn't any way to change that behavior. Relay nodes will constantly consume around 6 mA.

    Bluetooth mesh relies on having a backbone of relay nodes that are always on, for transferring messages over the network. Low power nodes (LPN) can save power and only turn on the radio when they need to send something or check for incoming messages. Relay nodes, on the other hand, must be always on.

    One pattern, is if you have relay nodes (always on) listening for advertisements from beacons. Then the beacons can have even lower power than LPN, but they cannot receive any information from the mesh network itself. This is what we do for the Bluetooth: Mesh Silvair EnOcean example, which listens for advertisements from a specific switch which is powered solely by the button presses. Please note that the listener is a normal mesh node, always in RX, just as relay nodes. It is not an LPN.

    Problem in Flooding messages on Anchor side: How can i prevent from flood of messages ?

    I do not quite understand what you mean by that. Can you please elaborate?

    Regards,
    Terje

  • Hi  ,

    My other Ticket regarding

    Tags: Sleep -> Wakeup-> Transmit Message-> Sleep periodically in interval of 5 min. Tags are Battery Powered. how can i achieve sleep mechanism with nrf52832 soc? system off example only put whole mesh tag in Deep sleep. are there any example in which it starts mesh -> send data-> back to sleep with ~ 2.2uA current consumption?

    If the data must be relayed from anchor to anchor before reaching the gateway, then the anchors must be Bluetooth mesh relay nodes, which means they must be constantly in RX. This is by specification, and this is how the relay nodes are able to reliably relay messages over the network. There really isn't any way to change that behavior. Relay nodes will constantly consume around 6 mA.

    In conclusion, Continuous reception lead to more current consumption in mesh. are their any API or Function to set transmission Power dbm?

    I do not quite understand what you mean by that. Can you please elaborate?

     All Tags are sending message to gateway though Anchor.  Anchor act as Relay. All each Anchor want to transmit their message to Gateway. One tag range in Between multiple Anchors. it become cluster of messages. does this lead to flooding of messages on Anchor side? are their any repeat of messages protection in Mesh?

    Regards

    Abhishek

  • Hi,

    starkAbhi said:
    In conclusion, Continuous reception lead to more current consumption in mesh. are their any API or Function to set transmission Power dbm?

    The nRF52832 has maximum TX power of 4 dBm. More can be achieved through use of a front-end module, but please note that some front-end modules give higher TX power than what is allowed in some jurisdictions.

    Which SDK are you using? I see you tagged the case with both nRF Connect SDK and nRF5 SDK for Mesh. Please have a look at our nRF Connect SDK and nRF5 SDK statement. nRF Connect SDK has support for Bluetooth mesh, and is the place where new development will happen. nRF5 SDK (and nRF5 SDK for Mesh) is in maintenance mode.

    starkAbhi said:
    are their any repeat of messages protection in Mesh?

    Bluetooth mesh uses managed flooding. This means there are mechanisms in place for controlling the rate of the flood, to prevent congestion and overload of single nodes. You will still see some limits for throughput. How many sensor do you have, and what throughput do you expect from each sensor?

    Please note that Wednesday and Thursday this week are both public holidays in Norway. I will also be out-of-office on Friday, so expect my next answer next week. I am sorry for any convenience.

    Regards,
    Terje

  • Hi Terje,

    Which SDK are you using? I see you tagged the case with both nRF Connect SDK and nRF5 SDK for Mesh. Please have a look at our nRF Connect SDK and nRF5 SDK statement. nRF Connect SDK has support for Bluetooth mesh, and is the place where new development will happen. nRF5 SDK (and nRF5 SDK for Mesh) is in maintenance mode.

    We using Nrf Connect Extension in VS Code with Zephyr OS build v3.2.99-ncs2 and Nrf connect SDK 2.3.0.

    Bluetooth mesh uses managed flooding. This means there are mechanisms in place for controlling the rate of the flood, to prevent congestion and overload of single nodes. You will still see some limits for throughput. How many sensor do you have, and what throughput do you expect from each sensor?

    Tags: 3000 units

    Anchors: 150 - 200 units

    front-end module,

    I did not understand about front-end Module. Are you suggesting me any other module to use? because currently i am using nrf52832 as Tag and Anchors.

    The nRF52832 has maximum TX power of 4 dBm. More can be achieved through use of a front-end module, but please note that some front-end modules give higher TX power than what is allowed in some jurisdictions.

    Are there any way to set or change  Tx power between 0 to 4dbm of BLE in SDK ? API or Function to call in Zephyr /Nrf connect SDK?

    We want to configure TX power of BLE antenna according to Requirement of Application,  Mesh Example: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.3.0/zephyr/samples/bluetooth/mesh/README.html

    Regards 

    Abhishek

  • Hi,

    starkAbhi said:

    Tags: 3000 units

    Anchors: 150 - 200 units

    With three thousand tags, there is not much bandwidth in a Bluetooth mesh network for relaying all of that to a gateway. What throughput do you expect from each tag? That is - how often and how much data is the tag producing?

    starkAbhi said:
    I did not understand about front-end Module.

    A front-end-module (FEM) is an additional component, typically with a power amplifier (PA) for higher TX power and a low-noise amplifier (LNA) for increased RX gain. See e.g. nRF21540, which is an FEM. For now I think it is enough that you know that this technology exists, so that in the future you may choose to look further into it if needed. Generally a FEM may increase radio range, at the cost of increased power consumption and a slight reduction in signal-to-noise ratio.

    starkAbhi said:
    Are there any way to set or change  Tx power between 0 to 4dbm of BLE in SDK ? API or Function to call in Zephyr /Nrf connect SDK?

    You can add one of the CONFIG_BT_CTRL_TX_PWR_ kconfigs to your project configuration file (prj.conf), for instance:

    CONFIG_BT_CTRL_TX_PWR_PLUS_4=y

    Regards,
    Terje

Related