Soutenance Projet EI5 - Ruche intelligente
description
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