Étape 17 : Système de contrôle
L’app Android se connecte à un socket TCP/IP exposé directement à Internet. Les commandes disponibles sont :
- NEED_CHALLENGE
- OUVERT
- FERMER
- GET_STATUS
Les réponses possibles de la base de la bougie :
- DOOR_OPEN
- DOOR_CLOSED
- DOOR_MOVING
- SESSION_EXPIRED
Étant donné que le noyau a accès au capteur de porte qu’un seul, il n’y a aucun moyen de savoir si la porte du garage a fini en se déplaçant, ou s’il est arrêté en position ouverte. Nous pouvons seulement identifier la position fermée. Pour cette raison, le temps que nécessaire pour que la porte ouvrir ou fermer est estimé par le noyau, spécifié par l' doorTravelTimer. La valeur par défaut est défini sur 4,5 secondes.
Après réception d’une commande OPEN ou CLOSE, le noyau continuera à envoyer le statut DOOR_MOVING pour chaque demande GET_STATUS, jusqu'à l’expiration de la doorTravelTimer . À ce moment-là, le noyau va lire le capteur et rapport soit DOOR_OPEN soit DOOR_CLOSED.
L’app Android réagit à ces rapports d’étape en démarrant des animations différentes, ou mettre des photos de l’État.