Cooja Simulator Supplements

Source: Internet
Author: User

Cooja Simulator Supplements

Groped for a cooja simulator, the front also forwarded a few articles, also involved in the Cooja simulation simulation examples, in the translation environment construction and development process (official website translation get Started), also involved in the basic use of Cooja. In fact, many of their own groping, simple functions and usage can still be done. Of course, Cooja function is very powerful, such as serial, control script these, not easy to understand learning.

Have to say Cooja very little information, a lot of information is just some simple usage, but also in English, it is difficult to find some comprehensive and thorough information. Here is a summary of things about Cooja, do not involve the use, nor system, but some from the data or the point of their own to find that the understanding of Cooja have certain help.


1, Cooja not from the beginning, appeared in 2006, was integrated into Contiki 2.0 and subsequent versions

2, Cooja is Contiki over Java abbreviation, also namely Cooja is based on Java development, run Cooja need java1.6 above environment

3. Cooja and Contiki are connected by JNI (Java Native Interface), allowing emulated applications to run on a really contiki system

4, Cooja and simulation node interaction is done through the plug-in plugins , such as timeline, Collectview, network, we use in the Cooja function modules are a plug-in

5. The Contiki program running in Cooja is either compiled on the local host CPU or compiled on the MSP430 emulator

6. The main design goal of the Cooja Simulator is extensibility, which uses interfaces (Interface) and plug-ins (Plugins). An interface renders the properties or devices of a sensor node, such as a state, a button, or a wireless transceiver. A plug-in is used to interact between simulation and emulation nodes, such as controlling simulation speed or viewing all network traffic. All new plugins and interfaces can be easily created and added to the simulation environment. Many other parts of the emulator, such as the radio medium, which are responsible for sending wireless network data, can also be implemented and added to the emulator. By supporting several different simulation environments in one simulation, different hardware platforms can be true in heterogeneous networks.

7. Cooja supports simulation at the command level , system level , and application level . Instruction-level emulation is useful for developing drivers that require direct hardware interaction. Because it needs to emulate the details of the hardware, it is much more complex and slower to run. application-level (or network-level) simulations are primarily used to simulate network protocols such as routing protocols. It does not need to simulate the node hardware, the focus is on the interaction between nodes . It is relatively small in complexity and runs faster, but lacks a description of the details inside the node. System-level simulations can balance the pros and cons of both. Cooja can simultaneously perform the above 3 levels of simulation, that is, in the same network can exist at the same time 3 different types of nodes . Different types of nodes can focus on different simulation requirements while maintaining a fast simulation speed on the whole.

8, Cooja each of the simulated projects can be stored in the suffix. csc file, CSC full name is Cooja simulation configuration

9, CSC file includes the simulation environment, plug-ins, nodes and location information, including random seeds and radio media and other information

10, CSC is based on XML, you can directly open to see some information about the simulation

11. A simulated Contiki sensor node (mote) in Cooja is an actual compiled and executing Contiki system. The system is Cooja controlled and analyzed, and is executed as a shared library for the local platform, and loaded into Java using Java Native Interfaces (JNI). In the same Cooja simulation, several different Contiki libraries can be compiled and loaded, representing different types of sensor nodes (heterogeneous networks). Cooja controls and analyzes a Contiki system through a number of functions. For example, the simulator notifies the Contiki system to handle an event, or to obtain an entire Contiki system memory for analysis. This approach gives the simulator complete control over the simulated system. Unfortunately, there are some annoying side effects of using JNI. The most notable are dependencies on extension tools, such as compilers and connectors, as well as their run-time parameters.

12. Cooja was originally developed on the Cygwin/windows and Linux platforms, but was later ported to MacOS.

13, for the development under Windows, recommend the use of Cygwin, of course, the official development environment Instant Contiki is the most convenient

14, at the beginning of the Cooja, but also need to configure it, in some old information has been mentioned, but now directly in the instant Contiki environment open directly to the program simulation, remind you to see not confused

15, Cooja provides two kinds of radio models DGRM and UDGM, for this is not too understand, do not know what occult in the inside, the general use of the UDGM

16, DGRM can artificially increase the connectivity between nodes, in RPL objective function & simulation using DGRM model in Cooja with DGRM

17. UDGM (Unit Disk Graph Model), radio range increases with the increase of radio energy, the transceiver rate can be configured by UDGM

18, UDGM in the establishment of the simulation when there are two seed model: distance loss and constant loss, the former in the RF range loss rate varies with distance, the farther away, the greater the packet loss rate, the latter in the RF range of the loss rate is constant


Before writing, it is necessary to summarize the feeling that there is nothing substantial in writing. Here is just a few points, to help understand Cooja, specific usage can see the previous article + own groping.


Cooja Simulator Supplements

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.