Paso 17: Esquema de Control
La aplicación de Android se conecta a un socket de TCP/IP expuesto directamente a Internet. Los comandos disponibles son:
- NEED_CHALLENGE
- ABIERTO
- CERRAR
- GET_STATUS
Las respuestas posibles desde el núcleo de la chispa:
- DOOR_OPEN
- DOOR_CLOSED
- DOOR_MOVING
- SESSION_EXPIRED
Puesto que el núcleo tiene acceso al sensor de la sola puerta, no hay ninguna manera de saber si la puerta ha terminado de mover, o si se detiene en la posición abierta. Sólo podemos identificar la posición de cerrado. Debido a esto, se estima el tiempo que tarda la puerta abrir o cerrar por el núcleo, especificado por doorTravelTimer. El valor predeterminado se establece en 4,5 segundos.
Después de recibe un comando abrir o cerrar, el núcleo seguirá enviando el estado de cada solicitud GET_STATUS, los DOOR_MOVING hasta que caduque la doorTravelTimer . En ese punto el núcleo se leer el sensor e informe DOOR_OPEN o DOOR_CLOSED.
Android de la aplicación reacciona a estos informes de estado a partir de diferentes animaciones, o poner imágenes de estado.