Actions

JeeMesh

From HacDC Wiki

Revision as of 01:23, 28 September 2010 by 66.92.168.58 (talk) (Created page with "JeeMesh is a mesh protocol in development at HacDC to extend the [http://cafe.jeelabs.net/lab/jn5/ JeeNode] [http://cafe.jeelabs.net/sw/library_-_rf12/ RF12] low power wireless p...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

JeeMesh is a mesh protocol in development at HacDC to extend the JeeNode RF12 low power wireless protocol for mesh routing, packet fragmentation, and (more) reliable delivery.

RF12 has the following limitations:

  • up to 30 nodes (typically 26 nodes and 4 servers/gateways)
  • MTU 66 bytes
  • range of about 30' to 50' at 915mhz

We intend to extend these limits somewhat:

  • MTU 1023 bytes
  • range up to 200' by routing through up to four nodes on a mesh

A 16 bit header is added using the first two bytes of the RF12 packet data as follows:

  • 5 bits for original source node
  • 5 bits for final destination node
  • 2 bits for ttl
  • 4 bits for fragment sequence

This allows us to reconstruct 1024 byte JeeMesh packet from 16 64-byte packet fragments. We further add another 8 bit header to the first packet fragment, reducing the MTU to 1023 bytes:

  • 4 bits number of fragments
  • 4 bits packet type