The examples/ directory contains a few examples that will help you get started with Contiki.
To run the example programs, you need either to be running Linux or FreeBSD (or any other UNIX-type system), or install Cygwin if you are running Microsoft Windows http://cygwin.com. As a minimum you will need to have the gcc C compiler installed. To run the examples in the 'netsim' target, you need to have GTK 1.x development libraries installed. These are usually called 'gtk-devel', 'libgtk1-devel' or similar in your Linux software installation programs.
A test script that compiles Contiki for a number of platforms and reports any errors found during the build.
An email program supporting SMTP. It can be compiled and run in the 'win32' target by typing the following commands:
cd examples/email
make
./email-client.win32
Most likely you'll have to adjust the TCP/IP values set in main() in platform/win32/contiki-main.c to match your needs.
Please consult cpu/native/net/README-WPCAP.md as well.
A set of demo applications for the ESB board.
An FTP client supporting download. It can be compiled and run in the 'win32' target by typing the following commands:
cd examples/ftp
make
./ftp-client.win32
Most likely you'll have to adjust the TCP/IP values set in main() in platform/win32/contiki-main.c to match your needs.
Please consult cpu/native/net/README-WPCAP.md as well.
A really simple Contiki program that shows how to write Contiki programs. To compile and test the program, go into the hello-world directory:
cd examples/hello-world
Run the 'make' command.
make
This will compile the hello-world program in the 'native' target. This causes the entire Contiki operating system and the hello-world application to be compiled into a single program that can be run by typing the following command:
./hello-world.native
This will print out the following text:
Contiki initiated, now starting process scheduling
Hello, world
The program will then appear to hang, and must be stopped by pressing the C key while holding down the Control key.
An IRC client. It can be compiled and run in the 'win32' target by typing the following commands:
cd examples/irc
make
./irc-client.win32
Most likely you'll have to adjust the TCP/IP values set in main() in platform/win32/contiki-main.c to match your needs.
Please consult cpu/native/net/README-WPCAP.md as well.
A quite simple demonstration of the Contiki multi-threading library employing two worker threads each running a recursive function. It can be compiled and run in the 'native' target by typing the following commands:
cd examples/multi-threading
make
./multi-threading.native
Contains a set of examples on how to use the Rime communications stack. To run those examples in the 'netsim' target (a very simple Contiki network simulator), compile the programs with:
make TARGET=netsim
You will need to have GTK 1.x development libraries installed.
Run the different programs:
./test-abc.netsim
./test-meshroute.netsim
./test-rudolph0.netsim
./test-rudolph1.netsim
./test-treeroute.netsim
./test-trickle.netsim
Most of the examples requires you to click with the middle mouse button on one of the simulated nodes for something to happen.
Examples inteded for running on the Tmote Sky board. To compile those, you need to have msp430-gcc (the gcc C compiler for the MSP430 microcontroller) installed.
The follwing programs are included:
- blink.c A simple program that blinks the on-board LEDs
- sky-collect.c Collects sensor data and energy profile values to a sink. Press the "user" button on the Tmote Sky that is connected to the PC to make the node a sink.
- test-button.c Toggles the LEDs when the button is pressed.
- test-cfs.c Tests the 1 mb flash memory of the Tmote Sky
A simple TCP telnet server with a simple command shell. It can be compiled and run in the 'minimal-net' target by typing the following commands:
cd examples/telnet-server
make
./telnet-server.minimal-net
Most likely you'll have to adjust the TCP/IP values set in main() in platform/minimal-net/contiki-main.c to match your needs.
Please consult cpu/native/net/README-WPCAP.md as well if you are running Microsoft Windows.
A text mode web browser supporting links and forms. It can be compiled and run in the 'win32' target by typing the following commands:
cd examples/webbrowser
make
./webbrowser.win32
Most likely you'll have to adjust the TCP/IP values set in main() in platform/win32/contiki-main.c to match your needs.
Please consult cpu/native/net/README-WPCAP.md as well.
A web server supporting dynamic content creation using "scripts" which are actually compiled-in C-functions. It can be compiled and run in the 'minimal-net' target by typing the following commands:
cd examples/webserver
make
./webserver-example.minimal-net
As an alternative to the static and dynamic compiled-in content the web server can instead support "external" static-only content loaded from any storage supported by the 'Contiki File System' (CFS) interface. To compile it in the 'minimal-net' target and have it load files from disk use the following command:
make HTTPD-CFS=1
Most likely you'll have to adjust the TCP/IP values set in main() in platform/minimal-net/contiki-main.c to match your needs.
Please consult cpu/native/net/README-WPCAP.md as well if you are running Microsoft Windows.
A command line program that retrieves files from web servers and saves them using the 'Contiki File System' (CFS). It can be compiled and run in the 'minimal-net' target by typing the following commands:
cd examples/wget
make
./wget.minimal-net
Most likely you'll have to adjust the TCP/IP values set in main() in platform/minimal-net/contiki-main.c to match your needs.
Please consult cpu/native/net/README-WPCAP.md as well if you are running Microsoft Windows.