Using the Contiki operating system for developing wireless sensor network-based applications for the Internet of Things

Using the Contiki operating system for developing wireless sensor network-based applications for the Internet of Things

Profile Master thesis student : either master in computer science or master in electrical or computer science engineering
Required skills Good knowledge in C programming, basic knowledge in (embedded) operating systems and in communication networks
Length Minimum 3 months

Context

Internet of Things and IPv6

We now stand before the digital revolution of the 21st century, the Internet of Things (IoT), that will connect the digital world to the physical world. In this vision, trillions of embedded devices, also called smart objects, will be connected using the Internet Protocol (IP) and then be an integral part of the Internet. A smart object can be any item equipped with a form of sensor or actuator, a tiny microprocessor, a communication device and a power source. Such a smart object can communicate its sensor readings to the outside world and receive input from other smart objects. Actually, all objects surrounding human beings may potentially be part of the IoT.

The impact of the Internet of Things will be significant, with the promise of better environmental monitoring, energy savings, smart grids, smart cities, more efficient factories and better logistics, better healthcare and smart homes.
To enable this new kind of Internet applications, a new Internet Protocol, called Internet Protocol Version 6 (IPv6), will be used because of the extremely large address space that is necessary (trillions of “things”).

Contiki and uIPv6

Contiki is expected to be one of the major operating systems to be used for connecting the trillions of devices (or “things”) of the Internet of Things.

Contiki is a highly portable, multi-tasking open-source operating system for memory-efficient networked embedded systems and wireless sensor networks. It runs on small microcontroller architectures such as Atmel AVR, 8051 and MSP430 and includes a very light implementation of IP called uIP along with an implementation of IPv6, called uIPv6, with 6LoWPAN support (6LoWPAN is a header compression and framing mechanism for IPv6 that makes IPv6 packets more efficiently transmitted over a IEEE 802.15.4 radio link). uIPv6 is currently the world’s smallest certified IPv6 stack for low-cost networked device such as sensors and actuators. The Contiki operating system and its uIP stack are used worldwide by hundreds of projects and companies, ranging from road tunnel fire monitoring, intrusion detection, water monitoring in the Baltic Sea to surveillance networks… just to cite a few of them.

Objective and work to carry out

The objective of the internship is to explore the possibilities offered by Contiki for developing wireless sensor network-based applications for the Internet of Things.
In particular, the following tasks will be carried out :

  • examine the Contiki technical features and the improvements of the latest releases ;
  • study in detail the architecture and components of Contiki and its built-in uIPv6 stack : radio drivers, medium access control, network (including routing) and transport protocols, neighbour discovery, APIs and application protocols, the different libraries, … ;
  • examine the development, simulation and test/debugging environments provided by Contiki ;
  • examine ContikiRPL, an open-source implementation of RPL, the proposed IETF standard routing protocol for IPv6 in low-power and lossy networks (the implementation is now fully integrated with the Contiki operating system) ;
  • design and develop simple wireless sensor networks-based applications using Contiki, its built-in uIPv6 stack as well as ContikiRPL focusing on network-level functionalities including routing but possibly also management of node mobility and neighbour discovery. The exact scenarios will be elaborated during the internship but they might concern health telemonitoring (remote monitoring of the medical and social behavior of elderly people) or smart homes (monitoring, management and control of energy-efficient buildings) ;
  • port the software developed in the preceding step to commercial hardware platforms available in the CETIC wireless lab, realize a demonstrator and analyze the performance of the running applications.

Throughout the internship, the candidate will collaborate with a PhD student currently involved in developing a middleware for wireless sensor networks connected to the internet.

For any question on this internship, you may contact Valéry Ramon valery.ramon@cetic.be