-
Notifications
You must be signed in to change notification settings - Fork 11
Home
Welcome to the Contiki wiki! The main sections are available from the table below, or from the sidebar at right, which appears on each page. So explore, you won't get lost. :-)
[Using Contiki](#Using) | Guides and tips on getting started, configuration, and tuning |
[Platforms](#Platforms) | Guides to specific hardware |
[Internals](#Internals) | Details on Contiki's organization and subsystems |
[Community](#Community) | Links to Contiki-related projects and enhancements developed by users |
[Help](#wiki-Help) | Links to resources like the mailing list and issue tracker |
Have a tip or project to share? Add it to the wiki! All you need is a free GitHub account.
Have code you'd like to contribute? Great! See Code-Contributions to submit and include it in the Contiki tree.
Guides and tips on getting started, configuration and tuning.
- Instant Contiki install scripts
- Setup Contiki Toolchain in Ubuntu 13.04
- Setup Contiki Toolchain in Arch Linux
- Iot in 5 days online Book, Heavily based in Contiki with plenty of examples and how-to's
- Contiki-Build-System
- Reducing Contiki OS firmware size
- Creating "out-of-tree" project, apps, and targets using Git Submodules
- File systems - how to use the CFS APIs and Coffee FS configuration parameters
- Coffee filesystem example - walkthrough of using Coffee FS
- Debugging System: Ideas on how to improve the debugging system
- Webserver nano_AJAX_streaming_Example_Guide
- Configuring HTTP Proxy
- Setting up CSS Uniflash to program the CC2538DK
- Acronyms and Terminology
- Lost modules - Modules that have been removed from Contiki for various reasons.
The repository includes ports for several hardware platforms. Drill down for implementation specifics.
- AVR
- mc13224v-based
- RL78 + ADF7023 sub-GHz platform - eval-adf7023 eval board from Analog Devices. See platform README for how to get started.
- Host Subprocesses (native, minimal-net)
- Java (Cooja motes)
- 8051-Based-Platforms (TI cc2530 DK and Sensinode/cc2430)
- Zolertia-z1-motes (MSP430x2 + CC2420 based)
- Zolertia Zoul platforms (RE-Mote and Firefly) (CC2538 + CC1200 based, dual radio)
- TI CC2538 Development Kit, documented in the README under the platform dir
- TI srf06-cc26xx: Support for TI's CC2630 and CC2650 CPUs. Two boards are supported: i) The CC2650 SensorTag and ii) CC2630/CC2650 EM attached on a SmartRF 06 EB. README under the platform dir.
There are also platforms that are no longer in the main tree:
Some routers and gateways run Contiki and others are simply useful for setting up 6LowPAN networks
- BR12 - embedded Linux based 6LoWPAN router (includes the BRamble 6LoWPAN administration frontend)
- red-IO Contiki-based router. Can run Mist(Nat64/DNS64) or 6lbr(native ipv6 routing)
- calipso-gateway A HTTP/CoAP proxy and cache prototype.
Also see links to out of tree implementations in the Community section below.
Details on Contiki's organization and subsystems.
- Processes
- Timers
- Callback timer
- Memory allocation
- Input and output
- Libraries
- File systems
- The dynamic loader
- Multithreading
- RPL modes
- Radio duty cycling
- Change MAC or Radio Duty Cycling Protocols
- Information about ContikiMAC
Projects and enhancements developed by Contiki users, not in the main Contiki tree.
- Some projects are hosted/mirrored in the Contiki Projects repository on SourceForge.
- JenniSense NXP/Jennic JN51xx ieee802.15.4 SoC and open hardware schematics
- Contiki-Senslab Contiki port for Senslab nodes, including a CC1101 radio driver
- contiki-avr-zigduino
- contiki-arduino, contiki-arduino-2.2
- contiki-dspic Contiki port for Microchip dsPIC micro-controller (cpu + board support 'platform' for Dangerous Prototypes Web Platform)
- BatMote, a small size, low cost, WSN platform with Contiki support, based on Atmega128RFA1.
- Flexibity Sensors, DIY home sensors platform with Cosm integration based on MC13224V, Contiki and OpenWRT.
- Collection of Cooja and Contiki patches
- Contiki BBS: A simple telnet BBS server for the Commodore 64 homecomputer based on Contiki.
- Minilink: An improved linker for Contiki (for MSP430-based Nodes only).
- Migmem: A library to serialize applications and migrate their memory. Bases on the Minilink linker.
- Rudolph1 ported to unicast on top of Mesh
- 6LP-GW Implementation of a 6LoWPAN Neighbor Discovery Proxy gateway.
- 6LoWPAN-ND implementation. An implementation of the Neighbor Discovery Optimization for LLNs (draft-ietf-6lowpan-nd-18) for Contiki.
- 6LBR for RPL: an implementation of a RPL-friendly 6LoWPAN Border Router
- T-Res: a programming abstraction framework enabling re-configurable in-network processing in IoT-based WSNs.
- GDBStub for Sky Motes
- CoojaTrace: A framework to trace and log data using Cooja. Extensions are CoojaTracePlot to plot the data in Cooja and CoojaTraceSQLite to log the data to an SQLite database.
- Serial2pty: Creates a real serial device for a virtual mote.
- Mobility COOJA plugin: The Mobility plugin for Cooja allows using a data file with positions over time for the nodes in the simulation.
- Kleenet COOJA project: Integrate Kleenet into Cooja.
- RealSim tries to map a real network to Cooja. Can be used to configure DGRM over time, too.
- Headless Radio Logger: Generate PCAP files in headless mode.
- GISOO: A virtual testbed for wireless cyber-physical systems and sensor and actuator networks, combining Cooja and Simulink
- PPA for Ubuntu
- A slider to change the values of the light sensor
- Power Tracker A Cooja plugin that shows a window with the average duty cycle of the Tmote Sky radio. This can be used to measure the power consumption of the network as well as to assess the power overhead of a duty cycling MAC protocol.
- csc2svg extracts the network topology from a csc file and saves it as svg.
- cooja-dbus uses dbus to let external programs control the simulation.
- sky-boards-collect, an extension to contiki-collect-sky-2.5.
This table shows you some common methods to request help.
Website | Check the Contiki website |
Stackoverflow | Submit your questions with the Contiki tag on Stackoverflow |
Bug reports | Use the Issue Tracker provided by Github. By all means, open an issue if you think you may have found a bug, even if you are uncertain. However, do not open issues to ask fundamental "How do I ...?" type questions. Issues of this nature will be closed with no further explanation. |
Mailing List | For Contiki development discussion use the mailing list home or Gmane archive. If you have questions on how to use Contiki, this is the best place to ask them. |
IRC | Join #contiki-os channel at irc.freenode.net for live community discussion |