TFG: Design and development of a reliable routing protocol for Wireless Sensor Networks

Wireless Sensor Networks, or WSN, is one of the most promising fields of research when talking about Information Technology, as its use and deployment is extended in developing projects related to Internet of Things.

WSN are composed by multiple wireless tiny sensor nodes called motes, which are equipped with a microcontroller and some sensors capable to measure physical data of the parameter to be monitored. They also feature one or several radio antennas, meant to share the gathered data with the rest of the sensor nodes in the network.

Many projects have been developed using WSN, all of them with the common characteristic of the need of sharing data among nodes. This is achieved by the implementation of a network protocol on the nodes.

Different research lines have been followed and scientific papers have been published related to the field of WSN network protocols, most of them focused on the creation of algorithms and theoretical work rather than on field implementation and actual deployment of the network protocol on physical nodes.

multihop
Multihop packet sending between nodes on WSN

The final objective of this thesis is the development of a realiable routing protocol for WSN, which is meant to establish routes among the nodes which later will be used as paths for sending and receiving data. It will be ready to use for stablishing networks on any project based on WSN developed by the B105 Electronic Systems Lab Research Group, regardless of its application or purpose. Multihop will be one of the main features on this routing protocol.

This protocol has been designed to be reliable, customizable and adaptable to the different needs a WSN developer may have. Its code is portable to different motes, and has been developed as a process running within the FreeRTOS operating system, which is node sensor oriented. Besides, the Contiki netstack, Rime, and its customized layer of communication services provided by the B105 Electronic Systems Lab, have been the main sources of primitive communication modules used on the development of this routing protocol.

ContikiHUB

Las Redes de Sensores Inalámbricas (WSN por su nombre en inglés, Wireless Sensor Networks) se encuentran en una fase de rápida expansión por su gran valor en aplicacionescomo la domótica, seguridad o la gestión de recursos en el ámbito industrial. Continuando con la línea de investigación en sistemas operativos (OS) para redes de este tipo recientemente iniciada en el laboratorio, hemos decidido realizar un proyecto que resultará de enorme utilidad a la hora de iniciar el despliegue de una WSN.

ContikiHUB es una plataforma que actúa como pasarela entre los nodos de una WSN que implemente el sistema operativo Contiki e internet. Dado que una WSN emplea distintos protocolos de comunicaciones y medios físicos que los de una red clásica de internet, el objetivo es el de diseñar un hardware capaz de adaptar esos medios físicos para que puedan interconectarse, a la vez que trabajar en el sistema operativo para hacerlo totalmente funcional en dicho hardware y lograr que los protocolos para WSN que utiliza Contiki sean compatibles con los que se emplean en internet.

IMG_20150427_143036

De esta forma, el resultado final será una plataforma capaz de integrarse por un lado en una WSN (actuando como nodo si es preciso gracias a varios puertos de expansión donde podrán conectarse diversos tipos de sensores) y por otro con un router de una red de internet, pudiendo enviar y recibir datos libremente entre ambas redes.

Nuevos nodos YetiMote para WSN desarrollados en el B105

 

Después de varios meses de desarrollo ya se dispone de los primeros prototipos de los nodos YetiMote implementados en el B105. Estos nodos han sido creados de cara a poder realizar una evaluación del rendimiento del Sistema Operativo (SO) Contiki en una red de sensores real. El objetivo es aplicar estrategias cognitivas en el SO de cara a mejorar el rendimiento del sistema.

El diseño del YetiMote está pensado para reducir al mínimo el consumo en los nodos y proporcionar herramientas para su caracterización. Los módulos que incluye el YetiMote son:

  • Módulo wake-on asíncrono integrado con el transceiver de 433MHz usando la misma antena.
  • Módulo para la medida de la corriente consumida en tiempo de ejecución.
  • Microcontrolador ARM Cortex-M3.
  • Sensor de temperatura y acelerómetro.
  • Interfaz de comunicaciones Micro USB.
  • Slot Micro SD card.
  • Pines de expansión, leds y botones de usuario.

YetiMote1