Soutenance Projet EI5 - Ruche intelligente

34
1

description

Soutenance Projet EI5 - Ruche intelligente

Transcript of Soutenance Projet EI5 - Ruche intelligente

Page 1: Soutenance Projet EI5 - Ruche intelligente

1

Page 2: Soutenance Projet EI5 - Ruche intelligente

Présentation du projet

Travail réalisé

Architecture et technologies

Gestion de projet

Démonstration

Conclusion

2

Page 3: Soutenance Projet EI5 - Ruche intelligente

3

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

Page 4: Soutenance Projet EI5 - Ruche intelligente

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

Page 5: Soutenance Projet EI5 - Ruche intelligente

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

Page 6: Soutenance Projet EI5 - Ruche intelligente

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

Page 7: Soutenance Projet EI5 - Ruche intelligente

7

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

Page 8: Soutenance Projet EI5 - Ruche intelligente

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

Page 9: Soutenance Projet EI5 - Ruche intelligente

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

Page 10: Soutenance Projet EI5 - Ruche intelligente

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 :

Page 11: Soutenance Projet EI5 - Ruche intelligente

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 :

Page 12: Soutenance Projet EI5 - Ruche intelligente

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 :

Page 13: Soutenance Projet EI5 - Ruche intelligente

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

Page 14: Soutenance Projet EI5 - Ruche intelligente

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

Page 15: Soutenance Projet EI5 - Ruche intelligente

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

Page 16: Soutenance Projet EI5 - Ruche intelligente

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

Page 17: Soutenance Projet EI5 - Ruche intelligente

17

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

Page 18: Soutenance Projet EI5 - Ruche intelligente

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

Page 19: Soutenance Projet EI5 - Ruche intelligente

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

Page 20: Soutenance Projet EI5 - Ruche intelligente

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

Page 21: Soutenance Projet EI5 - Ruche intelligente

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

Page 22: Soutenance Projet EI5 - Ruche intelligente

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

Page 23: Soutenance Projet EI5 - Ruche intelligente

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

Page 24: Soutenance Projet EI5 - Ruche intelligente

24

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

Page 25: Soutenance Projet EI5 - Ruche intelligente

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

Page 26: Soutenance Projet EI5 - Ruche intelligente

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

Page 27: Soutenance Projet EI5 - Ruche intelligente

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

Page 28: Soutenance Projet EI5 - Ruche intelligente

28

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

Page 29: Soutenance Projet EI5 - Ruche intelligente

29

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

Page 30: Soutenance Projet EI5 - Ruche intelligente

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

Page 31: Soutenance Projet EI5 - Ruche intelligente

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

Page 32: Soutenance Projet EI5 - Ruche intelligente

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

Page 33: Soutenance Projet EI5 - Ruche intelligente

33

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

Page 34: Soutenance Projet EI5 - Ruche intelligente

34

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