Groom  1.1
BTS SNIR LaSalle Avignon 2021
CommunicationGroom.h
Aller à la documentation de ce fichier.
1 #ifndef COMMUNICATIONGROOM_H
2 #define COMMUNICATIONGROOM_H
3 
4 #include <QObject>
5 #include <QString>
6 #include <QBluetoothLocalDevice>
7 #include <QBluetoothDeviceInfo>
8 #include <QBluetoothSocket>
9 #include <QBluetoothDeviceDiscoveryAgent>
10 
20 #define ENTETE_TRAME "$"
21 #define FIN_TRAME "\r\n"
22 #define ENTETE_NOM_PERIPHERIQUE "groom-1"
23 #define TYPE_TRAME 1
24 #define TRAME_ALIVE "A"
25 #define TRAME_ETAT "ETAT"
26 
27 
32 {
37 };
38 
44 {
47 };
48 
54 {
57 };
58 
64 {
67 };
68 
74 {
77 };
78 
85 {
92 };
93 
95 {
96  Q_OBJECT
97 public:
98  CommunicationGroom(QObject *parent = nullptr);
100 
101  void rechercher();
102  bool estConnecte();
103  void envoyer(QString trame);
104  QString fabriquerTrame(EtatGroom etatGroom, EtatSonnette etatSonnette, EtatPresence etatPresence);
105  QString fabriquerTrameMessageOccupant(QString messageOccupant);
106  QStringList traiterTrameReception(QString trame);
107 private:
108  QBluetoothSocket *socketBluetooth;
109  QBluetoothLocalDevice peripheriqueBluetooth;
110  QBluetoothServiceInfo serviceInfoBluetooth;
111  QBluetoothDeviceInfo groom;
116  QBluetoothDeviceDiscoveryAgent *discoveryAgent;
117  QString trameReception;
118 
119  void initialiserBluetooth();
120 
121 public slots:
122  void terminerRecherche();
123  void deviceDiscovered(const QBluetoothDeviceInfo &device);
124  void connecter();
125  void connecter(const QBluetoothDeviceInfo device);
126  void deconnecter();
127  void socketConnected();
128  void socketDisconnected();
129  void recevoir();
130 
131 signals:
132  void groomDetecte(QString nomPeripherique, QString adressePeripherique);
133  void connexionGroom(QString nomPeripherique, QString adressePeripherique);
134  void deconnexionGroom(QString nomPeripherique, QString adressePeripherique);
135  void rechercheTerminee();
136  void actualiserEtats(int Groom, int Sonnette, int Presence, int ModeSonnette, int ModePresence);
137 };
138 
139 #endif // COMMUNICATIONGROOM_H
Presence
@ Presence
Definition: CommunicationGroom.h:89
CommunicationGroom::fabriquerTrame
QString fabriquerTrame(EtatGroom etatGroom, EtatSonnette etatSonnette, EtatPresence etatPresence)
Méthode de fabrication de la trame "CMD".
Definition: CommunicationGroom.cpp:281
CommunicationGroom::trameReception
QString trameReception
Chaine de caractères de la trame de reception.
Definition: CommunicationGroom.h:117
Sonnette
@ Sonnette
Definition: CommunicationGroom.h:88
CommunicationGroom::connexionGroom
void connexionGroom(QString nomPeripherique, QString adressePeripherique)
EtatSonnette
EtatSonnette
Définit les différents états du mode Sonnette.
Definition: CommunicationGroom.h:63
CommunicationGroom::nomPeripheriqueBluetooth
QString nomPeripheriqueBluetooth
Nom du périphérique local.
Definition: CommunicationGroom.h:112
CommunicationGroom::estConnecte
bool estConnecte()
Méthode pour valider la connexion ou non.
Definition: CommunicationGroom.cpp:143
CommunicationGroom::terminerRecherche
void terminerRecherche()
Slot de fin de recherche bluetooth.
Definition: CommunicationGroom.cpp:185
CommunicationGroom::adressePeripheriqueGroom
QString adressePeripheriqueGroom
Adresse MAC du périphérique distant.
Definition: CommunicationGroom.h:114
CommunicationGroom::socketConnected
void socketConnected()
Slot de connexion au socket.
Definition: CommunicationGroom.cpp:159
Arret
@ Arret
Definition: CommunicationGroom.h:75
CommunicationGroom::groom
QBluetoothDeviceInfo groom
Le module Bluetooth GROOM.
Definition: CommunicationGroom.h:111
Desactive
@ Desactive
Definition: CommunicationGroom.h:65
CommunicationGroom::deconnecter
void deconnecter()
Slot de déconnexion bluetooth.
Definition: CommunicationGroom.cpp:124
CommunicationGroom::peripheriqueGroomTrouve
bool peripheriqueGroomTrouve
Booléen si periphérique trouvé ou non.
Definition: CommunicationGroom.h:115
CommunicationGroom::rechercheTerminee
void rechercheTerminee()
CommunicationGroom::deviceDiscovered
void deviceDiscovered(const QBluetoothDeviceInfo &device)
Slot d'affichage de périphériques.
Definition: CommunicationGroom.cpp:196
Marche
@ Marche
Definition: CommunicationGroom.h:76
Occupe
@ Occupe
L'occupant est occupé
Definition: CommunicationGroom.h:35
Absent
@ Absent
L'occupant est absent.
Definition: CommunicationGroom.h:34
CommunicationGroom::discoveryAgent
QBluetoothDeviceDiscoveryAgent * discoveryAgent
Pointeur vers la classe QBluetoothDeviceDiscoveryAgent de détection de périphériques.
Definition: CommunicationGroom.h:116
CommunicationGroom
Definition: CommunicationGroom.h:94
Etat
@ Etat
Definition: CommunicationGroom.h:87
CommunicationGroom::socketDisconnected
void socketDisconnected()
Slot de déconnexion au socket.
Definition: CommunicationGroom.cpp:172
CommunicationGroom::CommunicationGroom
CommunicationGroom(QObject *parent=nullptr)
Déclaration du constructeur.
Definition: CommunicationGroom.cpp:18
CommunicationGroom::nomPeripheriqueGroom
QString nomPeripheriqueGroom
Nom du périphérique distant.
Definition: CommunicationGroom.h:113
ModePresence
@ ModePresence
Definition: CommunicationGroom.h:91
Entete
@ Entete
Definition: CommunicationGroom.h:86
Emplacements
Emplacements
Définit les différents emplacement des données de la trame.
Definition: CommunicationGroom.h:84
CommunicationGroom::connecter
void connecter()
Slot de connexion bluetooth.
Definition: CommunicationGroom.cpp:87
Entrez
@ Entrez
Ordre envoyé par l'occupant au groom.
Definition: CommunicationGroom.h:36
EtatGroom
EtatGroom
Définit les différents états du groom.
Definition: CommunicationGroom.h:31
CommunicationGroom::recevoir
void recevoir()
Slot de reception de trame.
Definition: CommunicationGroom.cpp:215
DetectionSonnette
DetectionSonnette
Définit la détection d'un appui sur la sonnette.
Definition: CommunicationGroom.h:43
CommunicationGroom::groomDetecte
void groomDetecte(QString nomPeripherique, QString adressePeripherique)
ModeSonnette
@ ModeSonnette
Definition: CommunicationGroom.h:90
Detecte
@ Detecte
Definition: CommunicationGroom.h:56
CommunicationGroom::~CommunicationGroom
~CommunicationGroom()
Déclaration du destructeur.
Definition: CommunicationGroom.cpp:30
CommunicationGroom::traiterTrameReception
QStringList traiterTrameReception(QString trame)
Méthode de traitement de trame de l'état de l'occupant.
Definition: CommunicationGroom.cpp:323
CommunicationGroom::rechercher
void rechercher()
Méthode de recherche bluetooth.
Definition: CommunicationGroom.cpp:66
CommunicationGroom::peripheriqueBluetooth
QBluetoothLocalDevice peripheriqueBluetooth
L'interface Bluetooth du dongle PC.
Definition: CommunicationGroom.h:109
CommunicationGroom::actualiserEtats
void actualiserEtats(int Groom, int Sonnette, int Presence, int ModeSonnette, int ModePresence)
Active
@ Active
Definition: CommunicationGroom.h:66
EtatPresence
EtatPresence
Définit les différents états du mode Détecteur de présence.
Definition: CommunicationGroom.h:73
CommunicationGroom::serviceInfoBluetooth
QBluetoothServiceInfo serviceInfoBluetooth
Informations sur le service bluetooth.
Definition: CommunicationGroom.h:110
PasSonne
@ PasSonne
Definition: CommunicationGroom.h:45
Libre
@ Libre
Le bureau de loccupant est libre d'accès.
Definition: CommunicationGroom.h:33
CommunicationGroom::envoyer
void envoyer(QString trame)
Méthode d'envoi de trame.
Definition: CommunicationGroom.cpp:265
NonDetecte
@ NonDetecte
Definition: CommunicationGroom.h:55
QObject
CommunicationGroom::socketBluetooth
QBluetoothSocket * socketBluetooth
La socket de communication Bluetooth (client)
Definition: CommunicationGroom.h:108
CommunicationGroom::initialiserBluetooth
void initialiserBluetooth()
Méthode inititialisation du bluetooth.
Definition: CommunicationGroom.cpp:42
CommunicationGroom::fabriquerTrameMessageOccupant
QString fabriquerTrameMessageOccupant(QString messageOccupant)
Méthode de fabrication de la trame "MSGPERSO".
Definition: CommunicationGroom.cpp:304
ASonne
@ ASonne
Definition: CommunicationGroom.h:46
CommunicationGroom::deconnexionGroom
void deconnexionGroom(QString nomPeripherique, QString adressePeripherique)
DetectionPresence
DetectionPresence
Définit la détection d'unen présence.
Definition: CommunicationGroom.h:53