Difference between revisions of "Low Powered Mesh Network stack"

From Embedded Systems Learning Academy
Jump to: navigation, search
(Created page with "This article is '''under construction''', but it shows the design of low-powered mesh network. == Features == * Addressed network with auto-retries, and auto-acknowledge * ...")
 
Line 1: Line 1:
This article is '''under construction''', but it shows the design of low-powered mesh network.
+
<font color="red">This article is '''under construction''', but it shows the design of low-powered mesh network.</font>
  
 
== Features ==
 
== Features ==
Line 5: Line 5:
 
*  Minimal RAM/ROM footprint, with NO HEAP usage
 
*  Minimal RAM/ROM footprint, with NO HEAP usage
 
*  Each node can participate in the mesh network to deliver packets to a destined node.
 
*  Each node can participate in the mesh network to deliver packets to a destined node.
*  Each packet may dictates maximum hops it can take.
+
*  Each packet may dictate maximum hops it can take.
  
 
=== Detailed Features ===
 
=== Detailed Features ===
Line 13: Line 13:
 
* Duplicate packets are absorbed but an ACK is still replied if its a duplicate, but a retry packet.
 
* Duplicate packets are absorbed but an ACK is still replied if its a duplicate, but a retry packet.
 
* An ACK packet or a response to an ACK all use retries; even the repeating nodes participate to make sure the packet is delivered.
 
* An ACK packet or a response to an ACK all use retries; even the repeating nodes participate to make sure the packet is delivered.
 +
 +
There is no "out-of-the-box" support for sleeping nodes, however, any sleeping node can wake up, transmit a packet and go back to sleep without affecting the rest of the network.  This mesh network design doesn't rely on any node to be a medium as routes can change dynamically.  With this said, there are a few improvements that could be made :
 +
*  Use RSSI to dictate if a route should be changed.
 +
*  Use a counter to prefer a route that sends us data more often.
  
 
== Payload ==
 
== Payload ==

Revision as of 23:53, 29 July 2013

This article is under construction, but it shows the design of low-powered mesh network.

Features

  • Addressed network with auto-retries, and auto-acknowledge
  • Minimal RAM/ROM footprint, with NO HEAP usage
  • Each node can participate in the mesh network to deliver packets to a destined node.
  • Each packet may dictate maximum hops it can take.

Detailed Features

  • Each packet sent can use existing route, and if route has changed, a new route is automatically discovered using a special retry packet.
  • Each node's ACK contains some piggy-back data about the node itself.
    This data includes information about its routing table, and other statistics
  • Duplicate packets are absorbed but an ACK is still replied if its a duplicate, but a retry packet.
  • An ACK packet or a response to an ACK all use retries; even the repeating nodes participate to make sure the packet is delivered.

There is no "out-of-the-box" support for sleeping nodes, however, any sleeping node can wake up, transmit a packet and go back to sleep without affecting the rest of the network. This mesh network design doesn't rely on any node to be a medium as routes can change dynamically. With this said, there are a few improvements that could be made :

  • Use RSSI to dictate if a route should be changed.
  • Use a counter to prefer a route that sends us data more often.

Payload

The minimum payload is 9 bytes, of which, 8 bytes will be the mesh header overhead. The higher the payload, the higher the efficiency of the network. The eight bytes of payload header contains the network source and destination information, along with packet type and hop count information.

Example Mesh Network

TODO