1 / 19

Using COOJA for Contiki development

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

LionelDale
Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fredrik Österlind Swedish Institute of Computer Science Using COOJA for Contiki development

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

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

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

  5. Workshop COOJA objectives • Monday: • Using COOJA • Tuesday: • Extending COOJA

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

  7. Getting started... • Need Java and Ant • contiki-2.x/tools/cooja> ant run • Start COOJA • Compilation problems • Use JNI tests to configure COOJA

  8. Design • Mote type represents the simulated software(and hardware) Mote Mote Mote type GUI Mote Mote type Simulation Mote Mote type Mote

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

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

  11. Plugins and project directories • Main way to interact with simulations and motes • Plugin argument is: • Simulator • Simulation • Mote • COOJA needs more plugins ;)

  12. A few plugins Mote Interface Viewer Event Breaker Log Listener

  13. Interacting with the motes • Test simulated applications • Via plugins (and interfaces) • Click the button • Reload simulation • Break on (radio) events

  14. Project directories • Previously called ’user platforms’ • Adds functionality to COOJA • A directory with a configuration file • Import a simple project directory

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

  16. COOJA’s Radio Mediums • Currently two different alternatives (+ one silent) • Unit Disk Graph Medium (UDGM) • Multi-path Ray-tracer Medium (MRM) • Using MRM

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

  18. Questions?

  19. Cross-Level simulations

More Related