What is Cooja Simulator?
- A flexible java based simulator is also known as COOJA simulator which is designed for simulating networks of sensors running the Contiki operating system
- Large and small networks of Contiki motes to be simulated by cooja.
- As in hardware level the motes can be emulated which is performed in slower manner.
- Motes can allows precise inspection of the system behavior, or at a less detailed level, which is faster and allows simulation of larger networks.
- For contiki development cooja is highly useful
- Using this simulator developers should test their code and systems before running it on the target hardware
- To debug developers software and to verify the behavior of their systems they need to set up new simulations regularly
- The Contiki operating system includes a network simulator called Cooja
- Cooja simulates networks of Contiki nodes.
- The nodes may belong to either of three classes:
- Emulated nodes – Emulation of entire hardware of each node,
- Cooja nodes – Compilation and execution of the Contiki code for the node is to be done on the simulation host
- Java nodes – Need reimplementation for node behavior which is done by java class
- A single Cooja simulation can have a mixture of nodes from either of the three classes
- Since version of 2.0 the cooja simulator is included in Contiki
- COOJA is in Contiki operating system which supports three different abstraction levels
- Implementation of nodes in java which is simulated at the levels of application or networking level
- Without any connection to Contiki, nodes at this level can be useful when prototyping high-level algorithms which when tested and evaluated can be ported to deployable sensor node code.
- Cooja are useful for the development of distributed algorithms
- Two simple radio mediums implemented and registered at the simulator start-up which is presented in the basic version of COOJA
- First radio medium is completely silent and no data is transferred
- Second radio medium uses two distance parameters such as interference range and transmission range
- Receiving radio device capture all data packets which will never corrupted in any way
- In a regular java panel, plugins are implemented and also an advanced graphical interfaces are created by the user in a straight forward way
- Plugins can be of four different types, and they are treated slightly different.
- Simulation Plugin
- Dynamic plugin
- GUI Plugin
- Mote Plugin