Hello! I currently have multiple devices that monitor beehives temperature, humidity and weight and send the data to a central node every 15 minutes to be uploaded to the internet. They are powered by AA batteries and communicate through XBee S2C transceivers forming a mesh network with their DigiMesh protocol. As everything is battery powered, even the central/coordinator/router node, I implemented a time synchronization so all the XBee S2C are put to sleep at the same time and they wake-up after some minutes at the same time, transmit the data to the central node and then everything goes to sleep again. I later discovered this is called a synchronized network or beacon mode network.
I really liked the nRF52840 chipset and it will be great for the new version of our product. The main problem I'm trying to solve and it's stopping me from adopting this new platform is that I'm not finding a way to have a synchronized mesh network as I have now. I need absolutely all the devices in the network to go to sleep as everything is battery powered and must last a year. After reading a lot on the internet, this forum and on your amazing infocenter this is what I learn and some questions about each topic:
Any help or guidance would be really appreciated!
1: Yes. You can advertise with an advertising interval of up to 10 seconds. However, if you don't enter a connection, you will not be able to send messages to the advertising device.
2: A Mesh node can't sleep. It keeps the radio on at all times, so it is difficult to get the battery life you mention only using normal Bluetooth Mesh nodes. You have stumbled upon the Friendship nodes, I assume. You can have some Low Power Nodes (LPNs) connected to a friend node, but the friend node needs to be a "normal" mesh node, keeping the radio on at all times.
3: The same as Bluetooth Mesh. You need the devices to be listening at all times. Can't really go to sleep.
4: Not that are low power that I can think of.
Using e.g. Bluetooth Mesh, what you describe could be possible, if you use a timer to make all the nodes go to sleep for a given amount of time. When a node is provisioned, this data is stored in flash. You can test this. If you provision one Mesh Light_switch server and one Mesh Light_switch client (using either the nRF Mesh app, or the light_switch provisioner example), and then turn one of the devices (or both) off. When they are turned on again, they work instantly.
You could try to implement something like this. Note that it isn't "by the book", but as long as you don't need the devices to work with any other official Mesh devices, I don't see any problems with this approach.
Hello Edvin! Thank you very much for your reply!! Is there any special procedure I should follow to turn on and off the radio and put the system to sleep so I don't interfere with the SoftDevice to keep it working as if nothing ever happened?