This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Mesh protocol!

Is there any plan to implement a mesh protocol our anyone know some open source mesh library that can be used?

  • @Jørgen: You can have a look at ANT protocol which does support Mesh topology. The protocol specification is provided here.

    We have several product that support ANT such as the nRF24AP or nRF51422 and especially the nRF51922 that support both ANT and BLE concurrently.

  • @Hung -- Interesting. Isn't ANT mostly a star topology consisting of HUB and SENSOR? Sure the hubs can be linked together to form a tree or mesh, but I don't know if routing protocols are available. If not, it means application still has to take care of the inter-hub communication. Could you give more information on this?

  • @Ling: You are right. I wasn't very correct to say that ANT protocol support mesh network directly, however it's pretty straight forward to implement an ANT node to relay data, which is necessary to create a "practical" mesh network.

    For instance node A can setup a broadcast channel, node B can setup a receive channel and a broadcast channel, and node C can setup a receive channel. The synchronization, power management and pairing between A and B, B and C is fully handled by ANT.

    However the application in each node will need to setup individual channels, and specifically node B will need to take the receive channel data from node A and write the data to its broadcast channel (this is very easy to do). Data on a broadcast channel can then be received by anyone on the same network.

    The challenge here will be to inform node B that it should start to look for node A, if node C cannot receive data from node A directly.

    However this might not be very difficult. For instance node C can by default be setup to try to receive data from node A, if no data is received within reasonable time node C can instead setup a broadcast channel to request anyone nearby to try to search for node A.

    This can then be received by node B that by default has a receive channel open, then node B will setup a second receive channel to search for node A, once node B acquire node A, it can inform node C that it has found node A by sending data on the reverse channel back to node C. Since all channels are bidirectional this is straight forward.

    Each node can setup up to 8 ANT channels, which can be a combination of receiver and broadcaster channels.

    Unfortunately, at this moment, we don't have an example or app note for the implementation.

  • @Hung: Thanks for the detailed explaination. I browsed the pdf you linked above and noticed it actually refers ANT's mesh as "static mesh" and "practical mesh".

    I came to BLE from ZigBee, so I tend to equate mesh with self-forming, self-healing network with AODV style routing. My mistake :) .

  • Hi Ling

    I am working on a project requiring a small scale of mesh on top of ANT+. Number of nodes is limited to 64 right now. Most of the nodes are stationary, but self-forming and self-healing is still required but seconds of time delay for these to happen is OK.

    May not be a whole year, but I will definitely call 8 months is lucky!

Related