I am trying to implement an RF mesh network on the Si1000 chip building on the EZMacPRO stack from SiLabs, and I could do with some advice.
There are examples of star that comes with the stack and thats running well with a simple re broadcast for packets. However the worst case scenario for my network is a master then 255 nodes in a line, and I fear that any message from the end node is just going to flood the network if I use a simple re broadcast.
So I guess I need to implement a mesh network with some more intelligent routing. I have looked briefly at the routing protocols for 802.11 meshing, B.A.T.M.A.N, Babel etc but I’m not sure if attempting to implement those is the best way to approach this. These nodes are going to be static so the protocol doesn’t really have to deal with mobile points and the problems that can create.
Well, I’m not sure if this will help, but you could put an ID on each packet. When one of the receivers gets the packet, it records the ID, and if the ID pops up again within a certain timeframe, then it is ignored. This will prevent ‘echos’ or whatever you want to call it. When the receiver receives the packet, then the receiver can send a group acknowledge, letting the group know that it can use that ID again. I’m not sure if this is what you are talking about, so please explain more if this is not it.
consider too the open source mesh network protocol stack for the HopeRF modules. Maybe could be adapted. SiLabs makes many of HopeRF’s chips used in their modules. This protocol suite example, for the RFM22, is very sophisticated, well written. Not just a simple wireless serial port.
Ahh brilliant, thanks for the info. I’m not too sure how I missed the fact there was a library for the RF22 gear. The part I am using is a RFM50 but the EZMacPRO stack looked more complete then the demo code so I switched to using that.
I shall start trying to implement the layer tomorrow.