Soutenance Projet EI5 - Ruche intelligente

Post on 07-Feb-2016

185 views 2 download

description

Soutenance Projet EI5 - Ruche intelligente

Transcript of Soutenance Projet EI5 - Ruche intelligente

1

Présentation du projet

Travail réalisé

Architecture et technologies

Gestion de projet

Démonstration

Conclusion

2

3

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

4

• Nombre d’abeilles en chute libre

Contexte

• Superviser l’état des ruches

Besoins • Mettre en

place une « Ruche intelligente »

Solution

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

5

Ruche intelligente ?

• (Electronique / informatique) + Ruche

• Gestion de données de supervision

Fonctionnalités

• Visualiser le nombre d’abeille dans la ruche

• Visualiser la température et le taux d’humidité dans la ruche

• Ajouter / modifier / supprimer une ruche à surveiller

• Ajouter / modifier / supprimer un capteur d’une ruche

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

6

Objectifs du projet

• Pédagogique : Nouvelles technologies et gestion de projet

• Produit : Réaliser les fonctionnalités décrites

Contraintes

• Temps : 6 mois ( ~100 heures)

• Technologies : Arduino / Raspberry

• Non financières (matériel déjà fourni)

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

7

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

Définition architecture

Gestion des données

Communication des données

Ruche intelligente

Traitement et stockage des données

Interfaces utilisateur

Travail produit en plusieurs points

8

Définition des plans pour travailler sur la même

base

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

Architecture - globalité

9

•Contient les abeilles

•Equipée de capteurs >Température

>Humidité >PhotoElectrique

Ruche

•Dans la ruche

•Connectée aux capteurs

•Envoi des données à la Raspberry

Arduino

•Dans les locaux

•Traite et stocke les données

•Héberge service web, site web et base de données

Raspberry

API REST

Site web

Base de données

Gestion des données

Communication des données

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

Gestion des données – Electronique / Arduino

10

•Contient les abeilles

•Equipée de capteurs >Température

>Humidité >PhotoElectrique

Ruche

•Dans la ruche

•Connectée aux capteurs

•Envoi des données à la Raspberry

Arduino

Acquisition des valeurs de chaque

capteur

Envoi en JSON à intervalle régulière

Boite acquisition

Panneau solaire

Interrupteur DIY

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

Ruche Arduino Raspberry

Rappel architecture :

Architecture – zoom sur la Raspberry Pi

11

•Dans les locaux

•Traite et stocke les données

•Héberge service web, site web et base de

données

Raspberry

API REST

Site web

Base de données

• Interface pour autres périphériques (mobiles…)

• Renvoi de données JSON

• Affichage des données

• Gestion des ruches et utilisateurs

• Gestion des données

Stocke les données relatives aux ruches et comptes utilisateurs

Communication des données

Communication des données

Gestion des données

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

Ruche Arduino Raspberry

Rappel architecture :

12

API REST Site web

Interfaces Utilisateur (Affichage graphique)

Interface Machine (Renvoi chaine de caractères)

Communication des données – Service Web

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

Ruche Arduino Raspberry

Rappel architecture :

Communication des données – Site Web

13

Site web Vue

Modèle Controller

Architecture MVC

Modèle client <-> serveur

Client Serveur Base de données

Comptes Ruches

Capteurs Autres

Fonctionnalités

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

Communication des données – client <-> serveur

14

Site web

Modèle client <-> serveur

Client Serveur Base de données

Stockage des données >Reçues par Arduino

>Configurations utilisateur

Gestion des données

Affichage à l’aide d’un navigateur web

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

Communication des données – Architecture MVC

15

Site web Vue

Modèle Controller

Architecture MVC

Interfaces graphiques (Affichage des Ruches)

Objet cœur de l’application (Ruche)

Routage des requêtes (Demande des Ruches)

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

Communication des données – Fonctionnalités

16

Site web Comptes Ruches

Capteurs Autres

Fonctionnalités

Gestion de Ruche : Ajouter / Modifier / Supprimer

Gestion des comptes : Inscription, Connexion, Droits

Gestion des capteurs : Ajouter / Modifier / Supprimer

Visualisation des données et affectation à des ruches

Tableau administrateur (vue d’ensemble)

Présentation du projet Travail réalisé Architect./Technos Gestion de projet Démonstration Conclusion

17

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Technologies – Langages de programmation

18

Ruche Arduino Raspberry

API REST

Site web

Base de données

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Technologies – Langages de programmation

19

19

Ruche Arduino Raspberry

API REST

Site web

Base de données

JSON / Ruby

HTML / CSS / JS / Ruby

SQL

C++ Python (JS)

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

C++

• Langage compilé et orienté objet

Python

• Langage interprété très rapide et multi-plateforme

Ruby

• Langage open-source interprété et orienté objet

JSON

• Format de représentation de données

HTML / CSS

• Langage de balises pour la création d’interfaces web

SQL

• Langage de communication avec une base de données 20

Technologies – Langages de programmation

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Technologies – Outils et frameworks

21

Ruche Arduino Raspberry

API REST

Site web

Base de données

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Technologies – Outils et frameworks

22

Ruche Arduino Raspberry

API REST

Site web

Base de données

Ruby on Rails

Ruby on Rails Pattern MVC

MySQL

Raspbian

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Technologies – Outils et frameworks

23

Raspbian

• Système d’exploitation pour Raspberry basé sur Linux

API REST (Rails)

• Style d’architecture pour client - serveur

Ruby on Rails

• Framework Ruby pour le développement d’applications web

Pattern MVC

• Architecture « model – vue – controller »

MySQL

• Langage de gestion de base de données très utilisé

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

24

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Cycle de vie du projet

25

1:Analyse

2:Conception

3:Codage

4:Test

Développement des modules web

Electronique

Arduino

Raspberry - Traitements

Raspberry - Stockage

Raspberry – Service web

Développement du projet

En parallèle

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

26

Tâches

Bugs Sources

Centralisation des sources

Utilisation de Git

Centralisation des bugs à résoudre

Centralisation de la liste des choses à

faire Utilisation d’une plateforme

de développement collaboratif

Travail en groupe

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Electronique : 10 %

Etude: 5 %

Conception : 20 % Codage : 60

%

Tests : 5 %

Distribution du temps

27

Mise en place et tests

Définition architecture

Apprentissage Choix des technos

Tests des fonctionnalités

Ecriture du code Implémentation des

fonctionnalités

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

28

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

29

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Résultats du projet : diverses fonctionnalités

30

Affichage des données

Ajout et modification

Ruche

Gestion des utilisateurs

Connexion / Déconnexion

Compte

Affichage des données

Ajout et modifications

Comparaison

Capteurs

« Dashbord »

Modification Arduino

Autre

Cahier des charges respecté

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Difficultés rencontrées

31

Raspberry + Ruby

Raspberry + Wifi

ARF-53

Installation Ruby

Hardware (driver) Fonctionnement

(pas de doc)

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

Améliorations possibles

32

• Ruches liées à des comptes

• Droits et visibilité différents selon la ruche

Gestion

• Accès depuis l’Internet

• Authentification avec Google, Facebook…

Extranet

• Email si mot de passe perdu

• Personnalisation du thème Utilitaire

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

33

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion

34

Présentation du projet Travail réalisé Architect/Technos Gestion de projet Démonstration Conclusion