Skip to content

imec-idlab/6tisch-simulator-extended

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 

Repository files navigation

6tisch-simulator-extended

====================

Contains new features for the python 6tisch-simulator

Added changes by Esteban Municio esteban.municio@uantwerpen.be

The following changes have been included:

  • protocols
    • 6P: A realistic 6Top Protocol is implemented. Messages are sent in both SHARED and TX cells. Using states and codes from http://tools.ietf.org/html/draft-wang-6tisch-6top-sublayer
    • RPL: A realistic RPL is implemented. RPL DIOs messages are sent in SHARED cells. A simple Trickle alogirthm is used
  • phy layer
    • Rayleigh model has been added (Friis + Rayleigh) for NLOS scenarios
    • Variable RSSI at every cycle.
    • Multichannel capailities. It's possible to specify the number of simultaneous TX/RX allowed in the nodes (i.e., number of radios)
  • mobility
    • RWM: Random Walk Model. Nodes move randomly
    • RPGM: Reference Point Group Mobility with obstacles. Nodes move in gorup and avoid obstacles by a Virtual Force Field
    • Structured mesh. A mesh network can be built with a specific hop average
  • scheduler
    • DeBraS: Aloha and TDMA DeBraS. Different number of DeBraS cells can be specified. A more realistic implementation is included by adding max payload and "Fresheness" to DeBraS
    • P-centralized: A centralized scheduler that has total knowledge of the network has been included.
  • traffic model
    • Pareto variable traffic for Hurst H=0.6 and average pkPeriod

Running

  • Run a simulation: python runSimAllCPUs.py $nodes $scheduler $numDeBraS $rpl $sf0 $sixtop $topo $maxnumhops $squareSide $mobility $numRadios $trafficType
Parameter
$nodes Number of nodes
$scheduler = opt2,none,deBras,llsf Where opt2: P-centralized, none: sf0, deBras: DeBraS, llsf: LLSF
$numDeBraS Number of DeBraS cells per channel
$rpl RPL DIO period
$sf0 SF0 HouseKeeping Period
$sixtop 6Top HouseKeeping Period
$topo = star,mesh,mesh-struct Topology: Star topology, random mesh, strcutured mesh
$maxnumhops Max number of hops expected in the network
$squareSide For n hops: squareSide = $maxnumhops*0.5
$mobility = static,staticUNI,staticRay,RWM,RPGM Mobility models
$numRadios Number of simultaenous TX/RX at every node
$trafficType = constant,paretovariable Traffic pattern

The 6TiSCH Simulator

Brought to you by:

Scope

6TiSCH is an active IETF standardization working group which defines mechanisms to build and maintain communication schedules in tomorrow's Internet of (Important) Things. This simulator allows you to measure the performance of those different mechanisms under different conditions.

What is simulated:

What is not simulated:

  • downstream traffic

More about 6TiSCH:

what where
charter http://tools.ietf.org/wg/6tisch/charters
data tracker http://tools.ietf.org/wg/6tisch/
mailing list http://www.ietf.org/mail-archive/web/6tisch/current/maillist.html
source https://bitbucket.org/6tisch/

Gallery

Installation

  • Install Python 2.7
  • Clone or download this repository
  • To plot the graphs, you need Matplotlib and scipy. On Windows, Anaconda (http://continuum.io/downloads) is a good on-stop-shop.

Running

  • Run a simulation: bin/simpleSim/runSim.py
  • Plot fancy graphs: bin/simpleSim/plotStuff.py

Use bin/simpleSim/runSim.py --help for a list of simulation parameters. In particular, use --gui for a graphical interface.

Code Organization

  • bin/: the script for you to run
  • SimEngine/: the simulator
    • Mote.py: Models a 6TiSCH mote running the different standards listed above.
    • Propagation.py: Wireless propagation model.
    • SimEngine.py: Event-driven simulation engine at the core of this simulator.
    • SimSettings.py: Data store for all simulation settings.
    • SimStats.py: Periodically collects statistics and writes those to a file.
    • Topology.py: creates a topology of the motes in the network.
  • SimGui/: the graphical user interface to the simulator

Issues and bugs

About

Contains new features for the python 6tisch-simulator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages