Système de domotique (étude de cas logicielle)

Copyright: Copyright

Cahier des charges

Un thermostat programmable contrôle un chauffage et un conditionneur d’air en fonction de données entrées à l’aide d’un pavé de dix boutons par un utilisateur. En fonctionnement, le thermostat agit soit sur le chauffage, soit sur le conditionneur d’air, pour faire converger la température ambiante vers la température cible courante. Au chauffage et au conditionneur d’air s’ajoute un ventilateur également contrôlé par le thermostat. En fonctionnement, le thermostat contrôle chacun de ces trois éléments par le biais de trois relais de puissance. Le thermostat établit la température ambiante à l’aide d’un capteur de température. Le cycle et le mode de rafraîchissement de cette information ne sont pas connus car ils dépendent du dispositif retenu pour l’installation finale. En effet, en fonction de contraintes matérielles et logicielles ultérieurement définies (type de capteur, protocole de communication, etc.), la spécification doit être suffisamment flexible pour s’adapter à ces contraintes.

Le thermostat a besoin à tout moment de quatre informations : la température ambiante, l’heure et le jour courants, la température cible courante, ainsi que la constante « delta » telle que la condition d’arrêt du chauffage soit exprimée par « température ambiante > température cible courante + delta », et la condition d’arrêt du conditionneur d’air soit exprimée par « température ambiante < température cible courante - delta ». Le ventilateur est piloté via un commutateur comportant deux modes : le mode forcé entraîne le fonctionnement du ventilateur quelle que soit la situation. Le mode automatique n’entraîne lui au contraire la mise en marche du ventilateur que si le chauffage ou le conditionneur d’air se lance. En mode automatique, le ventilateur s’arrête aussi si le chauffage ou le conditionneur d’air s’arrête. La température cible est décrite dans une table de huit valeurs préalablement entrées par l’utilisateur. Avec chaque valeur est enregistrée une heure. Par convention, les quatre premières heures enregistrées décrivent les instants d’une journée de la semaine auxquels la température cible va changer. Les quatre dernières heures elles, décrivent les instants d’une journée du week-end auxquels la température cible va changer.

Exemple :

Le thermostat dépend d’une interface utilisateur intégrant le pavé de dix boutons. Un témoin d’activité, un commutateur de saison et un commutateur de ventilation sont aussi membres de l’interface utilisateur. Chaque commutateur accepte une valeur de paramètre parmi deux ou trois possibilités. Les commutateurs et leurs valeurs de paramètre se présentent ainsi comme suit :

Le témoin d’activité quant à lui ne s’allume que si le chauffage est actif ou si le conditionneur d’air est actif. L’interface utilisateur est dotée d’un système alternant toutes les deux secondes l’affichage de l’heure et du jour courants avec l’affichage de la température ambiante, ainsi qu’un système d’affichage de la température cible courante (cf. figure). C’est le mode d’activité de programme (état Operate) dans lequel le thermostat vérifie seconde par seconde si l’heure courante est égale à l’instant auquel la température cible doit changer. Dans un tel cas, il faut passer à la période de programmation suivante et fixer la nouvelle température cible courante à partir de la table. Il est cependant possible de ne pas tenir compte du programme en maintenant jusqu’à nouvel ordre la température cible courante (bouton Hold temp de l’interface utilisateur). Le mode alternatif au mode d’activité de programme est le mode de configuration/programmation (état Setup). Les données affichées par l’interface utilisateur dépendent alors du fait que l’on configure le jour et l’heure courants du thermostat ou alors que l’on programme la table avec de nouvelles températures cibles à des créneaux horaires précis. L’affichage a cet aspect :

Interface utilisateur

Dans la figure, les quatre lignes correspondent à quatre possibilités de visualisation. Dans une ligne donnée, il y a deux zones d’affichage. Selon l’état courant du thermostat programmable, ces zones sont réservées à l’affichage de données bien précises. En ce sens, nous avons mentionné en italique, pour information, l’état dans lequel se trouverait le thermostat pour être en mesure d’afficher le type de données. Par exemple, la première ligne en haut de la figure, il apparaît à gauche, le jour et l’heure courants et à droite, la température cible courante à atteindre. C’est seulement dans l’état Operate et son sous-état Target temperature displaying que cela est possible.

Chacun des dix boutons du pavé génère un événement chaque fois qu’il est poussé. Il y a donc un type d’événement par bouton :

Spécification

UML Structure, Class Diagram (domain)


UML Structure, Class Diagram (application)


UML Behavior, State Machine Diagram (internal)


UML Behavior, OCL


UML Behavior, State Machine Diagram (external)

Implémentation (Java)

UML Communication Diagram (PauWare)


       

Graphical User Interface (GUI) in JavaFX and Java ME

Implémentation (Enterprise Architect)

UML Class Diagram


UML State Machine Diagram


UML Activity Diagram


UML Communication Diagram


UML Component Diagram


Ressources