test2
5 years ago
2 changed files with 245 additions and 0 deletions
@ -0,0 +1,240 @@ |
|||
= IoT Wireless ! |
|||
Apostolos rootApostolos@swarmlab.io |
|||
// Metadata: |
|||
:description: IoT |
|||
:keywords: iot, swarm |
|||
:data-uri: |
|||
:toc: right |
|||
:toc-title: Πίνακας περιεχομένων |
|||
:toclevels: 4 |
|||
:source-highlighter: highlight |
|||
:icons: font |
|||
:sectnums: |
|||
|
|||
include::header.adoc[] |
|||
|
|||
|
|||
{empty} + |
|||
|
|||
|
|||
|
|||
== Contiki |
|||
|
|||
Contiki is a state-of-the-art, open |
|||
source operating system for sensor networks and other networked embedded |
|||
devices |
|||
|
|||
|
|||
More Info: |
|||
https://en.wikipedia.org/wiki/Contiki[^] |
|||
|
|||
|
|||
== Start Instant Contiki |
|||
|
|||
|
|||
.Start VMware and load Instant Contiki. |
|||
[source,bash] |
|||
---- |
|||
unzip InstantContiki2.7.zip |
|||
vmplayer |
|||
---- |
|||
Start image |
|||
|
|||
== Log In |
|||
When the login screen appears, log in to Instant Contiki: |
|||
|
|||
.Log In usermode |
|||
[source,bash] |
|||
---- |
|||
Username: user |
|||
Password: user |
|||
---- |
|||
|
|||
.Log In sudo |
|||
[source,bash] |
|||
---- |
|||
sudo apt update |
|||
Password: user |
|||
---- |
|||
|
|||
== Open a Terminal |
|||
|
|||
After logging in, click on the terminal icon to start a terminal window. |
|||
|
|||
== System test |
|||
|
|||
|
|||
.compile hello-world |
|||
[source,bash] |
|||
---- |
|||
cd contiki/examples/hello-world/ |
|||
make TARGET=native |
|||
---- |
|||
|
|||
.Run the Hello World program in Contiki: |
|||
[source,bash] |
|||
---- |
|||
./hello-world.native |
|||
---- |
|||
|
|||
The program should print the words *“Hello, world”* on the screen and then appear to hang. |
|||
|
|||
In reality, Contiki is still running correctly, but will not produce any output because the Hello World program has finished. |
|||
[source,bash] |
|||
---- |
|||
Press Ctrl+C on the keyboard to quit. |
|||
---- |
|||
|
|||
|
|||
== Simulating Contiki with COOJA |
|||
|
|||
=== Start COOJA |
|||
|
|||
.start |
|||
[source,bash] |
|||
---- |
|||
cd contiki/tools/cooja/ |
|||
ant run |
|||
---- |
|||
|
|||
[NOTE] |
|||
.INFO |
|||
==== |
|||
COOJA compiles, and after a few seconds the simulator appears. |
|||
|
|||
All COOJA simulations are controlled using plugins: small Java programs that interact with simulations and simulated nodes. |
|||
|
|||
When COOJA is started, no simulation is loaded and no plugins are started. |
|||
==== |
|||
|
|||
=== Create a simulation |
|||
|
|||
A new simulation is created via the menu. |
|||
|
|||
[source,bash] |
|||
---- |
|||
File > New > Simulation |
|||
---- |
|||
|
|||
- Enter a Simulation title, and click Create. |
|||
|
|||
We have now created our first simulation in COOJA. However, the simulation does not contain any nodes yet. |
|||
|
|||
To add nodes we need to first create a node type, and then add nodes to the simulation. |
|||
|
|||
=== Create a node type |
|||
|
|||
Any simulated node in COOJA belongs to a node type. |
|||
|
|||
The node type determines, among others, which Contiki applications to simulate. |
|||
|
|||
|
|||
Click menu item |
|||
|
|||
[source,bash] |
|||
---- |
|||
Motes > Add Motes > Create new mote type > Sky mote. |
|||
---- |
|||
|
|||
You have selected to emulate Tmote Sky nodes, and now need to select what Contiki program to simulate. |
|||
|
|||
- Enter a Description. |
|||
- *Click Browse*, and navigate to *contiki/examples/hello-world/hello-world.c* |
|||
- *Click Compile* to start compiling the Contiki program |
|||
- *Click Create* when complication finishes. |
|||
|
|||
You will be asked to enter the number of motes of your simulation. |
|||
|
|||
Once you are done, click the Start button in the Simulation control window to start the simulation. |
|||
|
|||
|
|||
|
|||
=== Save, Load and Reload in Cooja |
|||
|
|||
Cooja allows for saving and loading simulation configurations. |
|||
When a simulation is saved, all active plugins are also stored with the configuration. |
|||
|
|||
.save your current simulation |
|||
[source,bash] |
|||
---- |
|||
File > Save simulation |
|||
---- |
|||
|
|||
.Open simulation |
|||
[source,bash] |
|||
---- |
|||
File > Open simulation > Browse... |
|||
---- |
|||
|
|||
Select a simulation configuration. |
|||
|
|||
When a simulation is loaded, all simulated Contiki applications are recompiled. |
|||
|
|||
|
|||
.reload your current simulation: |
|||
[source,bash] |
|||
---- |
|||
File > Reload simulation |
|||
or press |
|||
Ctrl+R |
|||
---- |
|||
|
|||
.Reminder |
|||
[NOTE] |
|||
==== |
|||
Reloading can be used to reset the simulation – to restart all nodes. |
|||
|
|||
More importantly, reloading a simulation will recompile all Contiki code, useful while developing Contiki programs. |
|||
==== |
|||
|
|||
|
|||
|
|||
=== Add simulated nodes |
|||
|
|||
[source,bash] |
|||
---- |
|||
Motes > Add motes > [your type description] |
|||
---- |
|||
|
|||
Enter the number of nodes you want to simulate (e.g., 5), and press Add. |
|||
|
|||
|
|||
=== Show properties |
|||
|
|||
Go to the *“Network”* window, click the *view* menu, and choose the properties you want to show for the nodes. |
|||
|
|||
|
|||
==== Radio model in Cooja |
|||
|
|||
From the Network window, click on the |
|||
|
|||
[source,bash] |
|||
---- |
|||
View > Radio Environment (UDGM) |
|||
---- |
|||
|
|||
|
|||
If you now left-click on one of the nodes, you will see a green circle around the selected node. |
|||
|
|||
[NOTE] |
|||
==== |
|||
The green circle presents the transmission range of the node, i.e. the selected node can communicate with all other nodes within that circle. |
|||
|
|||
You may also see a grey circle around the green circle. |
|||
A node in the grey area cannot receive packets correctly |
|||
==== |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
:hardbreaks: |
|||
|
|||
{empty} + |
|||
{empty} + |
|||
{empty} |
|||
|
|||
:!hardbreaks: |
|||
|
|||
''' |
@ -0,0 +1,5 @@ |
|||
[options="header"] |
|||
|======================= |
|||
|http://docs.swarmlab.io[Home] icon:home[link="http://docs.swarmlab.io", window="_self"]|http://docs.swarmlab.io/Howtos[HowTos] icon:wpbeginner[link="http://docs.swarmlab.io/Howtos", window="_self"]|http://docs.swarmlab.io/lab[Labs] icon:mixcloud[link="http://docs.swarmlab.io/lab", window="_self"] |
|||
|======================= |
|||
[.right.text-center] |
Loading…
Reference in new issue