Está en la página 1de 27

FACULTAD DE CIENCIAS DE LA

COMPUTACIÓN

INGENIERÍA EN TECNOLOGÍAS DE LA INFORMACIÓN

Materia: Arquitectura de Software

Profesor: Juan Manuel González Calleros

Período: Otoño 2023

Alumnos:
Bryan Armando Reyes Pérez
Emmanuel Márquez Cortez
Raymundo Sandoval Romero
Mario Alonso Nunez Zavala
Marco Antonio Maldonado Gutierrez

Tema: Diseño de Arquitectura

Fecha: 25/09/23
Contenido
Funcionalidades de la Casa Iteligente 3
1.- Control de iluminación 4
Dispositivo(s): 4
● Bombillas inteligentes 4
● Sensores de movimiento 5
● Smart Switches o botones 5
● HUB lightning system (Singleton instance) 6
2.- Sistema de Temperatura 6
Dispositivos: 6
● Sensores de temperatura 6
● Termostatos inteligentes 7
● Equipo HVAC 7
● Accesorios secundarios 7
● Instancia Singleton en HUB temperature control 7
3.- Sistemas de Seguridad 8
Dispositivos: 8
● Cámaras de Seguridad 8
● Cerraduras Inteligentes 8
4.- Interacción por Voz 9
Dispositivos: 9
● Asistente por voz 9
● Desarrollo en función de la plataforma elegida 9
● Implementar comando de voz 9
● Conectar dispositivos 9
● Probar 9
● Proceso Asíncrono 10
● Despliegue & publicar 10
● Feedback & actualizaciones 10
● Seguridad y privacidad 10
● Documentar y dar Soporte 10
5.- Perfiles 10
6.- Gestión de energía 11
● Auditar consumo energético 11
● Inventario de energía 11
● Base de datos del consumo de energía en nuestro HUB 11
● Inspecciones semestrales 11
7.- Sistemas de entretenimiento 11
Dispositivos: 12
● Televisor inteligente 12
● Altavoces Inteligentes 12
● Control de voz 12
8.- Monitoreo de signos vitales / estado de ánimo 12
Dispositivos: 12
● Recolección de datos 12
> Sensores biométricos 13
> Sensores de “Ocupación” 13
> Sensores ambientales 13
● Análisis de la data recolectada 13
● Mapeo de emociones 13
● Automatización de Reglas 13
● Integración con el resto de nuestros dispositivos 14
● User Interaction 14
● Privacidad y Seguridad 14
● Testing & Optimización 14
● Escalabilidad y Expansión 14
● Monitoreo y Mantenimiento 14
Consideraciones 14
Identificación de Patrones de Diseño 15
1. Singleton 15
2. Observer 15
3. Factory 15
4. Decorator 15
5. Command 16
Diagramas 17
Singleton 17
Subject-Observer 17
Factory 18
Decorator 19
COMMAND 20
Control de iluminación 20
Sistema de seguridad 21
Sistema de entretenimiento 22
Diagrama de interacción 23
Casos de uso 23
Conclusión 25
Funcionalidades de la Casa Iteligente
A continuación, se enlistan todos los sistemas (y sus componentes) que
requerimos para implementar la meta de tener un hogar a nuestra medida
aprovechando la potencia y estado actual de desarrollo del IoT (Internet Of
Things), que nos permite controlar remotamente multitud de dispositivos
gracias a sus capacidad de conectarse a una red, y compatibilidad con apps ya
sea del mismo proveedor o de terceros.
ATENCIÓN: La construcción de cada sistema involucra varios pasos, entre ellos
la selección del hardware adecuado y posicionado en el lugar correcto;
configuración de software y protocolos de comunicación.
En cada sistema debemos considerar los siguientes puntos:
● Definir nuestras metas.
¿Qué espacios se desea adecuar y con qué condiciones? Por ejemplo,
para el caso del sistema de control de temperatura, ¿cuáles serán los
mínimos y máximos de calor y frío que se establecerán?
● La instalación.
Conexiones y configuraciones.
● La plataforma o HUB (El nodo “maestro” o de control que centraliza la
gestión de cada sistema).
● Test de Optimización y sondeo de errores.
Antes de dar por terminado la instalación y funcionamiento de cada
sistema, se ha de ejecutar pruebas para buscar inconsistencias de red,
comunicación o enlace. Una vez que todo OK, es recomendable enfocar
las pruebas a optimizar procesos y así cubrir la búsqueda de
desperdicio energético e identificación de “zonas de entrada” (lo cual
ayuda en demasía los periodos de mantenimiento, así como
documentarlos resultará útil).
● Garantizar la seguridad y privacidad
Asegurarnos de que cada dispositivo está actualizado en su firmware
(microcódigo con el que opera el hardware), el uso de contraseñas
fuertes (y cambiarlas recomendablemente en periodos de 3 a 6 meses),

Página 3
y antes de instalar nada revisar las cláusulas de cada proveedor (que no
nos gane la euforia).
● Expandir y personalizar
Considerar que es muy probables de que más adelante añadiremos o
quitaremos dispositivos. Lo mejor será tener una estructura flexible en
cada sistema para permitir cambios a lo largo del tiempo.
● Fuentes de poder
Además de asegurarnos de contar con un inventario de baterías y
garantizar un suplemento de energía constante.

1.- Control de iluminación


Con él gestionamos y ajustamos la iluminación de diversos espacios dentro
del hogar de manera automatizada y personalizada. Lo logramos utilizando
tecnología y dispositivos conectados. Esta funcionalidad busca mejorar la
comodidad y la conveniencia al permitir a los residentes controlar las luces de
manera remota y adaptar el nivel de luz según las necesidades y preferencias
individuales.

Dispositivo(s):
Para implementar un completo sistema de iluminación requerimos de los
siguientes materiales.

● Bombillas inteligentes
Se trata de focos que pueden ser controlados remotamente usando
tecnología wireless a través de una app en el smartphone o un
asistente inteligente del hogar. Estos se conectan a un hub dedicado o
nuestra red wifi, permitiéndonos cambiar su brillo, color u otras
configuraciones.
NOTA: También pueden responder a comandos de voz.
Marcas recomendadas: Phillips Hue por su amplio reconocimiento en
productos de iluminación, o LIFX más especializada en la fabricación de
este tipo de bombillas.
Desventajas:
> Costo; el cual es mayor que el de las bombillas LED tradicionales.
> Riesgo de inutilización ante problemas de red o fallos de software.

Página 4
> Instalación; instrucciones específicas para emparejar con hub o red.
> Problemas de compatibilidad (fijarse antes de comprar).
> Durabilidad / ciclo de vida puede ser menor al uso tradicional.
> Posible interferencia de otros dispositivos controlados en remoto.
> Mantenimiento un poco más demandante que con bombillas
tradicionales.
> Consideraciones de privacidad; ya que algunos proveedores
requieren compartirla con sub-proveedores.
> Riesgo de hacking; evitable con firmware actualizado y password
fuertes.

● Sensores de movimiento
Se trata de dispositivos que detectan el movimiento y disparan en
respuesta a un evento o acción basados en dicho movimiento.
Se suelen utilizar en sistemas de seguridad, control de iluminación,
automatización del hogar y más.
Funcionamiento: Detectan cambios en la radiación infrarroja u otros
factores ambientales dentro de su rango de alcance.
Uso en nuestro sistema de iluminación: ahorrar energía cuando no hay
habitantes dentro de un área específica.
Desventajas:
> Retos de integración con el resto del sistema (revisar
compatibilidad).
> Tiempo de respuesta, ya que algunos sensores pueden tener un
retraso demorando el evento que deben llevar a cabo.
> Adaptación a mascotas para excluirlas de la detección.
> Mantenimiento.

● Smart Switches o botones


Es necesario contar con controles “físicos” que nos permitan hacer un
bypass a la automatización de nuestros dispositivos, en este caso los
encargados de la iluminación inteligente. Estos nos proveen una
conveniente forma de interactuar sin comandos de voz, una app en el
celular o el hub que centraliza este control.
Con ellos tenemos ambas opciones, lo físico y lo digital.

Página 5
● HUB lightning system (Singleton instance)
Nos permitirá conectar y controlar todos nuestros dispositivos de
iluminación desde un solo lugar. Desde aquí configuraremos las rutinas
de automatización, escenas (cambios de color, ajuste de brillo,
integracion, agrupacion de bombillas para que estas trabajen como un
sola, optimización de energia por bombilla, una posible calendaracion
de como deseamos la iluminacion en los proximos dias, semanas o
periodos de tiempo mas largos).

Figura 1: HUB Google Nest para el control de una casa inteligente

2.- Sistema de Temperatura


Con él controlamos y regulamos la temperatura ambiente en diversos
espacios de la casa de manera automatizada y personalizada, por lo que esto
se logra mediante la integración de tecnologías de control y sensores que
permiten ajustar la temperatura de acuerdo a las preferencias del usuario.

Dispositivos:

● Sensores de temperatura
Algunos que conviene considerar son: thermistors (resistencias para
soportar cambios de temperaturas), sensores digitales (para proveer
lectura de señales eléctricas sobre la temperatura actual y pasada.
resulta útil para llevar un historial de la misma) y sensores por
control remoto.

Página 6
● Termostatos inteligentes
Se trata de dispositivos para el control de calor (heating), ventilación
(ventilation) y aire acondicionado (air conditioning) (HVAC) para la
configuración de nuestros sensores y los ciclos de temperatura.
NOTA: Algunos de ellos ya vienen con sensores integrados.

● Equipo HVAC
Una vez seleccionado el HVAC, se podría requerir software adicional
para definir una interfaz que soporte la comunicación con nuestra
plataforma o HUB de nuestro hogar inteligente.

● Accesorios secundarios
De acuerdo a nuestros requerimientos, ocuparemos elementos como
rejillas de ventilación (adicionales a las que nos ofrece nuestro HVAC)
y persianas que cierren y abran automáticamente para aprovechar la
luz natural del día.

● Instancia Singleton en HUB temperature control


Dentro de nuestro HUB general para el control de cada sistema, para
el caso del de temperatura reservamos este espacio para la instalación
de nuestra instancia del patrón de arquitectura Singleton.

Página 7
3.- Sistemas de Seguridad
Son los componentes diseñados para proteger y salvaguardar la propiedad y
los ocupantes o los bienes dentro de una casa utilizando tecnología avanzada
y conectividad y estos sistemas integran una variedad de dispositivos y
sensores que permiten detectar, prevenir y responder a situaciones
potencialmente peligrosas o intrusivas.

Dispositivos:

● Cámaras de Seguridad
Tener cámaras de seguridad de circuito cerrado nos permite proteger
nuestro hogar ya que podemos tener una o varias cámaras para poder
vigilar diferentes áreas de nuestra casa. Un Circuito Cerrado de
Televisión (CCTV) es una instalación de cámaras de seguridad
conectadas, este crea un circuito de imágenes que solo puede ver una
persona o grupo de personas predeterminado. Las cámaras CCTV
toman grabaciones y son enviadas a unos monitores por medio de
cable o inalámbricamente, en estas imágenes o grabaciones solo las
pueden ver las personas determinadas o calificadas. Se puede observar
en directo a distancia, así mismo las grabaciones son almacenadas en
equipos pensados para ello. Actualmente ya se puede iniciar una
grabación cuando la cámara identifica el movimiento y esto nos ahorra
espacio de almacenamiento, además, se notifica mediante email o
SMS. Solo se necesita un monitor para poder tener varias cámaras
CCTV y dependiendo el equipo se puede dividir la pantalla para poder
visualizar todas las cámaras en un solo equipo. Existen diferentes tipos
de cámaras de CCTV pero para saber cual necesitamos es necesario
saber las necesidades que queremos cubrir.

● Cerraduras Inteligentes
Existen diferentes tipos de cerraduras inteligentes, en cuanto a precio y
opciones que nos da el mercado, pero podemos encontrar la mejor
opción para nuestras necesidades. Todas se pueden usar por medio de
su aplicación o igual son compatibles con otras aplicaciones.

Página 8
4.- Interacción por Voz
Tiene la capacidad de controlar y comunicarse con los dispositivos y sistemas
de la casa utilizando comandos de voz, por lo que esto implica la integración
de tecnologías de reconocimiento de voz y procesamiento del lenguaje
natural en la infraestructura de la casa para permitir que los usuarios
interactúen con su entorno de manera más intuitiva y conveniente.

Dispositivos:

● Asistente por voz


Las opciones populares incluyen Amazon Alexa, Google Assistant o
Apple HomeKit.

● Desarrollo en función de la plataforma elegida


Registrarse como desarrollador en la plataforma seleccionada, lo cual
nos da acceso a sus herramientas y recursos de desarrollador.
Usar el SDK provisto y las API’s para construir comandos voz-control
para accionar eventos (investigar la terminología y cambiar el idioma
de ser necesario).
Finalmente, crear una cuenta de desarrollador para configurar los
dispositivos de nuestro hogar para trabajar con nuestra plataforma.

● Implementar comando de voz


Definir los comandos o frases que activan los eventos de nuestro
dispositivos (amigables y fáciles de entender).
Implementar reconocimiento de voz y Natural Language Process (NLP)
para interpretar y entender solicitudes por parte de los usuarios.

● Conectar dispositivos
Asegurarse de que todos los dispositivos estén conectados en la misma
red que el asistente, y que sean compatibles con este.

● Probar
Probar que las acciones asociadas con el comando se ejecuten tal y
como se espera.

Página 9
● Proceso Asíncrono
El procesamiento de comandos puede involucrar encolado de órdenes.
La optimización en el tiempo de respuesta reduciendo la latencia es un
beneficio de trabajar los comandos de forma asíncrona.

● Despliegue & publicar


Desplegar y descubrir el sistema de control de voz dentro de la red de
nuestro hogar.

● Feedback & actualizaciones


La continua recolección del funcionamiento del sistema permitirá
mejorar problemas o limitaciones.
NOTA: Considerar incluir nuevos comandos de voz y extender
capacidades a lo largo del tiempo.

● Seguridad y privacidad
Asegurarnos de proteger nuestros datos y el control de quienes pueden
ejecutar los comandos.
Prestar especial detalle a los terceros (si existen) con quienes nuestro
asistente comparte nuestro comportamiento al realizar nuestro
comando de voz.

● Documentar y dar Soporte


Categorizar y documentar los comandos de voz.
Importante mantener contacto con quienes hallar soporte y solución a
problemas que se puedan presentar (generalmente el mismo
proveedor de nuestro asistente).

5.- Perfiles
Son capaces de configurar y personalizar distintas configuraciones y
preferencias para los diferentes miembros o usuarios que interactúan con el
sistema de automatización del hogar y cada perfil está asociado a una
persona o grupo de personas específicas y permite que la casa inteligente
adapta su funcionamiento según las necesidades y preferencias individuales
de cada usuario (resolver conflictos).

Página 10
6.- Gestión de energía
Con este sistema lo que buscamos es reducir el consumo de energía e
incrementar así la eficiencia con la que se usa.

● Auditar consumo energético


Debemos realizar un minisistema de auditoría de energía.
¿Qué necesitamos para lograrlo?
Recolectar todas facturas de luz y extraer información sobre uso y
costos. Para esto nos podemos ayudar de la ya funcionalidad incluida
con la mayoría de nuestros dispositivos como sensores o bombillas
inteligentes. De modo que, lo que queda es instalar un app en nuestro
HUB que automatice el monitoreo e identificación de gastos, como
puede ser EnergyHub (https://www.energyhub.com/).

● Inventario de energía
Enumerar electrodomésticos, dispositivos de iluminación, refrigeración
y demás dispositivos electrónicos y especializar la auditoría a este nivel.
De nuevo, nos podemos ayudar definiendo una opción en nuestro HUB
enfocada a este desglose de información.

● Base de datos del consumo de energía en nuestro HUB


Posteriormente, definir una base de datos sobre la energía de la cual se
hace uso para la identificación de patrones.

● Inspecciones semestrales
Establecer periodos de tiempo para la inspección manual de fugas,
corrientes de aire, aislamiento en componentes y revisiones a
ventanas y puertas.

7.- Sistemas de entretenimiento


Con este sistema lo que buscamos es enriquecer la forma en que las personas
disfrutan de diversos componentes electrónicos y servicios digitales. Estos
aprovechando la tecnología de la internet de las cosas (IoT) y la domótica

Página 11
para ofrecer una experiencia de entretenimiento más conveniente,
personalizada y conectada.

Dispositivos:

● Televisor inteligente
Son uno de los dispositivos con acceso a aplicaciones en línea que
ofrece una variedad de canales o programas para ver, así como la
capacidad de conectarse a otros dispositivos.

● Altavoces Inteligentes
Son dispositivos de audio que incorporan tecnología avanzada de
inteligencia artificial y conectividad para mejorar la experiencia de
audio y brindar funcionalidades adicionales.Estos dispositivos son
diseñados para ser controlados de manera remota y pueden integrarse
con otros dispositivos.

● Control de voz
Esto permitirá al usuario controlar los dispositivos de altavoces
inteligentes así como la televisión utilizando comandos de voz.

8.- Monitoreo de signos vitales / estado de ánimo


NOTA: Muy ambicioso

Para construir un sistema capaz de reaccionar a nuestro estado de ánimo, es


necesario que este sea capaz de controlar algunos aspectos, como lo son las
bombillas inteligentes del sistema de iluminación. Esto para promover la
relajación y reducir el estrés de un día agobiante, quizás cambiando luz a un
color más cálido e incluso añadiendo sonidos de la naturaleza.

Dispositivos:

● Recolección de datos
Reconocimiento de emociones que involucra el uso de cámara,
micrófonos o sensores para detectar temperatura, expresiones faciales,
tono de voz, sentimientos a partir de lo que decimos.

Página 12
> Sensores biométricos
“Wearable devices” o sensores para monitorear indicadores
fisiológicos como el ritmo cardiaco, conductividad en la piel o
temperatura.
> Sensores de “Ocupación”
Los cuales nos permiten detectar la presencia y movimiento de los
ocupantes dentro de una habitación.
> Sensores ambientales
Recolectan datos de la temperatura, humedad, iluminación o calidad
de el aire.

● Análisis de la data recolectada


Para determinar el estado de ánimo de los habitantes o sus
preferencias habrá que involucrar machine learning para
reconocimiento de emociones, patrones de reconocimiento y
correlación de datos.
RETO: Hacerlo en tiempo real con todo el gasto de recursos que ello
implica.

● Mapeo de emociones
Esto nos permitirá predefinir y configurar acciones con base a las
emociones mostradas por los habitantes.

● Automatización de Reglas
Definir reglas y escenarios basados en el mapeo de emociones, las
cuales determinan cómo nuestros dispositivos responden a los
diferentes estados de ánimo.
Ejemplos:
● Ante el estrés: atenuar las luces, tocar música relajante y enviar
una notificación con ejercicios o estiramientos para liberarlo.
● Si es la felicidad la detectada: incrementar el brillo de las luces y
reproducir música que estimule la sensación del baile.

Página 13
● Integración con el resto de nuestros dispositivos
Integración con luces, HVAC system, audio, asistentes.
NOTA: Asegurarnos que los dispositivos puedan ser controlados de
forma automática basados en las reglas ya definidas.

● User Interaction
Permitir al usuario sobrescribir reglas o proveer retroalimentación
sobre su estado de ánimo.

● Privacidad y Seguridad
Implementar una fuerte política de privacidad protegiendo toda la data
recolectada de cada habitante. Asegurarse de anonamilizarla y
guardarla bajo un fuerte sistema de autenticación.
NOTA: De ser necesario, solicitar consentimiento para siquiera
recolectarla.

● Testing & Optimización


Probar el sistema para saber si la respuesta ante cada emoción fue
adecuada.
Recolectar datos para mejorar el rendimiento y la precisión
interpretando emociones.

● Escalabilidad y Expansión
Considerar que el número de habitantes puede tanto crecer como
disminuir, en relación también pueden hacerlo los dispositivos.

● Monitoreo y Mantenimiento
El continuo monitoreo se hace necesario para detectar falsos positivos
en la detección de emociones.
Actualizaciones periódicas pueden mejorar la precisión del sistema.

Consideraciones
Crear un “Sistema detector de emociones” desde luego puede mejorar por
mucho nuestra experiencia viviendo en un hogar inteligente, ya que este
puede tener un gran impacto en el bienestar mental de sus ocupantes. Sin
embargo, es esencial lograr un balance entre la automatización y el control

Página 14
que usuario mientras que se respeten las preocupaciones de seguridad y
privacidad.

Identificación de Patrones de Diseño


1. Singleton
Es un sistema de registro en una aplicación que en lugar de crear
múltiples instancias del sistema de registro en diferentes partes del
programa, se pueda utilizar el patrón Singleton para asegurarte de que
solo exista una instancia y que todos los componentes accedan a la
misma instancia para mantener un registro coherente.

2. Observer
La idea central detrás del patrón es desacoplar los objetos que
producen cambios llamados sujetos u observables de los objetos que
deben reaccionar ante esos cambios llamados observadores que esto
promueve la modularidad y la flexibilidad en el diseño del software, ya
que los objetos pueden interactuar sin estar fuertemente acoplados
entre sí.

3. Factory
Es útil cuando se quiere desacoplar la creación de objetos de su uso
que proporciona una forma más flexible y mantenible de instanciar
objetos y hay diferentes variantes del patrón Factory, como el factory
method y el abstract factory

4. Decorator
Esta permite envolver un objeto original con una serie de objetos
decoradores, cada uno de los cuales agrega funcionalidad específica al
objeto original y proporciona una forma flexible de componer objetos
con diferentes funcionalidades sin necesidad de crear una clase para
cada combinación posible.

Página 15
5. Command
Es muy útil cuando se desea desacoplar el objeto que realiza la
solicitud del objeto que la recibe y la ejecuta y proporciona una mayor
flexibilidad y extensibilidad en el diseño del software, ya que los
comandos se pueden intercambiar fácilmente y las operaciones se
pueden realizar sin necesidad de conocer los detalles internos de los
objetos involucrados.

Página 16
Diagramas
Singleton

Subject-Observer

Página 17
Factory

Página 18
Decorator

Página 19
COMMAND
Control de iluminación

Sistema de temperatura

Página 20
Sistema de seguridad

Sistema de gestión de energía

Página 21
Sistema de entretenimiento

Monitoreo de estado de ánimo

Página 22
Diagrama de interacción

Casos de uso
Escenario:
La persona llega a su casa y se encienden las luces exteriores por medio de
los sensores de movimiento, al ingresar a su casa la persona tiene dos
opciones: encender las luces por medio de la voz o usando los smart
switches/botones.

Página 23
Escenario:
La persona al salir puede activar el sistema de seguridad, donde se cerraran
las ventanas, puertas y además se activa la alarma.

Escenario:
La persona puede hacer la petición al asistente de voz que encienda el
televisor o pedirle reproducir algún contenido en la bocina/altavoz o de lo
contrario desde el HUB puede seleccionar cualquiera de las dos acciones
anteriores.

Página 24
Conclusión
La creación de software es un proceso multidisciplinario en el cual convergen diseñadores de UX &
UI, programadores, marketing, QA’s, stakeholders, etc. Es por eso que es tan importante construir
modelos que orienten y describan los mejor posible como nuestras aplicaciones funcionan.

La arquitectura es uno de los componentes principales del Diseño de Software; en cual nos
enfocamos durante el desarrollo de nuestra casa inteligente, explorando patrones de diseño. Su
propósito es el de facilitarnos, a través de soluciones ya probadas en la práctica en proyectos
reales, “plantillas” que, con tales credenciales, nos damos a la tarea de modelar (para una gradual
implementación) que nos ahorren tiempo y esfuerzo, además de propiciar la escalabilidad y
mantenimiento de nuestras soluciones.

Los patrones nos dan enfoque, y permiten que nuestro producto de software este orientado a
cumplir con los tres pilares de SDLC (Software Development Lyfe Cycle): alta calidad, bajo coste y
todo dentro un periodo corto de tiempo.

Página 25
Página 26

También podría gustarte