Fredrik sterlind swedish institute of computer science
1 / 19

Using COOJA for Contiki development - PowerPoint PPT Presentation

  • Uploaded on

Fredrik Österlind Swedish Institute of Computer Science. Using COOJA for Contiki development. Co ntiki O S Ja va Simulator. Simulator for the Contiki OS Java-based, but simulates Contiki applications Support cross-level simulation Today’s focus: using COOJA

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Using COOJA for Contiki development' - LionelDale

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Fredrik sterlind swedish institute of computer science l.jpg

Fredrik Österlind

Swedish Institute of Computer Science

Using COOJA for Contiki development

Co ntiki o s ja va simulator l.jpg
Contiki OS Java Simulator

  • Simulator for the Contiki OS

  • Java-based, but simulates Contiki applications

  • Support cross-level simulation

  • Today’s focus: using COOJA

  • Questions/interruptions/feedback appreciated

Cooja l.jpg

Cooya = ”Look at me!” (Jamaican broken english)

  • Included with Contiki

  • Active development for 1½ years

  • Compared to Contiki Netsim:

    • Heavier

    • More powerful

    • (More installation problems)

  • Uses external programs such as make, gcc, grep...

Cross level simulation l.jpg

OS level

HW level

App. level

Cross-level simulation

  • Simulating motes at different abstraction levels.

  • Application (Java):

  • Effective

  • Easier to implement

  • OS:

  • Deployable code

  • Emulated:

  • Enables low-level driver development

Workshop cooja objectives l.jpg
Workshop COOJA objectives

  • Monday:

  • Using COOJA

  • Tuesday:

  • Extending COOJA

Todo before lunch l.jpg
TODO (before lunch)

  • Installation/Startup

    • Compiling code from within COOJA

  • Create simulations

    • Basic concepts in COOJA

    • Using plugins to interact with motes

    • Adding project directories

Getting started l.jpg
Getting started...

  • Need Java and Ant

    • contiki-2.x/tools/cooja> ant run

  • Start COOJA

  • Compilation problems

    • Use JNI tests to configure COOJA

Design l.jpg

  • Mote type represents the simulated software(and hardware)



Mote type



Mote type



Mote type


Contiki applications l.jpg
Contiki applications

  • Scans for applications to simulate

  • A few test applications available incontiki-2.x/platform/cooja

  • Applications are compiled the usual way> make testcooja TARGET=cooja .....

  • Create a Contiki mote type

Simulating what l.jpg








Simulating what?

  • COOJA uses glue drivers to communicate with Contik

  • Corresponding parts in Java and Contiki COOJA platform

Plugins and project directories l.jpg
Plugins and project directories

  • Main way to interact with simulations and motes

  • Plugin argument is:

    • Simulator

    • Simulation

    • Mote

  • COOJA needs more plugins ;)

A few plugins l.jpg
A few plugins

Mote Interface Viewer

Event Breaker

Log Listener

Interacting with the motes l.jpg
Interacting with the motes

  • Test simulated applications

  • Via plugins (and interfaces)

    • Click the button

    • Reload simulation

    • Break on (radio) events

Project directories l.jpg
Project directories

  • Previously called ’user platforms’

  • Adds functionality to COOJA

  • A directory with a configuration file

  • Import a simple project directory

More on project directories l.jpg
More on project directories

  • Can be used for much more than adding applications to simulate!

  • Interfaces, plugins, applications, mote types, radio mediums...

  • Examples available in:contiki-2.x/tools/cooja/examples

  • Preview of emulated mote

Cooja s radio mediums l.jpg
COOJA’s Radio Mediums

  • Currently two different alternatives (+ one silent)

  • Unit Disk Graph Medium (UDGM)

  • Multi-path Ray-tracer Medium (MRM)

  • Using MRM

Quick starting cooja l.jpg
Quick-starting COOJA

  • The usual way is via:

  • contiki-2.x/tools/cooja/> ant run

  • Shortcut that fits nicely into Contiki development:

  • yourapp/> make myapp TARGET=cooja

  • Creates a typical simulation and starts a few plugins

  • Hello-World