we are designing an application with clients with groups of 5-50 industrial machines. Now, it's possible to configure and control the machines with BLE.
We are adding BLE Mesh functionality. Working with: Gecko SDK Suite v3.1.1 Bluetooth Mesh 2.0.1 Bluetooth 3.1.1
BLE Mesh will allow to power up all the machines with one command, to be notified about alarms, and gives more coverage to control and list all devices available through a proxy connection in one node.
Industrial machines have a cranking battery that in the idle state only supports the BGM13P32F512GE. Once the machine power-up the battery can be recharged. All the nodes in the network are equal. All have the relay and proxy features enabled. The 11mA consumption of the BLE Mesh is excessive. With only BLE we had good consumption in EM2, EM3 modes. All the nodes would be LPN and any of them Friend.
Is there any idea to improve the Mesh consumption?
The network does not need any functionality when no user it's present with a mobile, only Gatt Support for BLE.
My suggestion is:
Keep the nodes in EM3 Mode with advertising and without Mesh (<1mA).
Periodically, and probably synchronized between the other nodes in the network, rise the Mesh network for a short period (11mA about less than X seconds).
All the nodes are subscribed to a common address to be alerted if a phone is connected to any node, all are proxies and they publish that information if that happens (on/off). If not all the nodes return to EM3 disabling Mesh functionality.
If a phone is connected all the Mesh remains active since the phone leaves the proxy node and a timeout.
Is that possible? Can you give a few instructions to implement? Init/Deinit Mesh? or enable/disable LPN without a friend? Time to be off? Do keys renew in that mode operation?
Thank you in advance.
11.03mA with BLE Mesh active. 3.98mA in LPN mode. 7.42mA on average.
It's curious to see how current consumption smooths when BLE GATT connection is established.
What future problems can I find with this implementation? Does IV renew procedure or other processes fail with this? Do you have any option to reduce more the consumption?
Bluetooth Mesh might not be the solution you need in your use case. Bluetooth mesh nodes use broadcasting to transmit messages and the way to save power for the node that is powered by a battery is to stay in a power saving mode most of the time. It is similar to a BLE device but the difference is the low-power node requires a friend node to receive and cache messages for the LPN when it is sleeping.
For your use case we suggest using one or more central devices like a hub for your devices to communicate through:
Please see https://docs.silabs.com/bluetooth/2.13/general/adv-and-scanning/periodic-adv-bt5 for the periodic advertising concept.