How to stop bluetooth radio (to reduce current consumption) with NRF-connect and Zephyr ?

We have an application that wakes-up every N minutes and listen to devices in a ble mesh then performs many other actions. In order to save battery, we would like to power down radio when not communicating. 
How can it be done with NRF-connect and Zephyr ?

Parents
  • Hi.

    I would suggest that you take a look at the LPN feature. This allows a node to go to sleep between communication. The LPN doesn't need to stay in RX mode all the time to avoid missing out on packets from other Mesh nodes. The LPN will have a designated Friend node that caches messages for the LPN, and the LPN will wake up at a given time interval to pull information from the Friend node.

    You can find more information in the online documentation.

    Br,
    Joakim

  • Hi,

    Reading your answer I realized, my question was not clear enough. The node performs actions for 30 seconds and need only to be connected to the mesh network for 9s, then it sleeps for 10min. I was looking for a way to shutdown radio for the 21s the node does not need to be connected to the mesh network while performing its other actions.
    It has nothing to do with having a Friend node, since we use only messages with ack, we can manage to handle "lost or delayed" messages with an other way.

  • Thanks.

    So if I understand correctly;
    Your device is not a part of the Mesh network? It only needs to communicate with a proxy node in the Mesh once every x seconds and then go to sleep?

    Br,
    Joakim

  • 1. the device is part of the mesh network,
    2. it needs to communicate through the mesh network every x seconds,
    3. then go to sleep.

    This is true for the entire mesh network: the entire mesh network goes to sleep at the same time, gateway included.
    So we do not care if some messages are lost, since we will be aware of it.
    I fear your question is only slightly related to my question. We would like to shutdown the radio, in order to eliminate the power consumption related to the radio, while performing some computations.
    We are looking for functions like radio_disable() and radio_enable().
    It seems to me that it is more related to power manager that BLE, however we cannot find anything related to that in the documentation of the radio or the power manager.

Reply
  • 1. the device is part of the mesh network,
    2. it needs to communicate through the mesh network every x seconds,
    3. then go to sleep.

    This is true for the entire mesh network: the entire mesh network goes to sleep at the same time, gateway included.
    So we do not care if some messages are lost, since we will be aware of it.
    I fear your question is only slightly related to my question. We would like to shutdown the radio, in order to eliminate the power consumption related to the radio, while performing some computations.
    We are looking for functions like radio_disable() and radio_enable().
    It seems to me that it is more related to power manager that BLE, however we cannot find anything related to that in the documentation of the radio or the power manager.

Children
No Data
Related