Fredrik sterlind swedish institute of computer science
Download
1 / 19

Using COOJA for Contiki development - PowerPoint PPT Presentation


  • 2110 Views
  • Uploaded on
  • Presentation posted in: Travel / Places

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

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

Download Presentation

Using COOJA for Contiki development

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

Using COOJA for Contiki development


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”

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...


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

  • Monday:

  • Using COOJA

  • Tuesday:

  • Extending COOJA


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...

  • Need Java and Ant

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

  • Start COOJA

  • Compilation problems

    • Use JNI tests to configure COOJA


Design

  • Mote type represents the simulated software(and hardware)

Mote

Mote

Mote type

GUI

Mote

Mote type

Simulation

Mote

Mote type

Mote


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


Pollinterfaces

Switchnode

Getmemory

Pollinterfaces

HandleContiki

event

Setmemory

Simulating what?

  • COOJA uses glue drivers to communicate with Contik

  • Corresponding parts in Java and Contiki COOJA platform


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

Mote Interface Viewer

Event Breaker

Log Listener


Interacting with the motes

  • Test simulated applications

  • Via plugins (and interfaces)

    • Click the button

    • Reload simulation

    • Break on (radio) events


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

  • 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

  • Currently two different alternatives (+ one silent)

  • Unit Disk Graph Medium (UDGM)

  • Multi-path Ray-tracer Medium (MRM)

  • Using MRM


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


Questions?


Cross-Level simulations


ad
  • Login