Hi all, I'm hoping to get some advice on the general approach to achieve a network of connected Arduinos that share each others state and readings through a central hub.
In the attached diagrams, you can see that so far I've already got several arduinos sharing their information via a peer-to-peer arrangement using NRF24L01 modules. However taking this to the next level, using a central hub and/or starting to exploit web services and/or controlling my devices through a web page or mobile app, is all proving a little overwhelming.
I'm still a novice programmer and a relative newcomer to Arduino, but I'm not a stranger to reverse engineering sketches and experimentation.
I'm really hoping to design this 'network of things' in such a way that I can add a new module that can integrate very quickly without having to change the overall network structure or the function of other nodes. I was thinking of using an approach like having all of the nodes using name-value-pairs to request or update the latest values from the 'hub', so subsequently the code of this hub would ideally just take a new name-value without requiring reprogramming. I hope that makes sense.
Rather than try to explain the use cases over several paragraphs, the attached pictures demonstrate where I'm currently at and where I'm trying to get to.
Current setup (link)
Proposed setup (link)
I certainly welcome any advice on general approach and recommended hardware, considering the following priorities in order:
- Ease of implementation & scalability (eg add a new node capturing a new value)
- Low power usage
- Overall hardware cost
Also, the maximum distance between any 'node' and the 'hub' would be about 15 metres, through a maximum of 3 hollow walls... I'm undecided whether I should be aiming for a network of NRF24L01 devices, having all modules use Wifi, or some other protocol.