![Page 1: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/1.jpg)
Projet Bee-Honey’tRevue Finale
Enzo RossiBTS SN-IR
La Salle Avignon
1
![Page 2: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/2.jpg)
Sommaire
❏ Expression du besoin❏ Présentation du projet❏ Cahier des charges❏ Ressources logicielles❏ Répartition des itérations❏ Planification du projet❏ Convention de nommage❏ Partie personnelle : Diagramme de cas d’utilisation (Apiculteur)❏ IHM❏ Spécifications techniques❏ Envoie des données❏ Récupération des données❏ Extraire les données❏ Diagramme de classes❏ Recevoir et afficher les données de température et d’humidité intérieures de la ruche❏ Réception et enregistrement des mesures intérieures❏ Enregistrement des mesures intérieures toutes les heures❏ Création et suppression d’une ruche❏ Tests de validation❏ Transmission sans fil❏ Conclusion
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 2
![Page 3: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/3.jpg)
Expression du besoin
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 3
![Page 4: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/4.jpg)
Présentation du projet
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 4
![Page 5: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/5.jpg)
Cahier des charges
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 5
Étudiant 3 IR
Enzo ROSSI
- Gérer les ruches : Paramétrer une nouvelle ruche
- Consulter les données d'une ruche (température, humidité, pression atmosphérique, et ensoleillement)
- Recevoir les données des ruches
- Enregistrer les données dans la base de données
![Page 6: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/6.jpg)
Ressources logicielles du projet
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 6
Désignation Caractéristiques
Système d'exploitation du PC GNU/Linux Ubuntu 16.04 LTS
Base de données MySQL
Logiciel de gestion de versions subversion (RiouxSVN)
Générateurs de documentation Doxygen version 1.8
Environnement de développement Qt Creator et Qt Designer
API GUI Qt 5.5.1
![Page 7: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/7.jpg)
Répartition des itérations
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 7
Tâche Priorité Itération
Recevoir les données des ruches
haute 1
Consulter les données d'une ruche (température, humidité, pression atmosphérique, et ensoleillement)
moyenne 1
Gérer les ruches : Paramétrer une nouvelle ruche
haute 2
Enregistrer les données dans la base de données
moyenne 3
![Page 8: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/8.jpg)
Planification du projet
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 8
![Page 9: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/9.jpg)
Planification du projet
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 9
![Page 10: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/10.jpg)
Convention de nommage
Nom des classes : NomDesClassesNom des variables (attributs) : nomDesVariables (un nom et un qualificatif si besoin)Nom des fonctions (méthodes) : nomDesFonctions (un verbe à l’infinitif ou à l’indicatif)Nom des fichiers : nomDesFichiers
Exemple :
void Ruche::extraireDonnees(PortsTTn port, QByteArray messageTTN)
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 10
![Page 11: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/11.jpg)
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 11
Partie personnelle Diagramme de cas d’utilisation Apiculteur
![Page 12: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/12.jpg)
IHM version Finale
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 12
![Page 13: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/13.jpg)
IHM version Finale
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 13
![Page 14: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/14.jpg)
IHM version Finale
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 14
![Page 15: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/15.jpg)
IHM version Finale
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15
![Page 16: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/16.jpg)
Spécifications techniquestableau Fports
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 16
Fport Nom Mesures IR
1 portMesureEnergie tension,courant,charge MELLAH F.
2 portMesurePoids poids MELLAH F.
3 portMesureRuche température,humidité (intérieur) Enzo ROSSI
4 portMesureEnvironement température, humidité,pression atmosphérique(extérieur)
Enzo ROSSI
5 portMesureEnsoleillement ensoleillement Enzo ROSSI
![Page 17: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/17.jpg)
Envoie des données
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 17
Application clienteServeur TTN
Données au format JSON
{ "app_id":"mes_ruches", "dev_id":"ruche_1", "port":3, ... "metadata":{"..."}}
![Page 18: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/18.jpg)
Récupération des donnéesSolution n°1 : non retenue
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 18
"port":3
Température intérieureHumidité intérieurecodées sur 16 bits
Données encodées en Base64{ ... "payload_raw":"CAwSwA==" ...}
Chaque application cliente :
1. extrait le champ “payload_raw”2. décode la valeur Base643. extrait la température et
l’humidité
![Page 19: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/19.jpg)
Récupération des donnéesSolution n°2 : retenue
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 19
Chaque application cliente :
1. extrait l’objet “payload_fields”
2. extrait les champs température et l’humidité
Température et Humidité codées sur 16 bits function Decoder(bytes, port) {
var decoded = {};
switch (port) {
case 3: // DHT22
decoded.temperature = ((bytes[0]<<8) + bytes[1])/100;
decoded.humidite = ((bytes[2]<<8) + bytes[3])/100;
break;
}
return decoded;
}
{ ... "payload_fields":
{
"humidite":48,
"temperature":20.6
}
...}
![Page 20: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/20.jpg)
Extraire les données
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 20
QJsonDocument documentJSON = QJsonDocument::fromJson(message);
QJsonObject objetJSON = documentJSON.object();
objetJSON.value("payload_fields").toObject().value("temperature").toDouble();
{ ... "payload_fields":
{
"humidite":48,
"temperature":20.6
}
...}
![Page 21: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/21.jpg)
Diagramme de classes
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 21
![Page 22: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/22.jpg)
Recevoir et afficher les données de température et d’humidité intérieures de la ruche
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 22
![Page 23: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/23.jpg)
Réception et enregistrement des mesures intérieures
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 23
![Page 24: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/24.jpg)
Requête Sql
INSERT INTO MesuresRuche (idRuche, Temperature, Humidite, Horodatage)
VALUES (...)
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 24
![Page 25: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/25.jpg)
Enregistrement des mesures intérieures toutes les heures
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 25
![Page 26: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/26.jpg)
Requêtes Sql
Enregistrement :
INSERT INTO MesuresJournalieresRuche (MesuresJournalieresRuche.idRuche,
MesuresJournalieresRuche.Temperature, MesuresJournalieresRuche.TemperatureMin,
MesuresJournalieresRuche.TemperatureMax, MesuresJournalieresRuche.Humidite,
MesuresJournalieresRuche.HumiditeMin, MesuresJournalieresRuche.HumiditeMax,
MesuresJournalieresRuche.DateMesure, MesuresJournalieresRuche.HeureMesure) VALUES (...)
Affichage:
SELECT Temperature, Humidite, HeureMesure FROM MesuresJournalieresRuche WHERE DateMesure = '" +
dateCourante.toString("yyyy-MM-dd") + "' AND idRuche = '" + mesRuches[positionDeLaRuche].at(0)
+ "' ORDER BY HeureMesure ASC";
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 26
![Page 27: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/27.jpg)
Création et suppression d’une ruche
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 27
INSERT INTO Ruche INSERT (idTTN, Nom, Description, DateMiseEnService, Adresse,
Longitude, Latitude, DeviceID) VALUES (...)
INSERT INTO Seuils (idRuche, TemperatureIntMin, TemperatureIntMax, HumiditeIntMin,
HumiditeIntMax, TemperatureExtMin, TemperatureExtMax, HumiditeExtMin, HumiditeExtMax,
PressionMin, PressionMax, PoidsMin, PoidsMax, EnsoleillementMin, EnsoleillementMax,
Charge) VALUES (...)
SELECT Ruche.idRuche, Ruche.Nom, Ruche.DeviceID, TTN.idTTN, TTN.Hostname, TTN.Port,
TTN.Username, TTN.Password, TTN.ApplicationID, Ruche.Adresse, Ruche.DateMiseEnService,
Ruche.Longitude, Ruche.Latitude FROM Ruche INNER JOIN TTN ON Ruche.idTTN = TTN.idTTN;
DELETE FROM Ruche WHERE Ruche.DeviceId = "id de la ruche sélectionnée"
![Page 28: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/28.jpg)
Tests de validation
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 28
Désignation Résultat attendu Oui / Non
Recevoir les données des ruches Recevoir les données des ruches
Oui
Consulter les données d'une ruche(température, humidité, pressionatmosphérique, et ensoleillement)
Visualiser les mesures avec leur unité sur l’IHM
Oui
Gérer les ruches : Paramétrer une nouvelle ruche
Créer ou supprimer une ruche
Oui
Enregistrer les données de (température, humidité, pressionatmosphérique, et ensoleillement)
Enregistrer les données dans la base de données
Oui
![Page 29: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/29.jpg)
Transmission sans fil
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 29
![Page 30: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/30.jpg)
Conclusion
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 30
Tâches : prochaine itération 1.1
Intégrer les seuils des alertes aux différentes courbes
![Page 31: Projet Bee-Honey’t Revue Finaletvaira.free.fr/projets/cdc-2019/presentation-rossi-2019.pdf · IHM version Finale Projet Bee-Honey’t - Revue finale - Enzo ROSSI 15. Spécifications](https://reader030.vdocuments.site/reader030/viewer/2022041104/5f0512867e708231d4111f3b/html5/thumbnails/31.jpg)
Je vous remercie de votre écoute
Projet Bee-Honey’t - Revue finale - Enzo ROSSI 31