BeeHoneyt  1.1
BTS SNIR LaSalle Avignon 2021
Référence de la classe IHMPc

Déclaration de la classe IHMPc. Plus de détails...

#include <ihmpc.h>

Graphe de collaboration de IHMPc:
Collaboration graph

Fonctions membres publiques

 IHMPc (QWidget *parent=nullptr)
 Constructeur de la classe IHMPc. Plus de détails...
 
 ~IHMPc ()
 Destructeur de la classe IHMPc. Plus de détails...
 

Connecteurs privés

void afficherAlerteHumiditeExterieure (double humidite)
 Methode qui affiche (ou pas) un temoin lumineu d'alerte pour l'humidite exterieure. Plus de détails...
 
void afficherAlerteHumiditeInterieure (double humidite)
 Methode qui affiche (ou pas) un temoin lumineu d'alerte pour l'humidite interieure. Plus de détails...
 
void afficherAlertePoids (double poids)
 Methode qui affiche (ou pas) un temoin lumineu d'alerte pour le poids. Plus de détails...
 
void afficherAlertePression (double pression)
 Methode qui affiche (ou pas) un temoin lumineu d'alerte pour la pression. Plus de détails...
 
void afficherAlerteTemperatureExterieure (double temperature)
 Methode qui affiche (ou pas) un temoin lumineu d'alerte pour la temperature exterieure. Plus de détails...
 
void afficherAlerteTemperatureInterieure (double temperature)
 Methode qui affiche (ou pas) un temoin lumineu d'alerte pour la temperature interieure. Plus de détails...
 
void afficherEtatConnecte ()
 Méthode qui affiche l'état de la connexion (connecté), à partir d'une image en haut à droite. Plus de détails...
 
void afficherEtatDeconnecte ()
 Méthode qui affiche l'état de la connexion (deconnecté), à partir d'une image en haut à droite. Plus de détails...
 
void afficherGraphiqueHumiditeExterieure ()
 Méthode qui affiche le graphique pour l'humidite exterieure. Plus de détails...
 
void afficherGraphiqueHumiditeInterieure ()
 Méthode qui affiche le graphique pour l'humidite interieure. Plus de détails...
 
void afficherGraphiquePoids ()
 Méthode qui affiche le graphique pour le poids. Plus de détails...
 
void afficherGraphiquePression ()
 Méthode qui affiche le graphique pour la pression. Plus de détails...
 
void afficherGraphiqueTemperatureExterieure ()
 Méthode qui affiche le graphique pour la temperature exterieure. Plus de détails...
 
void afficherGraphiqueTemperatureInterieure ()
 Méthode qui affiche le graphique pour la temperature interieure. Plus de détails...
 
void afficherHorodatage (QString horodatage)
 Méthode qui affiche l'horodatage. Plus de détails...
 
void afficherHumiditeExterieure (double humiditeExterieure=0., QString uniteHumidite=QString(" %")) const
 Méthode qui affiche l'humidite interieure. Plus de détails...
 
void afficherHumiditeInterieure (double humiditeInterieure=0., QString uniteHumidite=QString(" %")) const
 Méthode qui affiche l'humidite interieure. Plus de détails...
 
void afficherNouvellesMesures (MesureRuche mesure)
 Méthode qui affiche les nouvelles mesures. Plus de détails...
 
void afficherPoids (double poids=0., QString unitePoids=QString(" Kg")) const
 Méthode qui affiche le poids. Plus de détails...
 
void afficherPression (double pression=0., QString unitePression=QString(" hPa")) const
 Méthode qui affiche la pression. Plus de détails...
 
void afficherTemperatureExterieure (double temperatureExterieure=0., QString uniteTemperature=QString(" °C")) const
 Méthode qui affiche la temperature exterieure. Plus de détails...
 
void afficherTemperatureInterieure (double temperatureInterieure=0., QString uniteTemperature=QString(" °C")) const
 Méthode qui affiche la temperature interieure. Plus de détails...
 
void configurerAlertes ()
 Methode qui permet la configuration des seuils d'alertes. Plus de détails...
 
void configurerConnexionTTN ()
 Methode qui permet la configuration de l'acces TTN. Plus de détails...
 
void gererChangementOnglet (int)
 Methode qui gere le changement d'onglet selon l'index. Plus de détails...
 
void gererConnexionTTN ()
 Methode qui permet la gestion de la connexion au TTN. Plus de détails...
 
void journaliser (QString message)
 Methode qui ajoute le message dans l'onglet journal. Plus de détails...
 
void ouvrirFenetreAjouter ()
 Méthode qui ouvre une fenetre de dialogue pour ajouter une ruche : nom et deviceID. Plus de détails...
 
void rechargerGraphique ()
 Methode qui recharge le graphique à l'heure actuelle. Plus de détails...
 
void selectionnerGraphique ()
 Methode qui gere la selection du graphique. Plus de détails...
 
void selectionnerRuche ()
 Méthode qui selectionne la ruche (s'abonne) et se desabonne de l'ancienne : renitialisation des valeurs. Plus de détails...
 
void supprimerRuche ()
 Méthode qui supprime une ruche, dans la listedeRucheSelectionnee et dans le vector rucher<> Plus de détails...
 
void verifierAlertes (MesureRuche mesure)
 Methode qui verifie si les seuils sont depasses. Plus de détails...
 

Fonctions membres privées

void creerGraphique ()
 Méthode qui crée et initialise la vue pour les graphiques. Plus de détails...
 
void creerRucher ()
 Méthode qui créer un rucher. Plus de détails...
 
void initialiserAlertes ()
 Methode qui initialise les seuils d'alertes. Plus de détails...
 
void initialiserGestionEvenements ()
 Méthode qui intialise les évenements. Plus de détails...
 
void initialiserGraphiqueHumiditeExterieure ()
 Méthode qui initialise le graphique pour l'humidite exterieure. Plus de détails...
 
void initialiserGraphiqueHumiditeInterieure ()
 Méthode qui initialise le graphique pour l'humidite interieure. Plus de détails...
 
void initialiserGraphiquePoids ()
 Méthode qui initialise le graphique pour le poids. Plus de détails...
 
void initialiserGraphiquePression ()
 Méthode qui initialise le graphique pour la pression. Plus de détails...
 
void initialiserGraphiqueTemperatureExterieure ()
 Méthode qui initialise le graphique pour la temperature exterieure. Plus de détails...
 
void initialiserGraphiqueTemperatureInterieure ()
 Méthode qui initialise le graphique pour la temperature interieure. Plus de détails...
 
void initialiserIHM ()
 Méthode qui initialise l'IHM. Plus de détails...
 

Attributs privés

Alertes alertes
 
CommunicationcommunicationTTN
 Pointeur sur l'objet Communication. Plus de détails...
 
QLineSeries * courbeHumiditeExt
 Les données sous forme de courbe. Plus de détails...
 
QLineSeries * courbeHumiditeInt
 Les données sous forme de courbe. Plus de détails...
 
QLineSeries * courbePoids
 Les données sous forme de courbe. Plus de détails...
 
QLineSeries * courbePression
 Les données sous forme de courbe. Plus de détails...
 
QLineSeries * courbeTemperatureExt
 Les données sous forme de courbe. Plus de détails...
 
QLineSeries * courbeTemperatureInt
 Les données sous forme de courbe. Plus de détails...
 
QChart * grapheHumiditeExt
 la représentation du graphe Plus de détails...
 
QChart * grapheHumiditeInt
 la représentation du graphe Plus de détails...
 
QChart * graphePoids
 la représentation du graphe Plus de détails...
 
QChart * graphePression
 la représentation du graphe Plus de détails...
 
QChart * grapheTemperatureExt
 la représentation du graphe Plus de détails...
 
QChart * grapheTemperatureInt
 la représentation du graphe Plus de détails...
 
QChartView * graphique
 widget pour afficher le graphe Plus de détails...
 
Historiquehistorique
 Pointeur sur l'objet Historique. Plus de détails...
 
int indexRucheSelectionnee
 L'index courant de la ruche sélectionnée. Plus de détails...
 
QComboBox * listeGraphiques
 
QVector< Ruche * > rucher
 Les ruches de l'apiculteur. Plus de détails...
 
Ui::IHMPc * ui
 Association vers l'interface utilisateur (Qt Designer) Plus de détails...
 

Description détaillée

Déclaration de la classe IHMPc.

Cette classe s'occupe de l'affichage de l'application beehoneyt

LastChangedRevision
173
LastChangedDate
2021-06-16 21:44:50 +0200 (mer. 16 juin 2021)

Définition à la ligne 76 du fichier ihmpc.h.

Documentation des constructeurs et destructeur

◆ IHMPc()

IHMPc::IHMPc ( QWidget *  parent = nullptr)

Constructeur de la classe IHMPc.

Paramètres
parentL'adresse de l'objet parent, si nullptr IHMPc => fenêtre principale

Définition à la ligne 29 du fichier ihmpc.cpp.

Références communicationTTN, Communication::connecter(), creerRucher(), Communication::getPassword(), Communication::getUsername(), historique, initialiserAlertes(), initialiserGestionEvenements(), initialiserIHM(), et Historique::setAuthentification().

29  : QMainWindow(parent),
30  ui(new Ui::IHMPc),
32  historique(new Historique(this)),
34 {
35  qDebug() << Q_FUNC_INFO;
36 
38 
39  creerRucher();
40 
42 
44 
46 
47  QString url = "https://" + communicationTTN->getUsername() + ".data.thethingsnetwork.org";
49 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
QString getPassword() const
Methode qui retourne le mot de passe.
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
void initialiserGestionEvenements()
Méthode qui intialise les évenements.
Definition: ihmpc.cpp:333
void creerRucher()
Méthode qui créer un rucher.
Definition: ihmpc.cpp:311
void initialiserIHM()
Méthode qui initialise l&#39;IHM.
Definition: ihmpc.cpp:296
void initialiserAlertes()
Methode qui initialise les seuils d&#39;alertes.
Definition: ihmpc.cpp:359
void connecter()
Méthode qui connecte le client Mqtt (par défaut) et permet la récupération du message (à l&#39;aide de la...
Déclaration de la classe Historique.
Definition: historique.h:26
Communication * communicationTTN
Pointeur sur l&#39;objet Communication.
Definition: ihmpc.h:86
void setAuthentification(QString url, QString cle)
Methode qui modifie l&#39;URL et la clé
Definition: historique.cpp:34
QString getUsername() const
Methode qui retourne le nom d&#39;utilisateur.
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89

◆ ~IHMPc()

IHMPc::~IHMPc ( )

Destructeur de la classe IHMPc.

Définition à la ligne 55 du fichier ihmpc.cpp.

Références communicationTTN, Communication::desabonner(), indexRucheSelectionnee, rucher, et ui.

56 {
57  if(indexRucheSelectionnee > -1)
59  delete ui;
60  qDebug() << Q_FUNC_INFO;
61 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
void desabonner(QString deviceID)
Méthode qui désabonne le client Mqtt , à partir du deviceID.
Communication * communicationTTN
Pointeur sur l&#39;objet Communication.
Definition: ihmpc.h:86
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

Documentation des fonctions membres

◆ afficherAlerteHumiditeExterieure

void IHMPc::afficherAlerteHumiditeExterieure ( double  humidite)
privateslot

Methode qui affiche (ou pas) un temoin lumineu d'alerte pour l'humidite exterieure.

Paramètres
humidite

Définition à la ligne 231 du fichier ihmpc.cpp.

Références alertes, ui, et Alertes::verifierHumiditeExterieure().

Référencé par verifierAlertes().

232 {
233  if(alertes.verifierHumiditeExterieure(humidite))
234  {
235  ui->labelAlerteHumiditeExterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
236  }
237  else
238  {
239  ui->labelAlerteHumiditeExterieure->setPixmap(QPixmap(QDir::currentPath() + "/images/attention-rouge.png"));
240  }
241 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
bool verifierHumiditeExterieure(double humidite) const
Definition: alertes.cpp:111
Alertes alertes
Definition: ihmpc.h:106

◆ afficherAlerteHumiditeInterieure

void IHMPc::afficherAlerteHumiditeInterieure ( double  humidite)
privateslot

Methode qui affiche (ou pas) un temoin lumineu d'alerte pour l'humidite interieure.

Paramètres
humidite

Définition à la ligne 247 du fichier ihmpc.cpp.

Références alertes, ui, et Alertes::verifierHumiditeInterieure().

Référencé par verifierAlertes().

248 {
249  if(alertes.verifierHumiditeInterieure(humidite))
250  {
251  ui->labelAlerteHumiditeInterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
252  }
253  else
254  {
255  ui->labelAlerteHumiditeInterieure->setPixmap(QPixmap(QDir::currentPath() + "/images/attention-rouge.png"));
256  }
257 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
Alertes alertes
Definition: ihmpc.h:106
bool verifierHumiditeInterieure(double humidite) const
Methode qui verifie l&#39;humidite interieure.
Definition: alertes.cpp:128

◆ afficherAlertePoids

void IHMPc::afficherAlertePoids ( double  poids)
privateslot

Methode qui affiche (ou pas) un temoin lumineu d'alerte pour le poids.

Paramètres
poids

Définition à la ligne 263 du fichier ihmpc.cpp.

Références alertes, ui, et Alertes::verifierPoids().

Référencé par verifierAlertes().

264 {
265  if(alertes.verifierPoids(poids))
266  {
267  ui->labelAlertePoids->setPixmap(QPixmap(QDir::currentPath() + ""));
268  }
269  else
270  {
271  ui->labelAlertePoids->setPixmap(QPixmap(QDir::currentPath() + "/images/attention-rouge.png"));
272  }
273 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
bool verifierPoids(double poids) const
Methode qui verifie le poids.
Definition: alertes.cpp:140
Alertes alertes
Definition: ihmpc.h:106

◆ afficherAlertePression

void IHMPc::afficherAlertePression ( double  pression)
privateslot

Methode qui affiche (ou pas) un temoin lumineu d'alerte pour la pression.

Paramètres
pression

Définition à la ligne 279 du fichier ihmpc.cpp.

Références alertes, ui, et Alertes::verifierPression().

Référencé par verifierAlertes().

280 {
281  if(alertes.verifierPression(pression))
282  {
283  ui->labelAlertePression->setPixmap(QPixmap(QDir::currentPath() + ""));
284  }
285  else
286  {
287  ui->labelAlertePression->setPixmap(QPixmap(QDir::currentPath() + "/images/attention-rouge.png"));
288  }
289 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
Alertes alertes
Definition: ihmpc.h:106
bool verifierPression(double pression) const
Definition: alertes.cpp:157

◆ afficherAlerteTemperatureExterieure

void IHMPc::afficherAlerteTemperatureExterieure ( double  temperature)
privateslot

Methode qui affiche (ou pas) un temoin lumineu d'alerte pour la temperature exterieure.

Paramètres
temperature

Définition à la ligne 199 du fichier ihmpc.cpp.

Références alertes, ui, et Alertes::verifierTemperatureExterieure().

Référencé par verifierAlertes().

200 {
201  if(alertes.verifierTemperatureExterieure(temperature))
202  {
203  ui->labelAlerteTemperatureExterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
204  }
205  else
206  {
207  ui->labelAlerteTemperatureExterieure->setPixmap(QPixmap(QDir::currentPath() + "/images/attention-rouge.png"));
208  }
209 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
Alertes alertes
Definition: ihmpc.h:106
bool verifierTemperatureExterieure(double temperature) const
Definition: alertes.cpp:76

◆ afficherAlerteTemperatureInterieure

void IHMPc::afficherAlerteTemperatureInterieure ( double  temperature)
privateslot

Methode qui affiche (ou pas) un temoin lumineu d'alerte pour la temperature interieure.

Paramètres
temperature

Définition à la ligne 215 du fichier ihmpc.cpp.

Références alertes, ui, et Alertes::verifierTemperatureInterieure().

Référencé par verifierAlertes().

216 {
217  if(alertes.verifierTemperatureInterieure(temperature))
218  {
219  ui->labelAlerteTemperatureInterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
220  }
221  else
222  {
223  ui->labelAlerteTemperatureInterieure->setPixmap(QPixmap(QDir::currentPath() + "/images/attention-rouge.png"));
224  }
225 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
bool verifierTemperatureInterieure(double temperature) const
Methode qui verifie la temperature interieure.
Definition: alertes.cpp:93
Alertes alertes
Definition: ihmpc.h:106

◆ afficherEtatConnecte

void IHMPc::afficherEtatConnecte ( )
privateslot

Méthode qui affiche l'état de la connexion (connecté), à partir d'une image en haut à droite.

Renvoie
void : une led verte

Définition à la ligne 146 du fichier ihmpc.cpp.

Références Communication::abonner(), communicationTTN, indexRucheSelectionnee, rucher, et ui.

Référencé par initialiserGestionEvenements().

147 {
148  ui->boutonTTN->setText("Déconnecter");
149  ui->labelEtatConnexion->setPixmap(QPixmap(QDir::currentPath() + "/images/boutton_vert.png"));
150  qDebug() << Q_FUNC_INFO << "Ruche sélectionnée (connectee)" << ui->listeRuches->currentText() << rucher[ui->listeRuches->currentIndex()]->getDeviceID();
151  indexRucheSelectionnee = ui->listeRuches->currentIndex();
152  communicationTTN->abonner(rucher[ui->listeRuches->currentIndex()]->getDeviceID());
153 }
bool abonner(QString deviceID)
Méthode qui abonne le client Mqtt à un topic , à partir du deviceID.
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
Communication * communicationTTN
Pointeur sur l&#39;objet Communication.
Definition: ihmpc.h:86
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

◆ afficherEtatDeconnecte

void IHMPc::afficherEtatDeconnecte ( )
privateslot

Méthode qui affiche l'état de la connexion (deconnecté), à partir d'une image en haut à droite.

Renvoie
void : une led rouge

Définition à la ligne 160 du fichier ihmpc.cpp.

Références rucher, et ui.

Référencé par initialiserGestionEvenements().

161 {
162  ui->boutonTTN->setText("Connecter");
163  ui->labelHorodatage->setText("");
164  ui->lcdTemperatureInterieure->display(0.);
165  ui->lcdTemperatureExterieure->display(0.);
166  ui->lcdHumiditeInterieure->display(0.);
167  ui->lcdHumiditeExterieure->display(0.);
168  ui->lcdPoids->display(0.);
169  ui->lcdPression->display(0.);
170  ui->labelAlerteTemperatureExterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
171  ui->labelAlerteTemperatureInterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
172  ui->labelAlerteHumiditeExterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
173  ui->labelAlerteHumiditeInterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
174  ui->labelAlertePoids->setPixmap(QPixmap(QDir::currentPath() + ""));
175  ui->labelAlertePression->setPixmap(QPixmap(QDir::currentPath() + ""));
176 
177  ui->labelEtatConnexion->setPixmap(QPixmap(QDir::currentPath() + "/images/boutton_rouge.png"));
178  qDebug() << Q_FUNC_INFO << "Ruche sélectionnée (deconnectee)" << ui->listeRuches->currentText() << rucher[ui->listeRuches->currentIndex()]->getDeviceID();
179 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

◆ afficherGraphiqueHumiditeExterieure

void IHMPc::afficherGraphiqueHumiditeExterieure ( )
privateslot

Méthode qui affiche le graphique pour l'humidite exterieure.

Définition à la ligne 1049 du fichier ihmpc.cpp.

Références courbeHumiditeExt, Historique::getMesuresHumiditeExterieure(), grapheHumiditeExt, graphique, et historique.

Référencé par selectionnerGraphique().

1050 {
1051  QVector<QStringList> mesures = historique->getMesuresHumiditeExterieure();
1052  qDebug() << Q_FUNC_INFO << "Nb mesures humidite exterieure" << mesures.size();
1053  qDebug() << Q_FUNC_INFO << "mesures humidite exterieure" << mesures;
1054 
1055  courbeHumiditeExt->clear();
1056  for(QVector<QStringList>::iterator it = mesures.begin(); it != mesures.end(); it++)
1057  {
1058  //qDebug() << Q_FUNC_INFO << "heure" << (*it).at(0).toInt() << "mesure" << (*it).at(1).toDouble();
1059  courbeHumiditeExt->append((*it).at(0).toInt(), (*it).at(1).toDouble());
1060  }
1061 
1062  graphique->setChart(grapheHumiditeExt);
1063  graphique->update();
1064 }
QChart * grapheHumiditeExt
la représentation du graphe
Definition: ihmpc.h:102
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
QVector< QStringList > getMesuresHumiditeExterieure() const
Methode qui retourne un conteneur dynamique, contenant les mesures de l&#39;humidite exterieure.
Definition: historique.cpp:115
QLineSeries * courbeHumiditeExt
Les données sous forme de courbe.
Definition: ihmpc.h:101
QChartView * graphique
widget pour afficher le graphe
Definition: ihmpc.h:92

◆ afficherGraphiqueHumiditeInterieure

void IHMPc::afficherGraphiqueHumiditeInterieure ( )
privateslot

Méthode qui affiche le graphique pour l'humidite interieure.

Définition à la ligne 1069 du fichier ihmpc.cpp.

Références courbeHumiditeInt, Historique::getMesuresHumiditeInterieure(), grapheHumiditeInt, graphique, et historique.

Référencé par selectionnerGraphique().

1070 {
1071  QVector<QStringList> mesures = historique->getMesuresHumiditeInterieure();
1072  qDebug() << Q_FUNC_INFO << "Nb mesures humidite interieure" << mesures.size();
1073  qDebug() << Q_FUNC_INFO << "mesures humidite interieure" << mesures;
1074 
1075  courbeHumiditeInt->clear();
1076  for(QVector<QStringList>::iterator it = mesures.begin(); it != mesures.end(); it++)
1077  {
1078  //qDebug() << Q_FUNC_INFO << "heure" << (*it).at(0).toInt() << "mesure" << (*it).at(1).toDouble();
1079  courbeHumiditeInt->append((*it).at(0).toInt(), (*it).at(1).toDouble());
1080  }
1081 
1082  graphique->setChart(grapheHumiditeInt);
1083  graphique->update();
1084 }
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
QLineSeries * courbeHumiditeInt
Les données sous forme de courbe.
Definition: ihmpc.h:103
QVector< QStringList > getMesuresHumiditeInterieure() const
Methode qui retourne un conteneur dynamique, contenant les mesures de l&#39;humidite interieure.
Definition: historique.cpp:124
QChartView * graphique
widget pour afficher le graphe
Definition: ihmpc.h:92
QChart * grapheHumiditeInt
la représentation du graphe
Definition: ihmpc.h:104

◆ afficherGraphiquePoids

void IHMPc::afficherGraphiquePoids ( )
privateslot

Méthode qui affiche le graphique pour le poids.

Définition à la ligne 969 du fichier ihmpc.cpp.

Références courbePoids, Historique::getMesuresPoids(), graphePoids, graphique, et historique.

Référencé par selectionnerGraphique().

970 {
971  QVector<QStringList> mesures = historique->getMesuresPoids();
972  qDebug() << Q_FUNC_INFO << "Nb mesures poids" << mesures.size();
973  qDebug() << Q_FUNC_INFO << "mesures poids" << mesures;
974 
975  courbePoids->clear();
976  for(QVector<QStringList>::iterator it = mesures.begin(); it != mesures.end(); it++)
977  {
978  //qDebug() << Q_FUNC_INFO << "heure" << (*it).at(0).toInt() << "mesure" << (*it).at(1).toDouble();
979  courbePoids->append((*it).at(0).toInt(), (*it).at(1).toDouble());
980  }
981 
982  graphique->setChart(graphePoids);
983  graphique->update();
984 }
QChart * graphePoids
la représentation du graphe
Definition: ihmpc.h:93
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
QVector< QStringList > getMesuresPoids() const
Methode qui retourne un conteneur dynamique, contenant les mesures du poids.
Definition: historique.cpp:79
QChartView * graphique
widget pour afficher le graphe
Definition: ihmpc.h:92
QLineSeries * courbePoids
Les données sous forme de courbe.
Definition: ihmpc.h:94

◆ afficherGraphiquePression

void IHMPc::afficherGraphiquePression ( )
privateslot

Méthode qui affiche le graphique pour la pression.

Définition à la ligne 989 du fichier ihmpc.cpp.

Références courbePression, Historique::getMesuresPression(), graphePression, graphique, et historique.

Référencé par selectionnerGraphique().

990 {
991  QVector<QStringList> mesures = historique->getMesuresPression();
992  qDebug() << Q_FUNC_INFO << "Nb mesures pression" << mesures.size();
993  qDebug() << Q_FUNC_INFO << "mesures pression" << mesures;
994 
995  courbePression->clear();
996  for(QVector<QStringList>::iterator it = mesures.begin(); it != mesures.end(); it++)
997  {
998  //qDebug() << Q_FUNC_INFO << "heure" << (*it).at(0).toInt() << "mesure" << (*it).at(1).toDouble();
999  courbePression->append((*it).at(0).toInt(), (*it).at(1).toDouble());
1000  }
1001 
1002  graphique->setChart(graphePression);
1003  graphique->update();
1004 }
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
QVector< QStringList > getMesuresPression() const
Methode qui retourne un conteneur dynamique, contenant les mesures de la pression.
Definition: historique.cpp:88
QChartView * graphique
widget pour afficher le graphe
Definition: ihmpc.h:92
QLineSeries * courbePression
Les données sous forme de courbe.
Definition: ihmpc.h:96
QChart * graphePression
la représentation du graphe
Definition: ihmpc.h:95

◆ afficherGraphiqueTemperatureExterieure

void IHMPc::afficherGraphiqueTemperatureExterieure ( )
privateslot

Méthode qui affiche le graphique pour la temperature exterieure.

Définition à la ligne 1009 du fichier ihmpc.cpp.

Références courbeTemperatureExt, Historique::getMesuresTemperatureExterieure(), grapheTemperatureExt, graphique, et historique.

Référencé par selectionnerGraphique().

1010 {
1011  QVector<QStringList> mesures = historique->getMesuresTemperatureExterieure();
1012  qDebug() << Q_FUNC_INFO << "Nb mesures temperature exterieure" << mesures.size();
1013  qDebug() << Q_FUNC_INFO << "mesures termperature exterieure" << mesures;
1014 
1015  courbeTemperatureExt->clear();
1016  for(QVector<QStringList>::iterator it = mesures.begin(); it != mesures.end(); it++)
1017  {
1018  //qDebug() << Q_FUNC_INFO << "heure" << (*it).at(0).toInt() << "mesure" << (*it).at(1).toDouble();
1019  courbeTemperatureExt->append((*it).at(0).toInt(), (*it).at(1).toDouble());
1020  }
1021 
1022  graphique->setChart(grapheTemperatureExt);
1023  graphique->update();
1024 }
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
QChart * grapheTemperatureExt
la représentation du graphe
Definition: ihmpc.h:98
QLineSeries * courbeTemperatureExt
Les données sous forme de courbe.
Definition: ihmpc.h:97
QVector< QStringList > getMesuresTemperatureExterieure() const
Methode qui retourne un conteneur dynamique, contenant les mesures de la temperature exterieure...
Definition: historique.cpp:97
QChartView * graphique
widget pour afficher le graphe
Definition: ihmpc.h:92

◆ afficherGraphiqueTemperatureInterieure

void IHMPc::afficherGraphiqueTemperatureInterieure ( )
privateslot

Méthode qui affiche le graphique pour la temperature interieure.

Définition à la ligne 1029 du fichier ihmpc.cpp.

Références courbeTemperatureInt, Historique::getMesuresTemperatureInterieure(), grapheTemperatureInt, graphique, et historique.

Référencé par selectionnerGraphique().

1030 {
1031  QVector<QStringList> mesures = historique->getMesuresTemperatureInterieure();
1032  qDebug() << Q_FUNC_INFO << "Nb mesures temperature interieure" << mesures.size();
1033  qDebug() << Q_FUNC_INFO << "mesures termperature interieure" << mesures;
1034 
1035  courbeTemperatureInt->clear();
1036  for(QVector<QStringList>::iterator it = mesures.begin(); it != mesures.end(); it++)
1037  {
1038  //qDebug() << Q_FUNC_INFO << "heure" << (*it).at(0).toInt() << "mesure" << (*it).at(1).toDouble();
1039  courbeTemperatureInt->append((*it).at(0).toInt(), (*it).at(1).toDouble());
1040  }
1041 
1042  graphique->setChart(grapheTemperatureInt);
1043  graphique->update();
1044 }
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
QChart * grapheTemperatureInt
la représentation du graphe
Definition: ihmpc.h:100
QVector< QStringList > getMesuresTemperatureInterieure() const
Methode qui retourne un conteneur dynamique, contenant les mesures de la temperature interieure...
Definition: historique.cpp:106
QChartView * graphique
widget pour afficher le graphe
Definition: ihmpc.h:92
QLineSeries * courbeTemperatureInt
Les données sous forme de courbe.
Definition: ihmpc.h:99

◆ afficherHorodatage

void IHMPc::afficherHorodatage ( QString  horodatage)
privateslot

Méthode qui affiche l'horodatage.

Paramètres
horodatage
Renvoie
void : un affichage de l'horodatage

Définition à la ligne 536 du fichier ihmpc.cpp.

Références ui.

Référencé par afficherNouvellesMesures().

537 {
538  ui->labelHorodatage->setText(horodatage);
539 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85

◆ afficherHumiditeExterieure

void IHMPc::afficherHumiditeExterieure ( double  humiditeExterieure = 0.,
QString  uniteHumidite = QString("   %") 
) const
privateslot

Méthode qui affiche l'humidite interieure.

Paramètres
humiditeExterieure
uniteHumidite
Renvoie
void : une nouvelle valeur de l'humidite exterieure

Définition à la ligne 109 du fichier ihmpc.cpp.

Références ui.

Référencé par afficherNouvellesMesures().

110 {
111  ui->lcdHumiditeExterieure->display(humiditeExterieure);
112  ui->labelUniteHumiditeExterieure->setText(uniteHumidite);
113 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85

◆ afficherHumiditeInterieure

void IHMPc::afficherHumiditeInterieure ( double  humiditeInterieure = 0.,
QString  uniteHumidite = QString("   %") 
) const
privateslot

Méthode qui affiche l'humidite interieure.

Paramètres
humiditeInterieure
uniteHumidite
Renvoie
void : une nouvelle valeur de l'humidite interieure

Définition à la ligne 96 du fichier ihmpc.cpp.

Références ui.

Référencé par afficherNouvellesMesures().

97 {
98  ui->lcdHumiditeInterieure->display(humiditeInterieure);
99  ui->labelUniteHumiditeInterieure->setText(uniteHumidite);
100 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85

◆ afficherNouvellesMesures

void IHMPc::afficherNouvellesMesures ( MesureRuche  mesure)
privateslot

Méthode qui affiche les nouvelles mesures.

Paramètres
mesure
Renvoie
void : un affichage des valeurs

Définition à la ligne 546 du fichier ihmpc.cpp.

Références afficherHorodatage(), afficherHumiditeExterieure(), afficherHumiditeInterieure(), afficherPoids(), afficherPression(), afficherTemperatureExterieure(), afficherTemperatureInterieure(), MesureRuche::getHorodatage(), MesureRuche::getHumiditeExterieure(), MesureRuche::getHumiditeInterieure(), MesureRuche::getPoids(), MesureRuche::getPression(), MesureRuche::getTemperatureExterieure(), MesureRuche::getTemperatureInterieure(), et verifierAlertes().

Référencé par initialiserGestionEvenements().

547 {
548  if(!mesure.getHorodatage().isEmpty())
549  {
551  afficherPoids(mesure.getPoids());
556  afficherPression(mesure.getPression());
557  verifierAlertes(mesure);
558  }
559 }
void afficherTemperatureInterieure(double temperatureInterieure=0., QString uniteTemperature=QString(" °C")) const
Méthode qui affiche la temperature interieure.
Definition: ihmpc.cpp:70
QString getHorodatage() const
Methode qui retourne la valeur de l&#39;horodatage.
void afficherHumiditeExterieure(double humiditeExterieure=0., QString uniteHumidite=QString(" %")) const
Méthode qui affiche l&#39;humidite interieure.
Definition: ihmpc.cpp:109
double getTemperatureInterieure() const
Methode qui retourne la valeur de la temperature interieure.
void afficherPression(double pression=0., QString unitePression=QString(" hPa")) const
Méthode qui affiche la pression.
Definition: ihmpc.cpp:135
double getHumiditeInterieure() const
Methode qui retourne la valeur de l&#39;humidite interieure.
void afficherTemperatureExterieure(double temperatureExterieure=0., QString uniteTemperature=QString(" °C")) const
Méthode qui affiche la temperature exterieure.
Definition: ihmpc.cpp:83
void afficherPoids(double poids=0., QString unitePoids=QString(" Kg")) const
Méthode qui affiche le poids.
Definition: ihmpc.cpp:122
double getTemperatureExterieure() const
Methode qui retourne la valeur de la temperature exterieure.
double getPression() const
Methode qui retourne la valeur de la pression.
void afficherHorodatage(QString horodatage)
Méthode qui affiche l&#39;horodatage.
Definition: ihmpc.cpp:536
void verifierAlertes(MesureRuche mesure)
Methode qui verifie si les seuils sont depasses.
Definition: ihmpc.cpp:185
void afficherHumiditeInterieure(double humiditeInterieure=0., QString uniteHumidite=QString(" %")) const
Méthode qui affiche l&#39;humidite interieure.
Definition: ihmpc.cpp:96
double getPoids() const
Methode qui retourne la valeur du poids.
double getHumiditeExterieure() const
Methode qui retourne la valeur de l&#39;humidite exterieure.

◆ afficherPoids

void IHMPc::afficherPoids ( double  poids = 0.,
QString  unitePoids = QString("   Kg") 
) const
privateslot

Méthode qui affiche le poids.

Paramètres
poids
unitePoids
Renvoie
void : une nouvelle valeur du poids

Définition à la ligne 122 du fichier ihmpc.cpp.

Références ui.

Référencé par afficherNouvellesMesures().

123 {
124  ui->lcdPoids->display(poids);
125  ui->labelUnitePoids->setText(unitePoids);
126 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85

◆ afficherPression

void IHMPc::afficherPression ( double  pression = 0.,
QString  unitePression = QString("   hPa") 
) const
privateslot

Méthode qui affiche la pression.

Paramètres
pression
unitePression
Renvoie
void : une nouvelle valeur de la pression

Définition à la ligne 135 du fichier ihmpc.cpp.

Références ui.

Référencé par afficherNouvellesMesures().

136 {
137  ui->lcdPression->display(pression);
138  ui->labelUnitePression->setText(unitePression);
139 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85

◆ afficherTemperatureExterieure

void IHMPc::afficherTemperatureExterieure ( double  temperatureExterieure = 0.,
QString  uniteTemperature = QString("   °C") 
) const
privateslot

Méthode qui affiche la temperature exterieure.

Paramètres
temperatureExterieure
uniteTemperature
Renvoie
void : une nouvelle valeur de la temperature exterieure

Définition à la ligne 83 du fichier ihmpc.cpp.

Références ui.

Référencé par afficherNouvellesMesures().

84 {
85  ui->lcdTemperatureExterieure->display(temperatureExterieure);
86  ui->labelUniteTemperatureExterieure->setText(uniteTemperature);
87 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85

◆ afficherTemperatureInterieure

void IHMPc::afficherTemperatureInterieure ( double  temperatureInterieure = 0.,
QString  uniteTemperature = QString("   °C") 
) const
privateslot

Méthode qui affiche la temperature interieure.

Paramètres
temperatureInterieure
uniteTemperature
Renvoie
void : une nouvelle valeur de la temperature interieure

Définition à la ligne 70 du fichier ihmpc.cpp.

Références ui.

Référencé par afficherNouvellesMesures().

71 {
72  ui->lcdTemperatureInterieure->display(temperatureInterieure);
73  ui->labelUniteTemperatureInterieure->setText(uniteTemperature);
74 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85

◆ configurerAlertes

void IHMPc::configurerAlertes ( )
privateslot

Methode qui permet la configuration des seuils d'alertes.

Définition à la ligne 433 du fichier ihmpc.cpp.

Références alertes, journaliser(), Alertes::setHumiditeExterieureMax(), Alertes::setHumiditeExterieureMin(), Alertes::setHumiditeInterieureMax(), Alertes::setHumiditeInterieureMin(), Alertes::setPoidsMax(), Alertes::setPoidsMin(), Alertes::setPressionMax(), Alertes::setPressionMin(), Alertes::setTemperatureExterieureMax(), Alertes::setTemperatureExterieureMin(), Alertes::setTemperatureInterieureMax(), et Alertes::setTemperatureInterieureMin().

Référencé par initialiserGestionEvenements().

434 {
435 
436  double temperatureExterieureMax = QInputDialog::getDouble(this, "Configurer les alertes", "Temperature exterieure maximale : ", QLineEdit::Normal, double());
437  alertes.setTemperatureExterieureMax(temperatureExterieureMax);
438  QString messageTemperature = "Seuils d'alertes changes : temperatures ext. max. = ";
439  messageTemperature.append(QString::number(temperatureExterieureMax));
440 
441  double temperatureExterieureMin = QInputDialog::getDouble(this, "Configurer les alertes", "Temperature exterieure minimale : ", QLineEdit::Normal, double());
442  alertes.setTemperatureExterieureMin(temperatureExterieureMin);
443  messageTemperature += ", temperatures ext. min. = ";
444  messageTemperature.append(QString::number(temperatureExterieureMin));
445 
446  double temperatureInterieureMax = QInputDialog::getDouble(this, "Configurer les alertes", "Temperature interieure maximale : ", QLineEdit::Normal, double());
447  alertes.setTemperatureInterieureMax(temperatureInterieureMax);
448  messageTemperature += ", temperatures int. max. = ";
449  messageTemperature.append(QString::number(temperatureInterieureMax));
450 
451  double temperatureInterieureMin = QInputDialog::getDouble(this, "Configurer les alertes", "Temperature interieure minimale : ", QLineEdit::Normal, double());
452  alertes.setTemperatureInterieureMin(temperatureInterieureMin);
453  messageTemperature += ", temperatures int. min. = ";
454  messageTemperature.append(QString::number(temperatureInterieureMin));
455 
456  journaliser(messageTemperature);
457 
458  double humiditeExterieureMax = QInputDialog::getDouble(this, "Configurer les alertes", "Humidite exterieure maximale : ", QLineEdit::Normal, double());
459  alertes.setHumiditeExterieureMax(humiditeExterieureMax);
460  QString messageHumidite = "Seuils d'alertes changes : humidite ext. max. = ";
461  messageHumidite.append(QString::number(humiditeExterieureMax));
462 
463  double humiditeExterieureMin = QInputDialog::getDouble(this, "Configurer les alertes", "Humidite exterieure minimale : ", QLineEdit::Normal, double());
464  alertes.setHumiditeExterieureMin(humiditeExterieureMin);
465  messageHumidite += ", humidite ext. min. = ";
466  messageHumidite.append(QString::number(humiditeExterieureMin));
467 
468  double humiditeInterieureMax = QInputDialog::getDouble(this, "Configurer les alertes", "Humidite interieure maximale : ", QLineEdit::Normal, double());
469  alertes.setHumiditeInterieureMax(humiditeInterieureMax);
470  messageHumidite += ", humidite int. max. = ";
471  messageHumidite.append(QString::number(humiditeInterieureMax));
472 
473  double humiditeInterieureMin = QInputDialog::getDouble(this, "Configurer les alertes", "Humidite interieure minimale : ", QLineEdit::Normal, double());
474  alertes.setHumiditeInterieureMin(humiditeInterieureMin);
475  messageHumidite += ", humidite int. min. = ";
476  messageHumidite.append(QString::number(humiditeInterieureMin));
477 
478  journaliser(messageHumidite);
479 
480  double pressionMax = QInputDialog::getDouble(this, "Configurer les alertes", "Pression maximale : ", QLineEdit::Normal, double());
481  alertes.setPressionMax(pressionMax);
482  QString messagePression = "Seuils d'alertes changes : pression max. = ";
483  messagePression.append(QString::number(pressionMax));
484 
485  double pressionMin = QInputDialog::getDouble(this, "Configurer les alertes", "Pression minimale : ", QLineEdit::Normal, double());
486  alertes.setPressionMin(pressionMin);
487  messagePression += ", pression min. = ";
488  messagePression.append(QString::number(pressionMin));
489 
490  journaliser(messagePression);
491 
492  double poidsMax = QInputDialog::getDouble(this, "Configurer les alertes", "Poids maximale : ", QLineEdit::Normal, double());
493  alertes.setPoidsMax(poidsMax);
494  QString messagePoids = "Seuils d'alertes changes : poids max. = ";
495  messagePoids.append(QString::number(poidsMax));
496 
497  double poidsMin = QInputDialog::getDouble(this, "Configurer les alertes", "Poids minimale : ", QLineEdit::Normal, double());
498  alertes.setPoidsMin(poidsMin);
499  messagePoids += ", poids min. = ";
500  messagePoids.append(QString::number(poidsMin));
501 
502  journaliser(messagePoids);
503 
504 
505 }
void setPressionMax(double pressionMax)
Methode qui change la pression maximale.
Definition: alertes.cpp:258
void setTemperatureInterieureMax(double temperatureInterieureMax)
Methode qui change la temperature interieure maximale.
Definition: alertes.cpp:178
void setHumiditeExterieureMax(double humiditeExterieureMax)
Methode qui change l&#39;humidite exterieure maximale.
Definition: alertes.cpp:238
void setPressionMin(double pressionMin)
Methode qui change la pression minimale.
Definition: alertes.cpp:268
void setPoidsMin(double poidsMin)
Methode qui change le poids minimale.
Definition: alertes.cpp:288
void setTemperatureInterieureMin(double temperatureInterieureMin)
Methode qui change la temperature interieure minimum.
Definition: alertes.cpp:188
void setTemperatureExterieureMin(double temperatureExterieureMin)
Methode qui change la temperature exterieure minimale.
Definition: alertes.cpp:208
void setHumiditeInterieureMin(double humiditeInterieureMin)
Methode qui change l&#39;humidite interieure minimale.
Definition: alertes.cpp:228
Alertes alertes
Definition: ihmpc.h:106
void setHumiditeExterieureMin(double humiditeExterieureMin)
Methode qui change l&#39;humidite exterieure minimale.
Definition: alertes.cpp:248
void setTemperatureExterieureMax(double temperatureExterieureMax)
Methode qui change la temperature exterieure maximale.
Definition: alertes.cpp:198
void setPoidsMax(double poidsMax)
Methode qui change le poids maximale.
Definition: alertes.cpp:278
void journaliser(QString message)
Methode qui ajoute le message dans l&#39;onglet journal.
Definition: ihmpc.cpp:636
void setHumiditeInterieureMax(double humiditeInterieureMax)
Methode qui change l&#39;humidite interieure maximale.
Definition: alertes.cpp:218

◆ configurerConnexionTTN

void IHMPc::configurerConnexionTTN ( )
privateslot

Methode qui permet la configuration de l'acces TTN.

Définition à la ligne 510 du fichier ihmpc.cpp.

Références communicationTTN, Communication::getHostname(), et Communication::reconnecter().

Référencé par initialiserGestionEvenements().

511 {
512  QString applicationID = QInputDialog::getText(this, "Configuration TTN", "Veuillez entrer l'application ID : ", QLineEdit::Normal, QString());
513  if (!applicationID.isEmpty())
514  {
515  QString motDePasse = QInputDialog::getText(this, "Configuration TTN", "Veuillez entrer la clé : ", QLineEdit::Normal, QString());
516  if(!motDePasse.isEmpty())
517  {
518  communicationTTN->reconnecter(communicationTTN->getHostname(),1883, applicationID, motDePasse);
519  }
520  else
521  {
522  QMessageBox::critical(this, "Configuration TTN", "Champ de mot de passe vide !");
523  }
524  }
525  else
526  {
527  QMessageBox::critical(this, "Configuration TTN", "Champ de l'Application ID vide !");
528  }
529 }
QString getHostname() const
Methode qui retourne le nom d&#39;hote.
Communication * communicationTTN
Pointeur sur l&#39;objet Communication.
Definition: ihmpc.h:86
void reconnecter()
Méthode qui déconnecte puis connecte le client Mqtt.

◆ creerGraphique()

void IHMPc::creerGraphique ( )
private

Méthode qui crée et initialise la vue pour les graphiques.

Définition à la ligne 645 du fichier ihmpc.cpp.

Références graphePoids, graphique, initialiserGraphiqueHumiditeExterieure(), initialiserGraphiqueHumiditeInterieure(), initialiserGraphiquePoids(), initialiserGraphiquePression(), initialiserGraphiqueTemperatureExterieure(), initialiserGraphiqueTemperatureInterieure(), et ui.

Référencé par initialiserIHM().

646 {
647  QHBoxLayout *layoutGraphePoids = new QHBoxLayout;
648 
655 
656  graphique = new QChartView(graphePoids);
657  graphique->setRenderHint(QPainter::Antialiasing);
658 
659  ui->layoutGraphiques->addLayout(layoutGraphePoids);
660  layoutGraphePoids->addWidget(graphique);
661 }
QChart * graphePoids
la représentation du graphe
Definition: ihmpc.h:93
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
void initialiserGraphiqueHumiditeInterieure()
Méthode qui initialise le graphique pour l&#39;humidite interieure.
Definition: ihmpc.cpp:887
void initialiserGraphiquePoids()
Méthode qui initialise le graphique pour le poids.
Definition: ihmpc.cpp:667
void initialiserGraphiqueHumiditeExterieure()
Méthode qui initialise le graphique pour l&#39;humidite exterieure.
Definition: ihmpc.cpp:843
void initialiserGraphiqueTemperatureInterieure()
Méthode qui initialise le graphique pour la temperature interieure.
Definition: ihmpc.cpp:799
void initialiserGraphiqueTemperatureExterieure()
Méthode qui initialise le graphique pour la temperature exterieure.
Definition: ihmpc.cpp:755
void initialiserGraphiquePression()
Méthode qui initialise le graphique pour la pression.
Definition: ihmpc.cpp:711
QChartView * graphique
widget pour afficher le graphe
Definition: ihmpc.h:92

◆ creerRucher()

void IHMPc::creerRucher ( )
private

Méthode qui créer un rucher.

Renvoie
void : deux ruches selectionnables

Définition à la ligne 311 du fichier ihmpc.cpp.

Références indexRucheSelectionnee, rucher, et ui.

Référencé par IHMPc().

312 {
313  // Tests d'un rucher composé de deux ruches (simulateur)
314  rucher.push_back(new Ruche("Ruche BeeHoneyT", "bee-honeyt-1", this));
315  rucher.push_back(new Ruche("Ruche 1", "ruche-1-sim", this));
316  //rucher.push_back(new Ruche("Ruche 2", "ruche-2-sim", this));
317 
318  for(int i=0;i<rucher.size();++i)
319  {
320  ui->listeRuches->addItem(rucher[i]->getNom());
321  }
322 
324  ui->listeRuches->setCurrentIndex(indexRucheSelectionnee);
325  ui->labelRucheSelectionnee->setText("Ruche sélectionnée : " + ui->listeRuches->currentText());
326 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
Definition: ruche.h:15
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

◆ gererChangementOnglet

void IHMPc::gererChangementOnglet ( int  index)
privateslot

Methode qui gere le changement d'onglet selon l'index.

Paramètres
index

Définition à la ligne 612 du fichier ihmpc.cpp.

Références historique, indexRucheSelectionnee, ONGLET_GRAPHIQUES, ONGLET_JOURNAL, ONGLET_MESURES, Historique::recupererDonnees(), et rucher.

Référencé par initialiserGestionEvenements().

613 {
614  QDateTime maintenant;
615  switch (index)
616  {
618  break;
620  qDebug() << Q_FUNC_INFO << "ONGLET_GRAPHIQUES";
621  maintenant = QDateTime::currentDateTime();
622  historique->recupererDonnees(rucher[indexRucheSelectionnee]->getDeviceID(), QString::number(maintenant.time().hour()) + "h");
623  break;
625 
626  break;
627  default:
628  break;
629  }
630 }
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
L&#39;onglet de visualisation des graphiques des ruches.
Definition: ihmpc.h:28
void recupererDonnees(QString deviceID, QString duree="")
Methode qui recupère toutes les donnees (mesures des capteurs) de la ruche selectionnee (deviceID) ...
Definition: historique.cpp:46
L&#39;onglet de visualisation des mesures des ruches.
Definition: ihmpc.h:27
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89
L&#39;onglet de visualisation du log.
Definition: ihmpc.h:29
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

◆ gererConnexionTTN

void IHMPc::gererConnexionTTN ( )
privateslot

Methode qui permet la gestion de la connexion au TTN.

Définition à la ligne 594 du fichier ihmpc.cpp.

Références communicationTTN, Communication::connecter(), Communication::deconnecter(), Communication::desabonner(), Communication::estConnecte(), indexRucheSelectionnee, et rucher.

Référencé par initialiserGestionEvenements().

595 {
597  {
598  if(indexRucheSelectionnee > -1)
601  }
602  else
603  {
605  }
606 }
void deconnecter()
Méthode qui déconnecte le client Mqtt.
void desabonner(QString deviceID)
Méthode qui désabonne le client Mqtt , à partir du deviceID.
void connecter()
Méthode qui connecte le client Mqtt (par défaut) et permet la récupération du message (à l&#39;aide de la...
bool estConnecte() const
Méthode qui retourne une valeur booléene true si le client Mqtt est connecté
Communication * communicationTTN
Pointeur sur l&#39;objet Communication.
Definition: ihmpc.h:86
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

◆ initialiserAlertes()

void IHMPc::initialiserAlertes ( )
private

Methode qui initialise les seuils d'alertes.

Définition à la ligne 359 du fichier ihmpc.cpp.

Références alertes, HUMIDITE_EXTERIEURE_MAX, HUMIDITE_EXTERIEURE_MIN, HUMIDITE_INTERIEURE_MAX, HUMIDITE_INTERIEURE_MIN, POIDS_MAX, POIDS_MIN, PRESSION_MAX, PRESSION_MIN, Alertes::setHumiditeExterieureMax(), Alertes::setHumiditeExterieureMin(), Alertes::setHumiditeInterieureMax(), Alertes::setHumiditeInterieureMin(), Alertes::setPoidsMax(), Alertes::setPoidsMin(), Alertes::setPressionMax(), Alertes::setPressionMin(), Alertes::setTemperatureExterieureMax(), Alertes::setTemperatureExterieureMin(), Alertes::setTemperatureInterieureMax(), Alertes::setTemperatureInterieureMin(), TEMPERATURE_EXTERIEURE_MAX, TEMPERATURE_EXTERIEURE_MIN, TEMPERATURE_INTERIEURE_MAX, et TEMPERATURE_INTERIEURE_MIN.

Référencé par IHMPc().

360 {
373 }
#define HUMIDITE_INTERIEURE_MAX
Definition: ihmpc.h:52
#define TEMPERATURE_EXTERIEURE_MAX
Definition: ihmpc.h:46
void setPressionMax(double pressionMax)
Methode qui change la pression maximale.
Definition: alertes.cpp:258
#define HUMIDITE_EXTERIEURE_MIN
Definition: ihmpc.h:51
void setTemperatureInterieureMax(double temperatureInterieureMax)
Methode qui change la temperature interieure maximale.
Definition: alertes.cpp:178
#define PRESSION_MAX
Definition: ihmpc.h:54
#define PRESSION_MIN
Definition: ihmpc.h:55
void setHumiditeExterieureMax(double humiditeExterieureMax)
Methode qui change l&#39;humidite exterieure maximale.
Definition: alertes.cpp:238
void setPressionMin(double pressionMin)
Methode qui change la pression minimale.
Definition: alertes.cpp:268
void setPoidsMin(double poidsMin)
Methode qui change le poids minimale.
Definition: alertes.cpp:288
#define HUMIDITE_EXTERIEURE_MAX
Definition: ihmpc.h:50
void setTemperatureInterieureMin(double temperatureInterieureMin)
Methode qui change la temperature interieure minimum.
Definition: alertes.cpp:188
void setTemperatureExterieureMin(double temperatureExterieureMin)
Methode qui change la temperature exterieure minimale.
Definition: alertes.cpp:208
#define POIDS_MAX
Definition: ihmpc.h:56
void setHumiditeInterieureMin(double humiditeInterieureMin)
Methode qui change l&#39;humidite interieure minimale.
Definition: alertes.cpp:228
#define HUMIDITE_INTERIEURE_MIN
Definition: ihmpc.h:53
Alertes alertes
Definition: ihmpc.h:106
void setHumiditeExterieureMin(double humiditeExterieureMin)
Methode qui change l&#39;humidite exterieure minimale.
Definition: alertes.cpp:248
void setTemperatureExterieureMax(double temperatureExterieureMax)
Methode qui change la temperature exterieure maximale.
Definition: alertes.cpp:198
#define POIDS_MIN
Definition: ihmpc.h:57
void setPoidsMax(double poidsMax)
Methode qui change le poids maximale.
Definition: alertes.cpp:278
#define TEMPERATURE_INTERIEURE_MAX
Definition: ihmpc.h:48
#define TEMPERATURE_EXTERIEURE_MIN
Definition: ihmpc.h:47
#define TEMPERATURE_INTERIEURE_MIN
Definition: ihmpc.h:49
void setHumiditeInterieureMax(double humiditeInterieureMax)
Methode qui change l&#39;humidite interieure maximale.
Definition: alertes.cpp:218

◆ initialiserGestionEvenements()

void IHMPc::initialiserGestionEvenements ( )
private

Méthode qui intialise les évenements.

Renvoie
void

Définition à la ligne 333 du fichier ihmpc.cpp.

Références afficherEtatConnecte(), afficherEtatDeconnecte(), afficherNouvellesMesures(), communicationTTN, configurerAlertes(), configurerConnexionTTN(), gererChangementOnglet(), gererConnexionTTN(), historique, journaliser(), ouvrirFenetreAjouter(), rechargerGraphique(), selectionnerGraphique(), selectionnerRuche(), supprimerRuche(), et ui.

Référencé par IHMPc().

334 {
335  qRegisterMetaType<MesureRuche>();
336  connect(communicationTTN, SIGNAL(ttnConnecte()), this, SLOT(afficherEtatConnecte()));
337  connect(communicationTTN, SIGNAL(ttnDeconnecte()), this, SLOT(afficherEtatDeconnecte()));
338  connect(communicationTTN, SIGNAL(messageJournal(QString)), this, SLOT(journaliser(QString)));
339  qRegisterMetaType<MesureRuche>();
340  connect(communicationTTN, SIGNAL(nouvellesMesures(MesureRuche)), this, SLOT(afficherNouvellesMesures(MesureRuche)));
341  connect(historique, SIGNAL(messageJournal(QString)), this, SLOT(journaliser(QString)));
342 
343  connect(ui->boutonTTN, SIGNAL(clicked(bool)), this, SLOT(gererConnexionTTN()));
344  connect(ui->boutonAjouter, SIGNAL(clicked(bool)), this, SLOT(ouvrirFenetreAjouter()));
345  connect(ui->boutonSupprimer, SIGNAL(clicked(bool)), this, SLOT(supprimerRuche()));
346  connect(ui->boutonAlertes, SIGNAL(clicked(bool)), this, SLOT(configurerAlertes()));
347  connect(ui->boutonConfigurerTTN, SIGNAL(clicked(bool)), this, SLOT(configurerConnexionTTN()));
348  connect(ui->listeRuches, SIGNAL(currentIndexChanged(int)), this, SLOT(selectionnerRuche()));
349  connect(ui->ongletIHM, SIGNAL(currentChanged(int)), this, SLOT(gererChangementOnglet(int)));
350 
351  connect(ui->listeMesuresGraphiques, SIGNAL(currentIndexChanged(int)), this, SLOT(selectionnerGraphique()));
352  connect(ui->bouttonRecharger, SIGNAL(clicked(bool)), this, SLOT(rechargerGraphique()));
353  connect(historique, SIGNAL(recuperationTerminee()), this, SLOT(selectionnerGraphique()));
354 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
void gererConnexionTTN()
Methode qui permet la gestion de la connexion au TTN.
Definition: ihmpc.cpp:594
void selectionnerRuche()
Méthode qui selectionne la ruche (s&#39;abonne) et se desabonne de l&#39;ancienne : renitialisation des valeu...
Definition: ihmpc.cpp:565
void configurerAlertes()
Methode qui permet la configuration des seuils d&#39;alertes.
Definition: ihmpc.cpp:433
void afficherNouvellesMesures(MesureRuche mesure)
Méthode qui affiche les nouvelles mesures.
Definition: ihmpc.cpp:546
void ouvrirFenetreAjouter()
Méthode qui ouvre une fenetre de dialogue pour ajouter une ruche : nom et deviceID.
Definition: ihmpc.cpp:379
void selectionnerGraphique()
Methode qui gere la selection du graphique.
Definition: ihmpc.cpp:931
void afficherEtatDeconnecte()
Méthode qui affiche l&#39;état de la connexion (deconnecté), à partir d&#39;une image en haut à droite...
Definition: ihmpc.cpp:160
Communication * communicationTTN
Pointeur sur l&#39;objet Communication.
Definition: ihmpc.h:86
void supprimerRuche()
Méthode qui supprime une ruche, dans la listedeRucheSelectionnee et dans le vector rucher<> ...
Definition: ihmpc.cpp:411
void afficherEtatConnecte()
Méthode qui affiche l&#39;état de la connexion (connecté), à partir d&#39;une image en haut à droite...
Definition: ihmpc.cpp:146
void configurerConnexionTTN()
Methode qui permet la configuration de l&#39;acces TTN.
Definition: ihmpc.cpp:510
void rechargerGraphique()
Methode qui recharge le graphique à l&#39;heure actuelle.
Definition: ihmpc.cpp:960
void journaliser(QString message)
Methode qui ajoute le message dans l&#39;onglet journal.
Definition: ihmpc.cpp:636
void gererChangementOnglet(int)
Methode qui gere le changement d&#39;onglet selon l&#39;index.
Definition: ihmpc.cpp:612

◆ initialiserGraphiqueHumiditeExterieure()

void IHMPc::initialiserGraphiqueHumiditeExterieure ( )
private

Méthode qui initialise le graphique pour l'humidite exterieure.

Définition à la ligne 843 du fichier ihmpc.cpp.

Références courbeHumiditeExt, et grapheHumiditeExt.

Référencé par creerGraphique().

844 {
845  courbeHumiditeExt = new QLineSeries();
846 
847  courbeHumiditeExt->setName(QString::fromUtf8("<font color=\"#FFFFFF\">Humidite Exterieure</font>"));
848  QPen pen;
849  pen.setColor(QColor(Qt::darkBlue));
850  pen.setWidth(2);
851  courbeHumiditeExt->setPen(pen);
852 
853  grapheHumiditeExt = new QChart();
854  grapheHumiditeExt->setBackgroundVisible(false);
856  grapheHumiditeExt->setBackgroundBrush(QColor(0xFFFFFF));
857 
858  QValueAxis *axeXHumiditeExt = new QValueAxis;
859  axeXHumiditeExt->setRange(0, 23);
860  axeXHumiditeExt->setTickCount(24);
861  axeXHumiditeExt->setLabelFormat("%02dh");
862  axeXHumiditeExt->setTitleText(QString::fromUtf8("Heure"));
863  axeXHumiditeExt->setLabelsColor(0xFFFFFF);
864  axeXHumiditeExt->setTitleBrush(QColor(0xFFFFFF));
865  grapheHumiditeExt->addAxis(axeXHumiditeExt, Qt::AlignBottom);
866  courbeHumiditeExt->attachAxis(axeXHumiditeExt);
867 
868  QValueAxis *axeYHumiditeExt = new QValueAxis;
869  axeYHumiditeExt->setRange(0, 100); // définir des constantes !
870  axeYHumiditeExt->setLabelFormat("%.2f");
871  axeYHumiditeExt->setTitleText(QString::fromUtf8("Humidite Ext. en %"));
872  axeYHumiditeExt->setLabelsColor(0xFFFFFF);
873  axeYHumiditeExt->setTitleBrush(QColor(0xFFFFFF));
874  grapheHumiditeExt->addAxis(axeYHumiditeExt, Qt::AlignLeft);
875 
876  courbeHumiditeExt->setPointsVisible(true);
877  courbeHumiditeExt->setPointLabelsFormat("@yPoint" " ");
878  courbeHumiditeExt->setPointLabelsVisible(true);
879  courbeHumiditeExt->attachAxis(axeYHumiditeExt);
880 
881  courbeHumiditeExt->setPointLabelsColor(0xFFFFFF);
882 }
QChart * grapheHumiditeExt
la représentation du graphe
Definition: ihmpc.h:102
QLineSeries * courbeHumiditeExt
Les données sous forme de courbe.
Definition: ihmpc.h:101

◆ initialiserGraphiqueHumiditeInterieure()

void IHMPc::initialiserGraphiqueHumiditeInterieure ( )
private

Méthode qui initialise le graphique pour l'humidite interieure.

Définition à la ligne 887 du fichier ihmpc.cpp.

Références courbeHumiditeInt, et grapheHumiditeInt.

Référencé par creerGraphique().

888 {
889  courbeHumiditeInt = new QLineSeries();
890 
891  courbeHumiditeInt->setName(QString::fromUtf8("<font color=\"#FFFFFF\">Humidite Interieure</font>"));
892  QPen pen;
893  pen.setColor(QColor(Qt::blue));
894  pen.setWidth(2);
895  courbeHumiditeInt->setPen(pen);
896 
897  grapheHumiditeInt = new QChart();
898  grapheHumiditeInt->setBackgroundVisible(false);
900  grapheHumiditeInt->setBackgroundBrush(QColor(0xFFFFFF));
901 
902  QValueAxis *axeXHumiditeInt = new QValueAxis;
903  axeXHumiditeInt->setRange(0, 23);
904  axeXHumiditeInt->setTickCount(24);
905  axeXHumiditeInt->setLabelFormat("%02dh");
906  axeXHumiditeInt->setTitleText(QString::fromUtf8("Heure"));
907  axeXHumiditeInt->setLabelsColor(0xFFFFFF);
908  axeXHumiditeInt->setTitleBrush(QColor(0xFFFFFF));
909  grapheHumiditeInt->addAxis(axeXHumiditeInt, Qt::AlignBottom);
910  courbeHumiditeInt->attachAxis(axeXHumiditeInt);
911 
912  QValueAxis *axeYHumiditeInt = new QValueAxis;
913  axeYHumiditeInt->setRange(0, 100); // définir des constantes !
914  axeYHumiditeInt->setLabelFormat("%.2f");
915  axeYHumiditeInt->setTitleText(QString::fromUtf8("Humidite Int. en %"));
916  axeYHumiditeInt->setLabelsColor(0xFFFFFF);
917  axeYHumiditeInt->setTitleBrush(QColor(0xFFFFFF));
918  grapheHumiditeInt->addAxis(axeYHumiditeInt, Qt::AlignLeft);
919 
920  courbeHumiditeInt->setPointsVisible(true);
921  courbeHumiditeInt->setPointLabelsFormat("@yPoint" " ");
922  courbeHumiditeInt->setPointLabelsVisible(true);
923  courbeHumiditeInt->attachAxis(axeYHumiditeInt);
924 
925  courbeHumiditeInt->setPointLabelsColor(0xFFFFFF);
926 }
QLineSeries * courbeHumiditeInt
Les données sous forme de courbe.
Definition: ihmpc.h:103
QChart * grapheHumiditeInt
la représentation du graphe
Definition: ihmpc.h:104

◆ initialiserGraphiquePoids()

void IHMPc::initialiserGraphiquePoids ( )
private

Méthode qui initialise le graphique pour le poids.

Définition à la ligne 667 du fichier ihmpc.cpp.

Références courbePoids, et graphePoids.

Référencé par creerGraphique().

668 {
669  courbePoids = new QLineSeries();
670 
671  courbePoids->setName(QString::fromUtf8("<font color=\"#FFFFFF\">Poids</font>"));
672  QPen pen;
673  pen.setColor(QColor(0x99, 0x49, 0x2e));
674  pen.setWidth(2);
675  courbePoids->setPen(pen);
676 
677  graphePoids = new QChart();
678  graphePoids->setBackgroundVisible(false);
679  graphePoids->addSeries(courbePoids);
680  graphePoids->setBackgroundBrush(QColor(0xFFFFFF));
681 
682  QValueAxis *axeXPoids = new QValueAxis;
683  axeXPoids->setRange(0, 23);
684  axeXPoids->setTickCount(24);
685  axeXPoids->setLabelFormat("%02dh");
686  axeXPoids->setTitleText(QString::fromUtf8("Heure"));
687  axeXPoids->setLabelsColor(0xFFFFFF);
688  axeXPoids->setTitleBrush(QColor(0xFFFFFF));
689  graphePoids->addAxis(axeXPoids, Qt::AlignBottom);
690  courbePoids->attachAxis(axeXPoids);
691 
692  QValueAxis *axeYPoids = new QValueAxis;
693  axeYPoids->setRange(0, 50); // définir des constantes !
694  axeYPoids->setLabelFormat("%.2f");
695  axeYPoids->setTitleText(QString::fromUtf8("Poids en Kg"));
696  axeYPoids->setLabelsColor(0xFFFFFF);
697  axeYPoids->setTitleBrush(QColor(0xFFFFFF));
698  graphePoids->addAxis(axeYPoids, Qt::AlignLeft);
699 
700  courbePoids->setPointsVisible(true);
701  courbePoids->setPointLabelsFormat("@yPoint" " ");
702  courbePoids->setPointLabelsVisible(true);
703  courbePoids->attachAxis(axeYPoids);
704 
705  courbePoids->setPointLabelsColor(0xFFFFFF);
706 }
QChart * graphePoids
la représentation du graphe
Definition: ihmpc.h:93
QLineSeries * courbePoids
Les données sous forme de courbe.
Definition: ihmpc.h:94

◆ initialiserGraphiquePression()

void IHMPc::initialiserGraphiquePression ( )
private

Méthode qui initialise le graphique pour la pression.

Définition à la ligne 711 du fichier ihmpc.cpp.

Références courbePression, et graphePression.

Référencé par creerGraphique().

712 {
713  courbePression = new QLineSeries();
714 
715  courbePression->setName(QString::fromUtf8("<font color=\"#FFFFFF\">Pression</font>"));
716  QPen pen;
717  pen.setColor(QColor(Qt::yellow));
718  pen.setWidth(2);
719  courbePression->setPen(pen);
720 
721  graphePression = new QChart();
722  graphePression->setBackgroundVisible(false);
723  graphePression->addSeries(courbePression);
724  graphePression->setBackgroundBrush(QColor(0xFFFFFF));
725 
726  QValueAxis *axeXPression = new QValueAxis;
727  axeXPression->setRange(0, 23);
728  axeXPression->setTickCount(24);
729  axeXPression->setLabelFormat("%02dh");
730  axeXPression->setTitleText(QString::fromUtf8("Heure"));
731  axeXPression->setLabelsColor(0xFFFFFF);
732  axeXPression->setTitleBrush(QColor(0xFFFFFF));
733  graphePression->addAxis(axeXPression, Qt::AlignBottom);
734  courbePression->attachAxis(axeXPression);
735 
736  QValueAxis *axeYPression = new QValueAxis;
737  axeYPression->setRange(900, 1100); // définir des constantes !
738  axeYPression->setLabelFormat("%.2f");
739  axeYPression->setTitleText(QString::fromUtf8("Pression en hPa"));
740  axeYPression->setLabelsColor(0xFFFFFF);
741  axeYPression->setTitleBrush(QColor(0xFFFFFF));
742  graphePression->addAxis(axeYPression, Qt::AlignLeft);
743 
744  courbePression->setPointsVisible(true);
745  courbePression->setPointLabelsFormat("@yPoint" " ");
746  courbePression->setPointLabelsVisible(true);
747  courbePression->attachAxis(axeYPression);
748 
749  courbePression->setPointLabelsColor(0xFFFFFF);
750 }
QLineSeries * courbePression
Les données sous forme de courbe.
Definition: ihmpc.h:96
QChart * graphePression
la représentation du graphe
Definition: ihmpc.h:95

◆ initialiserGraphiqueTemperatureExterieure()

void IHMPc::initialiserGraphiqueTemperatureExterieure ( )
private

Méthode qui initialise le graphique pour la temperature exterieure.

Définition à la ligne 755 du fichier ihmpc.cpp.

Références courbeTemperatureExt, et grapheTemperatureExt.

Référencé par creerGraphique().

756 {
757  courbeTemperatureExt = new QLineSeries();
758 
759  courbeTemperatureExt->setName(QString::fromUtf8("<font color=\"#FFFFFF\">Temperature Exterieure</font>"));
760  QPen pen;
761  pen.setColor(QColor(Qt::darkRed));
762  pen.setWidth(2);
763  courbeTemperatureExt->setPen(pen);
764 
765  grapheTemperatureExt = new QChart();
766  grapheTemperatureExt->setBackgroundVisible(false);
768  grapheTemperatureExt->setBackgroundBrush(QColor(0xFFFFFF));
769 
770  QValueAxis *axeXTemperatureExt = new QValueAxis;
771  axeXTemperatureExt->setRange(0, 23);
772  axeXTemperatureExt->setTickCount(24);
773  axeXTemperatureExt->setLabelFormat("%02dh");
774  axeXTemperatureExt->setTitleText(QString::fromUtf8("Heure"));
775  axeXTemperatureExt->setLabelsColor(0xFFFFFF);
776  axeXTemperatureExt->setTitleBrush(QColor(0xFFFFFF));
777  grapheTemperatureExt->addAxis(axeXTemperatureExt, Qt::AlignBottom);
778  courbeTemperatureExt->attachAxis(axeXTemperatureExt);
779 
780  QValueAxis *axeYTemperatureExt = new QValueAxis;
781  axeYTemperatureExt->setRange(-20, 60); // définir des constantes !
782  axeYTemperatureExt->setLabelFormat("%.2f");
783  axeYTemperatureExt->setTitleText(QString::fromUtf8("Temperature Ext. en °C"));
784  axeYTemperatureExt->setLabelsColor(0xFFFFFF);
785  axeYTemperatureExt->setTitleBrush(QColor(0xFFFFFF));
786  grapheTemperatureExt->addAxis(axeYTemperatureExt, Qt::AlignLeft);
787 
788  courbeTemperatureExt->setPointsVisible(true);
789  courbeTemperatureExt->setPointLabelsFormat("@yPoint" " ");
790  courbeTemperatureExt->setPointLabelsVisible(true);
791  courbeTemperatureExt->attachAxis(axeYTemperatureExt);
792 
793  courbeTemperatureExt->setPointLabelsColor(0xFFFFFF);
794 }
QChart * grapheTemperatureExt
la représentation du graphe
Definition: ihmpc.h:98
QLineSeries * courbeTemperatureExt
Les données sous forme de courbe.
Definition: ihmpc.h:97

◆ initialiserGraphiqueTemperatureInterieure()

void IHMPc::initialiserGraphiqueTemperatureInterieure ( )
private

Méthode qui initialise le graphique pour la temperature interieure.

Définition à la ligne 799 du fichier ihmpc.cpp.

Références courbeTemperatureInt, et grapheTemperatureInt.

Référencé par creerGraphique().

800 {
801  courbeTemperatureInt = new QLineSeries();
802 
803  courbeTemperatureInt->setName(QString::fromUtf8("<font color=\"#FFFFFF\">Temperature Interieure</font>"));
804  QPen pen;
805  pen.setColor(QColor(Qt::red));
806  pen.setWidth(2);
807  courbeTemperatureInt->setPen(pen);
808 
809  grapheTemperatureInt = new QChart();
810  grapheTemperatureInt->setBackgroundVisible(false);
812  grapheTemperatureInt->setBackgroundBrush(QColor(0xFFFFFF));
813 
814  QValueAxis *axeXTemperatureInt = new QValueAxis;
815  axeXTemperatureInt->setRange(0, 23);
816  axeXTemperatureInt->setTickCount(24);
817  axeXTemperatureInt->setLabelFormat("%02dh");
818  axeXTemperatureInt->setTitleText(QString::fromUtf8("Heure"));
819  axeXTemperatureInt->setLabelsColor(0xFFFFFF);
820  axeXTemperatureInt->setTitleBrush(QColor(0xFFFFFF));
821  grapheTemperatureInt->addAxis(axeXTemperatureInt, Qt::AlignBottom);
822  courbeTemperatureInt->attachAxis(axeXTemperatureInt);
823 
824  QValueAxis *axeYTemperatureInt = new QValueAxis;
825  axeYTemperatureInt->setRange(-20, 60); // définir des constantes !
826  axeYTemperatureInt->setLabelFormat("%.2f");
827  axeYTemperatureInt->setTitleText(QString::fromUtf8("Temperature Int. en °C"));
828  axeYTemperatureInt->setLabelsColor(0xFFFFFF);
829  axeYTemperatureInt->setTitleBrush(QColor(0xFFFFFF));
830  grapheTemperatureInt->addAxis(axeYTemperatureInt, Qt::AlignLeft);
831 
832  courbeTemperatureInt->setPointsVisible(true);
833  courbeTemperatureInt->setPointLabelsFormat("@yPoint" " ");
834  courbeTemperatureInt->setPointLabelsVisible(true);
835  courbeTemperatureInt->attachAxis(axeYTemperatureInt);
836 
837  courbeTemperatureInt->setPointLabelsColor(0xFFFFFF);
838 }
QChart * grapheTemperatureInt
la représentation du graphe
Definition: ihmpc.h:100
QLineSeries * courbeTemperatureInt
Les données sous forme de courbe.
Definition: ihmpc.h:99

◆ initialiserIHM()

void IHMPc::initialiserIHM ( )
private

Méthode qui initialise l'IHM.

Renvoie
void

Définition à la ligne 296 du fichier ihmpc.cpp.

Références creerGraphique(), ONGLET_MESURES, et ui.

Référencé par IHMPc().

297 {
298  ui->setupUi(this);
299  ui->ongletIHM->setCurrentIndex(OngletIHM::ONGLET_MESURES);
300 
301  creerGraphique();
302 
303  showMaximized();
304 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
L&#39;onglet de visualisation des mesures des ruches.
Definition: ihmpc.h:27
void creerGraphique()
Méthode qui crée et initialise la vue pour les graphiques.
Definition: ihmpc.cpp:645

◆ journaliser

void IHMPc::journaliser ( QString  message)
privateslot

Methode qui ajoute le message dans l'onglet journal.

Paramètres
message

Définition à la ligne 636 du fichier ihmpc.cpp.

Références ui.

Référencé par configurerAlertes(), et initialiserGestionEvenements().

637 {
638  ui->journal->append(message);
639 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85

◆ ouvrirFenetreAjouter

void IHMPc::ouvrirFenetreAjouter ( )
privateslot

Méthode qui ouvre une fenetre de dialogue pour ajouter une ruche : nom et deviceID.

Renvoie
void : une ruche en plus
A faire:
Faire une methode pour sauvegarder la nouvelle Ruche

Définition à la ligne 379 du fichier ihmpc.cpp.

Références rucher, et ui.

Référencé par initialiserGestionEvenements().

380 {
381  QString nomNouvelleRuche = QInputDialog::getText(this, "Ajouter", "Veuillez entrer le nom de la Ruche : ", QLineEdit::Normal, QString());
382  if (!nomNouvelleRuche.isEmpty())
383  {
384  QString deviceIDNouvelleRuche = QInputDialog::getText(this, "Ajouter", "Veuillez entrer le deviceID de la Ruche : ", QLineEdit::Normal, QString());
385  if(!deviceIDNouvelleRuche.isEmpty())
386  {
387  rucher.push_back(new Ruche(nomNouvelleRuche, deviceIDNouvelleRuche, this));
388  ui->listeRuches->addItem(rucher[rucher.size() - 1]->getNom());
389  qDebug() << Q_FUNC_INFO << "Ruche ajoutée" << rucher[rucher.size() - 1]->getNom();
390  ui->listeRuches->setCurrentIndex(rucher.size() - 1);
391  }
392  else
393  {
394  QMessageBox::critical(this, "Device ID", "Champ de saisi vide !");
395  }
396  }
397  else
398  {
399  QMessageBox::critical(this, "Nom de la ruche", "Champ de saisi vide !");
400  }
404 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
Definition: ruche.h:15
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

◆ rechargerGraphique

void IHMPc::rechargerGraphique ( )
privateslot

Methode qui recharge le graphique à l'heure actuelle.

Définition à la ligne 960 du fichier ihmpc.cpp.

Références historique, indexRucheSelectionnee, Historique::recupererDonnees(), et rucher.

Référencé par initialiserGestionEvenements().

961 {
962  QDateTime maintenant = QDateTime::currentDateTime();
963  historique->recupererDonnees(rucher[indexRucheSelectionnee]->getDeviceID(), QString::number(maintenant.time().hour()) + "h");
964 }
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
void recupererDonnees(QString deviceID, QString duree="")
Methode qui recupère toutes les donnees (mesures des capteurs) de la ruche selectionnee (deviceID) ...
Definition: historique.cpp:46
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

◆ selectionnerGraphique

void IHMPc::selectionnerGraphique ( )
privateslot

Methode qui gere la selection du graphique.

Définition à la ligne 931 du fichier ihmpc.cpp.

Références afficherGraphiqueHumiditeExterieure(), afficherGraphiqueHumiditeInterieure(), afficherGraphiquePoids(), afficherGraphiquePression(), afficherGraphiqueTemperatureExterieure(), afficherGraphiqueTemperatureInterieure(), GRAPHIQUE_HUMIDITE_EXTERIEURE, GRAPHIQUE_HUMIDITE_INTERIEURE, GRAPHIQUE_POIDS, GRAPHIQUE_PRESSION, GRAPHIQUE_TEMPERATURE_EXTERIEURE, GRAPHIQUE_TEMPERATURE_INTERIEURE, et ui.

Référencé par initialiserGestionEvenements().

932 {
933  qDebug() << Q_FUNC_INFO << "index" << ui->listeMesuresGraphiques->currentIndex();
934  switch((TypeGraphique)ui->listeMesuresGraphiques->currentIndex())
935  {
938  break;
941  break;
944  break;
947  break;
950  break;
953  break;
954  }
955 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
TypeGraphique
Définit les différents types de graphiques.
Definition: ihmpc.h:36
void afficherGraphiqueHumiditeInterieure()
Méthode qui affiche le graphique pour l&#39;humidite interieure.
Definition: ihmpc.cpp:1069
void afficherGraphiquePression()
Méthode qui affiche le graphique pour la pression.
Definition: ihmpc.cpp:989
void afficherGraphiqueTemperatureInterieure()
Méthode qui affiche le graphique pour la temperature interieure.
Definition: ihmpc.cpp:1029
void afficherGraphiqueTemperatureExterieure()
Méthode qui affiche le graphique pour la temperature exterieure.
Definition: ihmpc.cpp:1009
void afficherGraphiqueHumiditeExterieure()
Méthode qui affiche le graphique pour l&#39;humidite exterieure.
Definition: ihmpc.cpp:1049
void afficherGraphiquePoids()
Méthode qui affiche le graphique pour le poids.
Definition: ihmpc.cpp:969

◆ selectionnerRuche

void IHMPc::selectionnerRuche ( )
privateslot

Méthode qui selectionne la ruche (s'abonne) et se desabonne de l'ancienne : renitialisation des valeurs.

Renvoie
void : un affichage à 0 des valeurs

Définition à la ligne 565 du fichier ihmpc.cpp.

Références Communication::abonner(), communicationTTN, Communication::desabonner(), indexRucheSelectionnee, rucher, et ui.

Référencé par initialiserGestionEvenements().

566 {
567  if(indexRucheSelectionnee > -1)
569  if(ui->listeRuches->count() > 0)
570  {
571  qDebug() << Q_FUNC_INFO << "Ruche sélectionnée" << ui->listeRuches->currentText();
572  communicationTTN->abonner(rucher[ui->listeRuches->currentIndex()]->getDeviceID());
573  indexRucheSelectionnee = ui->listeRuches->currentIndex();
574  ui->labelRucheSelectionnee->setText("Ruche sélectionnée : " + ui->listeRuches->currentText());
575  ui->labelHorodatage->setText("");
576  ui->lcdTemperatureInterieure->display(0.);
577  ui->lcdTemperatureExterieure->display(0.);
578  ui->lcdHumiditeInterieure->display(0.);
579  ui->lcdHumiditeExterieure->display(0.);
580  ui->lcdPoids->display(0.);
581  ui->lcdPression->display(0.);
582  ui->labelAlerteTemperatureExterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
583  ui->labelAlerteTemperatureInterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
584  ui->labelAlerteHumiditeExterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
585  ui->labelAlerteHumiditeInterieure->setPixmap(QPixmap(QDir::currentPath() + ""));
586  ui->labelAlertePoids->setPixmap(QPixmap(QDir::currentPath() + ""));
587  ui->labelAlertePression->setPixmap(QPixmap(QDir::currentPath() + ""));
588  }
589 }
bool abonner(QString deviceID)
Méthode qui abonne le client Mqtt à un topic , à partir du deviceID.
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
void desabonner(QString deviceID)
Méthode qui désabonne le client Mqtt , à partir du deviceID.
Communication * communicationTTN
Pointeur sur l&#39;objet Communication.
Definition: ihmpc.h:86
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

◆ supprimerRuche

void IHMPc::supprimerRuche ( )
privateslot

Méthode qui supprime une ruche, dans la listedeRucheSelectionnee et dans le vector rucher<>

Renvoie
void : une ruche en moins

Définition à la ligne 411 du fichier ihmpc.cpp.

Références communicationTTN, Communication::desabonner(), indexRucheSelectionnee, rucher, et ui.

Référencé par initialiserGestionEvenements().

412 {
413  for(int i=0;i<rucher.size();++i)
414  {
415  if(rucher[i]->getNom() == ui->listeRuches->currentText())
416  {
417  qDebug() << Q_FUNC_INFO << "Ruche supprimée" << rucher[i]->getNom();
418  communicationTTN->desabonner(rucher[ui->listeRuches->currentIndex()]->getDeviceID());
420  delete rucher.at(i);
421  rucher.remove(i);
422  ui->labelRucheSelectionnee->setText("Ruche sélectionnée : aucune");
423  ui->listeRuches->removeItem(ui->listeRuches->currentIndex());
424  return;
425  }
426  }
427 }
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
void desabonner(QString deviceID)
Méthode qui désabonne le client Mqtt , à partir du deviceID.
Communication * communicationTTN
Pointeur sur l&#39;objet Communication.
Definition: ihmpc.h:86
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88

◆ verifierAlertes

void IHMPc::verifierAlertes ( MesureRuche  mesure)
privateslot

Methode qui verifie si les seuils sont depasses.

Paramètres
mesure

Définition à la ligne 185 du fichier ihmpc.cpp.

Références afficherAlerteHumiditeExterieure(), afficherAlerteHumiditeInterieure(), afficherAlertePoids(), afficherAlertePression(), afficherAlerteTemperatureExterieure(), afficherAlerteTemperatureInterieure(), MesureRuche::getHumiditeExterieure(), MesureRuche::getHumiditeInterieure(), MesureRuche::getPoids(), MesureRuche::getPression(), MesureRuche::getTemperatureExterieure(), et MesureRuche::getTemperatureInterieure().

Référencé par afficherNouvellesMesures().

186 {
191  afficherAlertePoids(mesure.getPoids());
193 }
double getTemperatureInterieure() const
Methode qui retourne la valeur de la temperature interieure.
void afficherAlerteTemperatureExterieure(double temperature)
Methode qui affiche (ou pas) un temoin lumineu d&#39;alerte pour la temperature exterieure.
Definition: ihmpc.cpp:199
void afficherAlertePoids(double poids)
Methode qui affiche (ou pas) un temoin lumineu d&#39;alerte pour le poids.
Definition: ihmpc.cpp:263
double getHumiditeInterieure() const
Methode qui retourne la valeur de l&#39;humidite interieure.
void afficherAlerteHumiditeExterieure(double humidite)
Methode qui affiche (ou pas) un temoin lumineu d&#39;alerte pour l&#39;humidite exterieure.
Definition: ihmpc.cpp:231
double getTemperatureExterieure() const
Methode qui retourne la valeur de la temperature exterieure.
double getPression() const
Methode qui retourne la valeur de la pression.
void afficherAlertePression(double pression)
Methode qui affiche (ou pas) un temoin lumineu d&#39;alerte pour la pression.
Definition: ihmpc.cpp:279
void afficherAlerteTemperatureInterieure(double temperature)
Methode qui affiche (ou pas) un temoin lumineu d&#39;alerte pour la temperature interieure.
Definition: ihmpc.cpp:215
void afficherAlerteHumiditeInterieure(double humidite)
Methode qui affiche (ou pas) un temoin lumineu d&#39;alerte pour l&#39;humidite interieure.
Definition: ihmpc.cpp:247
double getPoids() const
Methode qui retourne la valeur du poids.
double getHumiditeExterieure() const
Methode qui retourne la valeur de l&#39;humidite exterieure.

Documentation des données membres

◆ alertes

◆ communicationTTN

Communication* IHMPc::communicationTTN
private

◆ courbeHumiditeExt

QLineSeries* IHMPc::courbeHumiditeExt
private

Les données sous forme de courbe.

Définition à la ligne 101 du fichier ihmpc.h.

Référencé par afficherGraphiqueHumiditeExterieure(), et initialiserGraphiqueHumiditeExterieure().

◆ courbeHumiditeInt

QLineSeries* IHMPc::courbeHumiditeInt
private

Les données sous forme de courbe.

Définition à la ligne 103 du fichier ihmpc.h.

Référencé par afficherGraphiqueHumiditeInterieure(), et initialiserGraphiqueHumiditeInterieure().

◆ courbePoids

QLineSeries* IHMPc::courbePoids
private

Les données sous forme de courbe.

Définition à la ligne 94 du fichier ihmpc.h.

Référencé par afficherGraphiquePoids(), et initialiserGraphiquePoids().

◆ courbePression

QLineSeries* IHMPc::courbePression
private

Les données sous forme de courbe.

Définition à la ligne 96 du fichier ihmpc.h.

Référencé par afficherGraphiquePression(), et initialiserGraphiquePression().

◆ courbeTemperatureExt

QLineSeries* IHMPc::courbeTemperatureExt
private

Les données sous forme de courbe.

Définition à la ligne 97 du fichier ihmpc.h.

Référencé par afficherGraphiqueTemperatureExterieure(), et initialiserGraphiqueTemperatureExterieure().

◆ courbeTemperatureInt

QLineSeries* IHMPc::courbeTemperatureInt
private

Les données sous forme de courbe.

Définition à la ligne 99 du fichier ihmpc.h.

Référencé par afficherGraphiqueTemperatureInterieure(), et initialiserGraphiqueTemperatureInterieure().

◆ grapheHumiditeExt

QChart* IHMPc::grapheHumiditeExt
private

la représentation du graphe

Définition à la ligne 102 du fichier ihmpc.h.

Référencé par afficherGraphiqueHumiditeExterieure(), et initialiserGraphiqueHumiditeExterieure().

◆ grapheHumiditeInt

QChart* IHMPc::grapheHumiditeInt
private

la représentation du graphe

Définition à la ligne 104 du fichier ihmpc.h.

Référencé par afficherGraphiqueHumiditeInterieure(), et initialiserGraphiqueHumiditeInterieure().

◆ graphePoids

QChart* IHMPc::graphePoids
private

la représentation du graphe

Définition à la ligne 93 du fichier ihmpc.h.

Référencé par afficherGraphiquePoids(), creerGraphique(), et initialiserGraphiquePoids().

◆ graphePression

QChart* IHMPc::graphePression
private

la représentation du graphe

Définition à la ligne 95 du fichier ihmpc.h.

Référencé par afficherGraphiquePression(), et initialiserGraphiquePression().

◆ grapheTemperatureExt

QChart* IHMPc::grapheTemperatureExt
private

la représentation du graphe

Définition à la ligne 98 du fichier ihmpc.h.

Référencé par afficherGraphiqueTemperatureExterieure(), et initialiserGraphiqueTemperatureExterieure().

◆ grapheTemperatureInt

QChart* IHMPc::grapheTemperatureInt
private

la représentation du graphe

Définition à la ligne 100 du fichier ihmpc.h.

Référencé par afficherGraphiqueTemperatureInterieure(), et initialiserGraphiqueTemperatureInterieure().

◆ graphique

◆ historique

◆ indexRucheSelectionnee

int IHMPc::indexRucheSelectionnee
private

L'index courant de la ruche sélectionnée.

Définition à la ligne 89 du fichier ihmpc.h.

Référencé par afficherEtatConnecte(), creerRucher(), gererChangementOnglet(), gererConnexionTTN(), rechargerGraphique(), selectionnerRuche(), supprimerRuche(), et ~IHMPc().

◆ listeGraphiques

QComboBox* IHMPc::listeGraphiques
private

Définition à la ligne 91 du fichier ihmpc.h.

◆ rucher

QVector<Ruche*> IHMPc::rucher
private

◆ ui


La documentation de cette classe a été générée à partir des fichiers suivants :