Contiki-NG is an open-source, cross-platform operating system for Next-Generation IoT devices. It focuses on dependable (secure and reliable) low-power communication and standard protocols, such as IPv6/6LoWPAN, 6TiSCH, RPL, and CoAP. Contiki-NG comes with extensive documentation, tutorials, a roadmap, release cycle, and well-defined development flow for smooth integration of community contributions.
Unless explicitly stated otherwise, Contiki-NG sources are distributed under the terms of the 3-clause BSD license. This license gives everyone the right to use and distribute the code, either in binary or source code format, as long as the copyright license is retained in the source code.
Contiki-NG started as a fork of the Contiki OS and retains some of its original features.
Find out more:
- GitHub repository: https://github.com/contiki-ng/contiki-ng
- Documentation: https://github.com/contiki-ng/contiki-ng/wiki
- Web site: http://contiki-ng.org
- Nightly testbed runs: https://contiki-ng.github.io/testbed
Engage with the community:
- Gitter: https://gitter.im/contiki-ng
- Twitter: https://twitter.com/contiki_ng
Below are listed a series of useful commands and other tips for Contiki NG and Cooja usage focused on MacOS and Docker environment.
- MacOS adjustments for Docker usage:
- Include in ~/.bash_profile:
export CNG_PATH=<absolute-path-to-your-contiki-ng> alias contiker="docker run --privileged \ --mount type=bind,source=$CNG_PATH,destination=/home/user/contiki-ng \ -e DISPLAY=docker.for.mac.host.internal:0 \ -ti contiker/contiki-ng"
- MacOS adjustments XQuartz
- Use this version of socat command for X11 server
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" &
- In case the port is in use kill the process and try again (if possible, if not the port has to be changed in the Docker)
lsof -nP -iTCP:6000 | grep LISTEN kill -9 $PID