Code Monkey home page Code Monkey logo

sonvoque / recoup Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pallavikaliyar/recoup

0.0 0.0 0.0 25.13 MB

RECOUP: A Robust and Reliable Group Communication Protocol for IoT Networks based on RPL ((i.e., IPv6 routing protocol for low power and lossy networks) implemented on OS Contiki.

License: Other

Shell 0.04% JavaScript 0.09% C++ 6.89% Python 2.45% Perl 0.49% C 64.31% Objective-C 0.06% Java 24.57% Scala 0.01% SuperCollider 0.01% Assembly 0.52% Awk 0.01% XSLT 0.03% CSS 0.04% Makefile 0.47% HTML 0.04% Batchfile 0.01% Asymptote 0.01%

recoup's Introduction

This is the readme for proof of concept implementation for SERI or RECOUP (A Robust Multicast Communication Protocol for Low Power and Lossy Networks)

The code presented in this project maybe ported for implementations which provides multicast engine.

Section I : General Instructions and Notes -------->

  1. Copy the contiki folder in your home directory of contiki-OS.
  2. The paths for core, net, ip6 etc.are arranged exactly Contiki 3.x
  3. While modifying the make file, please use Sublime or vim. Other editors might give trouble with whitespace.
  4. All code/implementations can be found in the directory RECOUP/home/user/contiki/core/
  5. For all the implementations, SERI Multicast engine has been used. By default ROLL engine is used , this should be modified for use cases where root is the only multicast sender i.e a P2MP scenario with root as sender. For changing the multicast engine in project-conf.h file of the project change the engine , for example

Please set #define UIP_MCAST6_CONF_ENGINE UIP_MCAST6_ENGINE_SERI engine to multicast to use the code.

  1. The rpl objective has been modified in the rpl_of0 file itself which is found in /home/user/contiki/core/net/rpl folder .

  2. The code for the SERI multicast engine can be found on the path RECOUP/core/net/ipv6/multicast/ with the file names seri.c and seri.h

  3. In order to see the arrows between the nodes upon receiving the packets i.e when a node receives the packet from its parents , #define DEBUG DEBUG_ANNOTATE should be set and ANNOTATE("#L %u 1\n", parent_ipaddr->u8[sizeof(uip_ipaddr_t) - 1]); should be added to /home/user/contiki/core/net/ipv6/multicast/seri.c file . If the arrows are not required set #define DEBUG NONE in the same file .

All the other theoretical details or formulas have been mentioned in the paper.

recoup's People

Contributors

pallavikaliyar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.