Hello World
Contents
Introduction
This article is about the Hello World program, which is used to show the compilation and upload steps of a simple program on a Tmote Sky.
You will learn
This tutorial teaches you how to compile a program on Contiki OS and also the most basic syntax of programming in ContikiOS.
Step 1
Open the terminal window.
Step 2
In the terminal window, go to the hello world example folder.
-  
.cd /examples/hello-world 
-  
 
Step 3
Compile the code for the native platform (to be used when no mote is connected to the laptop.)
-  
make TARGET=native 
-  
 
If there is any bug during compilation which says "#include<curses.h> : No such file or directory" you need to do the following on Ubuntu.
If you are currently in the terminal, type "sudo apt-get install libncurses5-dev"(for which you should have installed the "apt" for 32-bit using "sudo dpkg -i apt_0.8.16~exp12ubuntu10.10_i386.deb" and for 64-bit using sudo dpkg -i apt_0.8.16~exp12ubuntu10.10_amd64.deb")
You need to also install a version of javac compiler using the command "sudo apt-get install openjdk-7-jdk".
Step 4
Once the compilation is over, run the Hello World program.
-  
./hello-world.native 
-  
 
Step 5
This will print the following on the terminal window:
The code will appear to hang, however, it is still running on Contiki, but not producing any output as the Hello World program is finished. Press Ctrl-C to quit.
Hello World on the Tmote Sky!
Step 1
Using the opened terminal window, compile and upload the Hello World program on the Tmote Sky.
-  
make TARGET=sky savetarget(This to save the target for any future compilations) -  
make hello-world.upload(This will upload the code on the Tmote Sky) -  
make login(This will enable us to view the output. If permission error occurs, use sudo command at the beginning) 
-  
 
Step 2
Press the reset button on the Tmote Sky. The following message will appear on the terminal window
-  
Contiki 2.7 started. Node id is set to 3. -  
Rime started with address 3.0 -  
MAC 00:12:ff:11:65:23:52:ed -  
Starting 'Hello world process' -  
Hello, world 
-  
 
- The boot up code of Contiki-OS prints the first four lines whereas the last line is printed by the Hello World program.
 
Step 3
Press Ctrl-C to quit.
Try This
You can upload and login with one line. You can also point the upload and/or login to a specific device path (use `dmesg` to find the device path of a mote after inserting it to your computer). Try the following command:
-  
make TARGET=sky MOTES=/dev/ttyUSB0 hello-world.upload login 
-