fredrik sterlind swedish institute of computer science
Download
Skip this Video
Download Presentation
Using COOJA for Contiki development

Loading in 2 Seconds...

play fullscreen
1 / 19

Using COOJA for Contiki development - PowerPoint PPT Presentation


  • 2146 Views
  • 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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
Fredrik Österlind

Swedish Institute of Computer Science

Using COOJA for Contiki development
co ntiki o s ja va simulator
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
”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...
cross level simulation

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
Workshop COOJA objectives
  • Monday:
  • Using COOJA
  • Tuesday:
  • Extending COOJA
todo before lunch
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
Getting started...
  • Need Java and Ant
    • contiki-2.x/tools/cooja> ant run
  • Start COOJA
  • Compilation problems
    • Use JNI tests to configure COOJA
design
Design
  • Mote type represents the simulated software(and hardware)

Mote

Mote

Mote type

GUI

Mote

Mote type

Simulation

Mote

Mote type

Mote

contiki applications
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

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
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
A few plugins

Mote Interface Viewer

Event Breaker

Log Listener

interacting with the motes
Interacting with the motes
  • Test simulated applications
  • Via plugins (and interfaces)
    • Click the button
    • Reload simulation
    • Break on (radio) events
project directories
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
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
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
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
ad