Groom  1.1
BTS SNIR LaSalle Avignon 2021
Protocole de communication

Version 0.9c

Trame Groom

La trame est composée de caractères ASCII. Le délimiteur de champ est le ;. Le délimiteur de début est le $ suivi de GROOM qui indique le nom du protocole. Le délimiteur de fin de trame est \r\n.

Sens : Groom → PC/Tablette

Format : $GROOM;ETAT;SONNETTE;PRESENCE;MODE_SONNETTE;MODE_PRESENCE\r\n

Le champ ETAT peut prendre 3 valeurs différentes :

  • Libre 0
  • Absent 1
  • Occupé 2

Le champ SONNETTE précise si un appel a été réalisé. Le champ PRESENCE aura la valeur 1 dans le cas où une personne a été détectée devant le groom. Le champ MODE_SONNETTE précise l’état d’activation 1 (activé) ou 0 (désactivé) de la sonnette. Le champ MODE_PRESENCE précise l’état d’activation 1 (activé) ou 0 (désactivé) du détecteur de présence.

Cette trame est envoyée par le Groom lorsque celui-ci a détecté un changement d’état (ETAT, SONNETTE et/ou PRESENCE) ou de mode (MODE_SONNETTE/MODE_PRESENCE).

Exemple : $GROOM;0;1;1;1;1\r\n

L’accès au bureau pour les visiteurs est possible ( ETAT=0 donc LIBRE). Le visiteur a “sonné” (SONNETTE=1) et il a été détecté (PRESENCE=1).

Trame Commande

Sens : PC/Tablette → Groom Format : $CMD;ORDRE;SONNETTE;PRESENCE\r\n

Le champ ORDRE peut prendre 4 valeurs différentes :

  • Libre 0
  • Absent 1
  • Occupé 2
  • Entrez 3

Le champ SONNETTE précise l’état d’activation 1 ou 0 (désactivé) de la sonnette. Le champ PRESENCE précise l’état d’activation 1 ou 0 (désactivé) du détecteur de présence. Ceci est utile lorsque le Groom est placé dans une zone où de nombreux passages existent (toilette, couloir, ... )

Exemple : $CMD;1;0;0\r\n

L’accès au bureau pour les visiteurs est possible ( ORDRE=1 donc ABSENT). Le visiteur ne sera pas détecté (PRESENCE=0 donc le détecteur de présence est désactivé) et ne pourra pas “sonner” (SONNETTE=0 donc désactivée).

Trame Etat

Sens : PC/Tablette → Groom Format : $ETAT\r\n

La trame ETAT est une trame de requête permettant d’obtenir l’état courant du GROOM. Celui-ci renvoie alors une trame $GROOM;ETAT....

Trame de service

Aapplication vers système :

L’application envoie périodiquement (toutes les secondes) une trame ALIVE pour maintenir la connexion ouverte.

Décomposition d’une trame :

$GROOM;A\r\n signifie A = Alive

Remarque : la trame ne contient aucun espace

Le système répondra par une trame d’acquittement.

Décomposition d’une trame :

$GROOM ; A \r\n signifie A = Ack

Remarque : la trame ne contient aucun espace

Trame Affichage

La trame est composée de caractères ASCII. Le délimiteur de champ est le ;. Le délimiteur de fin de trame est \r\n.

Sens : PC/Tablette → Groom Format : $AFFICHAGE;NOM;PRENOM;FONCTION\r\n

La trame AFFICHAGE transportera le NOM, le PRENOM et la FONCTION de la personne qui occupe le bureau. Ces différents champs contiennent des chaînes de caractères qui seront utilisées directement pour l’affichage sur le groom.

Exemple : $AFFICHAGE;COPIN;Olivier;DDFPT\r\n

La personne qui occupe le bureau est Olivier COPIN dont la fonction est DDFPT (Directeur Délégué aux Formations Professionnelles et Technologiques).

Trame MsgPerso

La trame est composée de caractères ASCII. Le délimiteur de champ est le ;. Le délimiteur de fin de trame est \r\n.

Sens : PC/Tablette → Groom Format : $MSGPERSO;messageperso\r\n

Cette trame sera envoyé que lorsque l’utilisateur du bureau voudra afficher un message personnalisé court.

Exemple : $MSGPERSO;Je reviens dans 10 minutes\r\n

Le message "Je reviens dans 10 minutes" sera affiché sur l’écran du groom.