Main Page
From ContikiWiki
Contiki is the open source operating system for the next billion connected devices: the Internet of Things. Contiki is a highly portable, multi-tasking operating system for memory-efficient networked embedded systems. Contiki has been used in a variety of projects, such as badger monitoring, road tunnel fire monitoring, intrusion detection, water monitoring in the Baltic Sea, and in surveillance networks.
The Contiki Wiki is supposed to be the first point of call when searching for information, tutorials or help when using Contiki. Feel free to edit and add information as the wiki is a continuous work-in-progress.
Yet unconvinced of why you should use Contiki OS? Head to the Why Contiki? guide to see what amazing features Contiki OS has to offer.
Enjoy the best tiny operating system!
Your Contiki Team
Contents |
[edit] Information Sources
There are several places where you can obtain Contiki information and help:
- The Contiki OS Wiki you are currently reading contains a wealth of guides.
- Search emails from the contiki-developer maillist archive.
- Join the contiki-developers maillist to ask other developers about problems, suggestions or bugs you may have found.
- Join #contiki-os channel at irc.freenode.net for live community discussion.
- Search for or submit new bugs on the Contiki issue tracker.
- Local Contiki users and user group meetings users.
- A List of Contiki related projects.
[edit] Documents
- Contiki OS FAQ
[edit] Contiki
- The Contiki source code style.
- Source Code Doxygen Documentation contains descriptions of the individual files and Contiki APIs
[edit] Cooja
- TestScripts: Some details about writing test scripts
- Cooja Reference Firmware: Prebuilt firmware for emulated motes
[edit] Guides
See also the main Getting Started page.
[edit] Quick Start Guides
- Install Instant Contiki: shows how to install the Instant Contiki development environment. This is the first step if you want to instantly develop systems with Contiki.
- Simple Contiki Data Collection on the Tmote Sky: if you only want to collect sensor data with Contiki on the Tmote Sky, without any programming.
- Get started with the Cooja simulator: gets you up to speed with the Cooja Contiki network simulator.
- Develop your first application: shows how to program your first, simple Contiki program, run it in the MSPsim Tmote Sky simulator, and on the Tmote Sky hardware.
When you have gone through those, keep exploring this wiki for more!
[edit] More Quick Start Guides
- Setting up a Low-Power IPv6/RPL Network: shows how to set up a low-power ContikiRPL network in Cooja
- Change MAC or Radio Duty Cycling Protocols: shows how to change Medium Access Control (MAC) protocol or Radio Duty Cycling (RDC) mechanism in Contiki
- Coffee Filesystem Guide: shows how to write programs that use Contiki's Coffee flash-based file system.
- Get the Contiki source code: shows how to access the source code of Contiki.
[edit] Contiki Feature Guides
Once you have mastered the basics of programming a Contiki node, you will want to use more advanced features such as sensing data, reading and writing to flash or get to know the Cooja simulator better. This is the place to get started (for networking tutorials head to the next section). Contiki has a wide range of natively supported features and helper functions which will be described by this set of guides. After completing these, you will have a good understanding of using a range of easy and useful features that will aid you at efficiently producing Contiki applications.
- Coffee Filesystem Guide: The Coffee filesystem allows you to easily read and write to flash memory in a hardware independent manner via the Contiki File System (CFS) interface. Given that most of us probably want to store some data at some point, get started with this guide to get to know how to do so!
- Reducing Contiki OS' Firmware Size: Read this guide if you are having problems squeezing your code onto your node's rom.
[edit] Cooja Contiki OS Simulator Guides
- An Introduction to Cooja: Find out how you can use Cooja to simulate a range of nodes.
- Using Cooja test scripts to automate simulations: learn how to write an automated simulation XML that you can simple rerun.
[edit] Networking Tutorials
- Simple Contiki Data Collection on the Tmote Sky
- Setting up a Low-Power IPv6/RPL Network
- Setting up Wireshark on a Loopback Interface
- Setting up Wireshark with Econotags
- A RPL network on the minimal-net platform
- Econotag RPL border router on Windows
- RPL startup traffic
- The Rime Announcement Primitive: Contiki's Rime networking stack provides an energetically inexpensive way of distributing small amounts of data amongst a sensors neighbours. Read this tutorial to find out how you can utilise it.
- HTTPS Proxy Configuration (with HTTP Header Modification and URL shortening)
[edit] Example App Guides
A range of example applications are included within every Contiki OS distribution which will be described in greater detail in this section.
- Example-Shell Guide
- Custom Shell Example
- REST-Example Guide
- Webserver-nano AJAX streaming Example Guide
- AT Command example application for GSM module
[edit] Hardware Specific Guides
Are you looking for platform specific information? Or are you even looking into porting Contiki OS to a new platform? Then this is the section you are looking for.
[edit] Contributing to Contiki OS
Would you like to participate in the Open Source Contiki OS project? You are more than welcome. Find out how you can submit code or write a new wiki guide by reading this guide!
[edit] Third-party tutorials
Check out the list of third-party tutorials from around the world!