IMA3/IMA4 2018/2020 P10 : Différence entre versions

De Wiki de Projets IMA
(Cahier des charges du groupe)
(Cahier des charges du groupe)
Ligne 76 : Ligne 76 :
 
*Un serveur Php (Houplin)
 
*Un serveur Php (Houplin)
 
*Un site moderne basé sur les Frameworks CSS Bootstrap et Vue.js
 
*Un site moderne basé sur les Frameworks CSS Bootstrap et Vue.js
 +
*La plateforme Java EE pour la partie réseau et communication, couplé au Framework Spring
 +
 +
===Liste des tâches à effectuer===
 +
 +
*Documentation sur les Frameworks Web Bootstrap.css et Vue.js
 +
*Documentation sur Spring et Java EE en général
 +
*Création d'une interface web utilisateur
 +
*Création d'une base de données relationnelle pour gérer les nœuds
  
 
==Cahier des charges des équipes==
 
==Cahier des charges des équipes==

Version du 12 mars 2019 à 10:39


Présentation générale

Administration système, déploiement et surveillances de logiciels dans un réseau de capteurs

Description

Dans le cadre de recherches dans le domaine des réseaux de capteurs et des objets connectés, notre projet consiste à développer une solution de maintenance et de reconfiguration à distance d'un ensemble de nœuds déployés dans un environnement réel. Afin de faciliter la vie de ces chercheurs sur le test de leurs hypothèses, ils pourront facilement et rapidement déployer leurs créations sur tout les nœuds souhaités grâce à un système de sélection ou au téléchargement du nouveau code sur tous les nœuds du réseau.

Objectifs

L'objectif principal de notre projet est de créer une interface permettant de tester des programmes ou logiciels en les déployant sur le vaste réseau de capteurs. Nous devons rendre accessible chaque nœud indépendamment des autres, tout en permettant un lien entre tous, afin d'envoyer le contenu vers tout ou une partie des nœuds disponibles.

Enfin, nous allons permettre la mise à jour et l'adaptation du chemin d'envoi des données des nœuds, entre eux, et avec l'application de gestion.

Analyse du projet

Positionnement par rapport à l'existant

Analyse du premier concurrent

Logo du Laboratoire
Logo du LRI

Notre concurrent principal reste le FIT(Future Internet Testing Falicity)/IoT-Lab. Il s'agit d'un laboratoire dont les recherches se portent sur les différents domaines scientifiques tel que les adresses de communications sans fils, des réseaux de capteurs, des protocoles de routages basse consommation et applications embarquées. Ce laboratoire dispose de plus de 1500 de nœuds de capteurs sans fils propagés à travers les six sites différents en France qui sont : Inria Grenoble (640), Inria Lille (293), Inria Saclay (264), ICube Strasbourg (400), Institut Mines-Télécom Paris (160) and CITI Lab Lyon (29). Chaque site dispose de capacités matérielles et de nœuds différentes, mais tous les sites sont interconnectés et disponibles via le même portail Web,

Analyse du second concurrent

Il y aussi une autre équipe au sein du laboratoire de recherches en informatique(LRI) qui est en train de faire un projet sur les capteurs de réseaux. Les questions abordées par l’équipe concernent les réseaux ad hoc sans fil et mobiles, les réseaux de capteurs et les réseaux fixes, et concernent la qualité de service, la sécurité, le contrôle d’admission, la réservation de ressources, le calcul des limites déterministes et la consommation d’énergie. L'analyse de la performance est donnée à la fois théoriquement, pour déterminer les limites, et par simulation, pour enrichir l'analyse et inclure un support pour un environnement dynamique.

Scénario d'usage du produit ou du concept envisagé

Schéma Complet

De nombreux chercheurs et développeurs créent de nouveaux codes adaptés à l'utilisation d'un réseau de capteurs. Ces codes doivent être facilement déployés sur le réseau afin de pouvoir y réaliser des essais rapides. Cela permet de corriger rapidement les erreurs liées à leur mauvais fonctionnement.

Supposons que notre réseau est réparti sur une très grande surface. Le chercheur voulant tester son code doit l'envoyer à partir de son ordinateur sur le réseau. Notre projet va lui permettre de rester assis dans son bureau et de ne pas devoir charger le code sur chaque nœud de capteurs un par un.

A travers notre projet, nous voulons rendre possible ces exports rapides de données. Il nous faudra utiliser un routeur qui permettra la liaison entre chaque nœud et un serveur de données. Dans chacun de ses nœuds, on trouve plusieurs nœuds de mesures comportant chacun un microcontrôleur associé à des capteurs.

Pour pouvoir envoyer ses codes sur le réseau, le chercheur dispose d'une interface web graphique connectée au même serveur que les nœuds de collecte et le routeur. Cette interface permettra la sélection de tout ou d'une partie du réseau sur laquelle il doit effectuer les modifications. Ceci se fera à l'aide des microcontrôleurs du réseau et de Raspberry Pi gérant chaque nœud. Une fois la zone d'export choisie, il pourra envoyer ses codes et les mettre à jour en quelques clics. Le code sera envoyé sur le serveur et distribué par le routeur sur les nœuds sélectionnés. Les différents nœuds feront un retour sur la réception à travers le serveur via le routeur, et le chercheur pourra ainsi tester rapidement sa réalisation.

Dans le cas où le chercheur veut tester l'envoi de données par radio par exemple, il pourra placer un grand nombre de nœuds communiquant en filaire avec le routeur et par radio entre eux. Les nœuds seront capables de transmettre l'information au suivant et de choisir un autre chemin (contourner un nœud par exemple) en cas de perturbations (présence de réseau Wi-Fi à proximité, etc...), pour envoyer l'information. Ces nœuds seront capables de communiquer avec le serveur pour indiquer la bonne réception des données, les résultats obtenus ou éventuellement le mauvais fonctionnement d'un ou plusieurs capteurs.

Réponse à la question difficile

Bibliographie et webographie

Préparation du projet

Cahier des charges du groupe

Matériel

  • Un serveur dédié pour l'ensemble des services
  • Un réseau de capteurs liés à des Raspberry Pi
  • Une Banana Pi comme routeur pour lier le serveur aux Raspberry Pi

Logiciels

  • Ansible pour faciliter le déploiement des binaires sur les nœuds
  • Une base de données PostgreSQL pour le stockage des données
  • Un serveur Php (Houplin)
  • Un site moderne basé sur les Frameworks CSS Bootstrap et Vue.js
  • La plateforme Java EE pour la partie réseau et communication, couplé au Framework Spring

Liste des tâches à effectuer

  • Documentation sur les Frameworks Web Bootstrap.css et Vue.js
  • Documentation sur Spring et Java EE en général
  • Création d'une interface web utilisateur
  • Création d'une base de données relationnelle pour gérer les nœuds

Cahier des charges des équipes

Equipe 1

Equipe 2

Equipe 3

Choix techniques : matériel et logiciel

Equipe 1

Equipe 2

Equipe 3

Liste des tâches à effectuer

Equipe 1

Ziyad Houssaini

Déploiement d'un routeur à base de Banana Pi R1. Ce routeur permettra d'accéder aux différentes Raspberry Pi et il filtrera les accès. Déploiement de OpenWRT sur ce routeur.

Equipe 2

Eymeric CAPRONNIER

Déploiement des logiciels sur les Raspberry Pi avec la création de différents scripts pour faciliter ce déploiement, en utilisant notamment Ansible.

Equipe 3

Guillaume Rouillé

Déploiement d'un serveur permettant de récupérer les différentes données issues des capteurs (création d'une base de données et d'un site web dynamique pour l'affichage).

Calendrier prévisionnel

Le calendrier prévisionnel peut se concrétiser sous la forme d'un diagramme de GANTT.

Equipe 1

Equipe 2

Equipe 3

Réalisation du Projet

Projet S6

Eventuellement créer des sous-pages par équipe avec le compte-rendu des réunions de groupe sur cette page principale.

Semaine 4

Semaine 5

Semaine 6

Semaine 7

Semaine 8

Semaine 9

Semaine 10

Semaine 11

Semaine 12

Documents Rendus

Projet S7

Documents Rendus

Projet S8

Documents Rendus