# Senslab

Le projet Senslab est un projet de recherche concernant les réseaux de capteurs à grandes échelles.
Le projet Senslab s’inscrit dans le contexte des réseaux de capteurs sans fils.

## Définition

Un réseau de capteurs sans fil est un réseau capable de s’organiser sans infrastructure définie préalablement avec un grand nombre de nœuds qui sont des micro-capteurs capables de récolter et de transmettre des données environnementales d'une manière autonome. La position de ces nœuds n'est pas obligatoirement prédéterminée. Ils peuvent être aléatoirement dispersés dans une zone géographique, appelée « champ de captage » correspondant au terrain d'intérêt pour le phénomène capté.
De nos jours, les capteurs font de plus en plus partie de notre vie quotidienne. Que ce soit en matière de surveillance de l’environnement, de domotique ou de suivi d’animaux sauvages, les applications des capteurs communicants sont multiples. Demain, ces capteurs remplaceront les câbles dans nos automobiles.

## Contexte

Il est à noter que les simulations, si elles peuvent être utilisées pour tester des réseaux reposant sur un millier, voire davantage, de capteurs, ne permettent pas pour autant d'étudier toutes les configurations. Ainsi il a été démontré que le même protocole testé sur différents simulateurs ne donne pas le même résultat. D'où la nécessité de mettre en place des expérimentations grandeur nature via une plate-forme ouverte et pré-instrumentée comme Senslab.
C’est pourquoi, en 2008, il y eut le lancement du programme “Télécommunications” de l’ANR (Agence Nationale de la Recherche) sur les “Very large open wireless sensor networks”, et ce, pour une durée de trois ans. Ce programme a pour objectif de faciliter l’expérimentation de très grands réseaux de capteurs sans fils. En effet, pour le chercheur, il suffit seulement de se connecter au portail web de la plate-forme, de charger le code son expérimentation et de la configurer.
C'est dans ce cadre que la plate-forme Senslab a été déployée sur quatre sites en France (Grenoble, Lille, Rennes, Strasbourg). Composée de 1024 nœuds, elle va permettre en effet d'étudier ces réseaux en grandeur réelle.
Précisons que ce programme regroupe trois équipes de l'INRIA (D-Net, Pops, Asap), l’université de Strasbourg, l’université Pierre et Marie Curie - Paris 6 ainsi que Thales Communications France.
Très peu de réseaux de capteurs sont disponibles afin de réaliser des expériences sur ceux-ci au vu d’un environnement contraint. En effet, l’environnement des réseaux de capteurs n’est pas des plus avantageux, au vu des nombreuses contraintes liées aux capteurs : la taille des capteurs qui est petite voire très petite, une consommation d’énergie la plus basse possible afin d’économiser au mieux la durée de la vie de la batterie présente. Bien sûr, il faut que ces capteurs soient autonomes afin qu’ils récupèrent et transmettent les données sans avoir besoin d’y accéder et aussi qu’ils résistent aux conditions de l’environnement dans lequel ils se trouvent (fortes chaleurs, eau, ...).
Un des objectifs du projet est de faciliter l’accès aux expériences sur un réseau de capteurs. La plupart du temps, ces expériences sont fastidieuses dès que l’on dépasse la dizaine de capteurs car c’est une procédure manuelle qui est longue et contraignante. Et cela est très peu gratifiant pour les personnes qui le font. Avec le projet Senslab, il y a la création d’un portail web permettant de faciliter cet accès aux expériences. Un autre objectif est de pouvoir déployer à très grande échelle des protocoles de communications pour les réseaux de capteurs sans fil. Ce projet permet de réaliser des expérimentations grandeur nature afin de compléter et de valider des résultats obtenus par simulations.

## Description

Senslab est un outil scientifique à visée nationale. En effet, c’est un projet à large échelle, avec ces 1024 nœuds répartis sur 4 sites géolocalisés sur toute la France (Lille, Grenoble, Rennes et Strasbourg). Cette plate-forme est un ensemble de nœuds hétérogènes afin d’avoir des expérimentations les plus proches des conditions réelles. Elle se veut générique et ouverte au niveau des OS (Operating Systems), des langages, …
De plus, même si les nœuds sont répartis à différents endroits géographiques, chaque site doit être accessible à distance. C’est à cet effet qu’un portail web (à l’adresse https://{site}.senslab.info) est proposé pour avoir accès aux ressources proposées par chaque site.
Senslab est un projet de recherche sur les réseaux de capteurs à grandes échelles, il y a donc des critères qui ont été définis afin que cette plateforme soit une représentation assez proche de la réalité, mais aussi un moyen de faciliter les expériences, de les reproduire, d’évaluer les résultats obtenus …
Une des fonctionnalités présentes sur ce site est le monitoring (non intrusif) des applications. Le mot “monitoring” est l'anglicisme du terme surveillance et définit la mesure d'une activité. Les mesures qui peuvent être faites via les capteurs sont les mesures de l’énergie consommée au cours de l’expérience, l’activité de la radio, ...
Il a fallu un outil de validation des expériences qui permettent de conserver les résultats/données prises au cours de ces dernières, restent disponibles bien que les programmes des expérimentations soient effacées à la fin de celle-ci pour assurer leur confidentialité. Cet outil permet le prototypage et le débogage des expériences configurées mais aussi une évaluation des performances grâce aux données relevées. En plus de cet outil, les expériences sont reproductibles, c'est-à-dire qu’il y a un versioning des expérimentations (gestion des versions), des logs qui permettent d’avoir un historique des différentes versions.

## Fonctionnalités / Services

Lorsqu’on travaille sur un projet concernant les réseaux de capteurs sans fils, on s’attend à ce que ce réseau soit le mieux adapté à la demande. C’est pourquoi il y a un accès en temps réel sur le réseau, il se veut également robuste et fiable à la plateforme distribué. Cela correspond à la partie hardware.
Du côté logiciel, les expériences sont multi-sites donc il a fallu développer une interface unique pour les utilisateurs. Au niveau des expériences, le logiciel permet le support de plusieurs applications simultanément sans compromettre la sécurité et l’intégrité des données générées. Celui-ci permet d’accéder, en temps réel, aux données durant une expérience.

## Caractéristiques
### Générale

Différentes technologies de communication radio sont utilisées, afin de permettre des tests plus diversifiés. On trouve en particulier :
* Zigbee IEEE 802.15.4 2,4 GHz (TI CC2420)
* Open MAC 868 MHz (TI CC1101)

### Capteurs

L’utilisation de capteurs permet de collecter des informations sur l’environnement qui l’entoure. Pour ce faire il lui faut donc des outils spécifiques pour capturer ces informations. Les capteurs du projet Senslab possèdent plusieurs senseurs :
* un senseur de luminosité ;
* un senseur de température ;
* un senseur acoustique.
De plus certains capteurs sont équipés de senseurs supplémentaires comme un accéléromètre, un gps, voire les deux.
Chaque capteur possède un micro-contrôleur TI MSP430-1611 avec un processeur 16 bits cadencé à 8 MHz, 48 ko de ROM (mémoire morte) et 10 ko RAM (mémoire vive), une interface radio TI CC1101 ou CC2420 avec une fréquence respective de 868 MHz et 2,4 GHz, un numéro de série unique DS2411 sur 6 octets, une mémoire flash externe ST M25P80 de 1 Mo et une batterie Varta avec un contrôleur de charge MCP73861.

### Nœud Senslab

Un nœud Senslab a un nœud ouvert, sans hypothèse sur le logiciel déployé, avec un canal de retour fiable. Le nœud ouvert est dédié à l’utilisateur pour les expériences. Il y a aussi un nœud de contrôle et une gateway.
La gateway a plusieurs rôles dans cette configuration. Elle permet de contrôler les nœuds ouvert et de contrôle. Sur le nœud ouvert, elle mesure également l’alimentation électrique de cette partie. On peut s’en servir pour simuler une panne du nœud ouvert et voir comment le nœud réagit. La gateway fournit une interface de communication pour le Node Handler et permet la récupération des mesures faites pour le nœud de contrôle.

## Particularités des sites

La plate-forme de chaque site est constitué de 256 capteurs sans fils mais ces capteurs ne sont pas disposés de la même façon sur chacun d’eux.

### Grenoble

Le site de Grenoble possède 256 capteurs sans fils fixes dans un environnement intérieur sans senseurs optionnels. Il communique avec la technologie radio OpenMAC. Inauguration : 24 novembre 2009.

### Lille

Le site de Lille permet de tester un peu plus de choses que sur le site de Grenoble. En effet, ils possèdent 2 types de capteurs sans fils : la plupart sont fixes à l’intérieur mais 32 sont mobiles. Tous les capteurs sIls sont pourvus d’un senseur optionnel : l’accéléromètre. La communication se fait grâce au protocole ZigBee. Inauguration : 5 février 2010.

### Rennes

Le site de Rennes ressemble à peu de chose près au site de Grenoble avec tous ses capteurs fixes dans un cadre intérieur, et sans senseurs optionnels. Seule différence, la technologie radio utilisée. Pour Rennes, c’est ZigBee.

### Strasbourg

Le site de Strasbourg est le site le plus hétérogène parmi les quatre sites du projet. Il possède des capteurs fixes dans un milieu intérieur mais également extérieur, et aussi des capteurs mobiles. Sur les capteurs ont été rajoutés les senseurs tels que l’accéléromètre et le GPS. La technologie de communication est OpenMAC. Inauguration : 24 mars 2010.