Hello and a late merry Christmas to everyone,
I have been browsing the forum and reading through a lot of similar projects but I have not found a conclusive answer, unfortunately. I hope you guys know advice.
I plan on building a 'breadcrumb'-style radio network for sensor automation with arduino and raspberry. The purpose is to be able to interchange sensor-modules and extend range by 'dropping' crumbs to the base station. This should allow for the mesh to be deployed easily when the environment changes. (Sensors are used for different purposes around open-air music events)
Information from several sensors should be passed in close-to-realtime through a radio mesh to a base station.
Number of modules can be variable and be used to extent range.
Setup of the network should be simple and quick, if one node goes down it should be easily replaceable by 'tossing another crumb'.
Modules should be not excessively large, optimal size would be a pack of cigarettes.
Current Design ideas:
Breadcrumb modules are sensors are connected to arduino nanos and a RF transceiver (have been looking into NRF24L01 + NRF24Mesh library)
I have been tinkering with it and i was able to get basic networking functionality going with the examples provided in the library. Still some things are not clear to me:
It seems like NRF24Mesh-Library only supports communication via the master node, so this rules out the range extension through the crumbs in case that the 'main-branch' of one leaf-node is corrupt, it can't use and adjacent leaf-node to connect to the network?
I have read about problems with the size of the possible payload resulting in timing problems in between modules
Does anyone have experience with a project like this or NRF24Mesh? I am also open to different approaches regarding hardware or libraries.
What sort of range (maximum separation between nodes) do you require, and how many nodes do you ancipate being active at once?
This simple 16 node mesh network can be used with any type of radio, and all node values are propagated to any point in the mesh.
It works OK once you have removed all the String crap and replaced it with C-strings.
- It seems like NRF24Mesh-Library only supports communication via the master node, so this rules out the range extension through the crumbs in case that the 'main-branch' of one leaf-node is corrupt, it can't use and adjacent leaf-node to connect to the network?
If that was true then it's not a mesh. I searched online and found several libraries which match that name. The first one I clicked on explicitly says that messages will hop from node to node until they get to the destination.
It does seem dependent on the master - without that node the whole network stops working but all other nodes are interchangeable.
Seems easy enough on the hardware side (a Pro Mini, NRF24 module and a LiPo battery should fit easily in the size of a cigarette pack), the software is what makes it hard. The mix of messages you're sending around is another tricky bit to get right.
Thanks for your input, guys!
I was referring to the following library:
The range between the nodes should be at minimum 15-20 meters.
As I understand it, obviously it is possible to send extend the range of the mesh with nodes jumping in but to me it looks like there is no connection between the branches:
Branch A (Light Sensors)
Node A1 (Stage)
Node A2 (Entrance)
Node A3 (Back)
Branch B (Sound Sensors)
Node B1 (Stage)
Node B2 (Center Venue)
Node B3 (Parking)
Let's say, for example, I have a sensor signal from Node B3 that is supposed to go to the Master to be processed further. The range from the parking to the master is the longest but it is adjacent to the Backstage node A3. I want the node to be able to connect to A3 and send it's signal through that one.
This would allow me not having to maintain two seperate network for audio and light sensors but just use each module both as a relay and as a sensor and cover larger areas with less hardware and configuration.
I agree, the software appears to be the tricky bit. I wonder if anyone has already some experience with this stuff. The sensor signals are very very tiny payloads of just a few bytes. I have to admit I have an abstract understanding of how networks of this kind need to work but I have no idea on where to read up on the possible ways of implementing this easily on a Radio chip for Arduino. The NRF24 seem to be a cheap and functional choice when I read the datasheet but then again it seems like the development of the libraries stopped in 2015 and the specifications don't allow for real plug and play usage. Maybe Zigbee could be an alternative? I have zero experience with ZigBee, someone to the rescue?