Project

General

Profile

Organización y planificación del Proyecto » History » Version 8

bastian cruz, 12/16/2025 05:09 PM

1 2 bastian cruz
h1=. II. Organización del proyecto
2 1 bastian cruz
3 2 bastian cruz
h2=. 2.1 Personal y entidades externas
4 1 bastian cruz
5 4 bastian cruz
p=. *Jefe del proyecto:* Renato Almeyda
6 4 bastian cruz
*Programador(es):* Renato Almeyda, Jeany Aravena
7 4 bastian cruz
*Diseñador:* Bastián Cruz
8 4 bastian cruz
*Ensamblador:* Josue Sucso
9 4 bastian cruz
*Documentador:* Bastián Cruz
10 1 bastian cruz
11 4 bastian cruz
12 2 bastian cruz
h2=. 2.2 Roles y responsabilidades
13 1 bastian cruz
14 1 bastian cruz
* *Jefe del proyecto:* Encargado de coordinar y supervisar el correcto avance de todos los procesos que componen el desarrollo del proyecto. Es representante del equipo de trabajo ante los profesores encargados del ramo y el resto de los equipos.
15 1 bastian cruz
* *Diseñador:* Se encarga de diseñar la interfaz de usuario y la experiencia de usuario de la aplicación móvil de alerta. Es responsable de crear el flujo de notificaciones que recibe el propietario.
16 1 bastian cruz
* *Programador(es):* Encargados de escribir el código que se ejecuta en el Raspberry Pi 4. Su trabajo es asegurar que el dispositivo pueda leer correctamente la información de los sensores, tomar las decisiones de seguridad (como verificar la velocidad y el código QR), y coordinar todas las partes del sistema para que funcionen de manera sincronizada.
17 1 bastian cruz
* *Ensamblador:* Encargado de la preparación física y el montaje del sistema. Sus responsabilidades incluyen: ensamblar el Raspberry Pi 4 con sus componentes (caja o chasis), cablear y conectar correctamente todos los sensores (velocidad, cámara) y periféricos al microcontrolador, y asegurar que la instalación del hardware sea funcional dentro del vehículo.
18 1 bastian cruz
* *Documentador:* Responsable de la gestión integral de la información del proyecto. Esto incluye la elaboración de informes de avance y bitácoras, así como la creación y mantenimiento de la Wiki para documentación técnica. Es el encargado de administrar la Carta Gantt dentro de la plataforma Redmine para el seguimiento y control del proyecto.
19 1 bastian cruz
20 2 bastian cruz
h2=. 2.3 Mecanismos de Comunicación
21 1 bastian cruz
22 5 bastian cruz
p=. *Canales internos:* Correo institucional, grupo de WhatsApp, Discord.
23 5 bastian cruz
*Documentación compartida:* Google Drive y GitHub (repositorio del proyecto).
24 1 bastian cruz
25 2 bastian cruz
h3=. Comunicaciones y Estándares Técnicos
26 1 bastian cruz
27 1 bastian cruz
* *Lenguajes de Programación:*
28 1 bastian cruz
** *Python:* Para la lógica del sistema en la Raspberry Pi 4 y el procesamiento de datos del acelerómetro y la cámara.
29 1 bastian cruz
** *Kotlin:* Para el desarrollo de la aplicación móvil nativa (Android).
30 1 bastian cruz
* *Lenguajes de Interfaz y Datos:*
31 1 bastian cruz
** *JSON (JavaScript Object Notation):* Como estándar de intercambio de datos para la comunicación entre el dispositivo IoT (Raspberry Pi) y la aplicación móvil.
32 1 bastian cruz
* *Comunicaciones para XR (Realidad Extendida):*
33 1 bastian cruz
** *C#:* Utilizado en el motor Unity para la creación de una maqueta virtual del proyecto, la cual será desplegada en un dispositivo Meta Quest 3.
34 1 bastian cruz
35 8 bastian cruz
_
36 8 bastian cruz
_
37 8 bastian cruz
_
38 8 bastian cruz
_
39 8 bastian cruz
40 1 bastian cruz
---
41 8 bastian cruz
42 8 bastian cruz
_
43 8 bastian cruz
_
44 8 bastian cruz
_
45 8 bastian cruz
_
46 8 bastian cruz
47 1 bastian cruz
48 2 bastian cruz
h1=. III. Planificación de los procesos de gestión
49 1 bastian cruz
50 2 bastian cruz
h2=. 3.1 Planificación inicial del proyecto
51 1 bastian cruz
52 2 bastian cruz
h3=. 3.1.1 Planificación de estimaciones
53 1 bastian cruz
54 2 bastian cruz
table{margin-left:auto;margin-right:auto}.
55 1 bastian cruz
|_. Producto |_. Cantidad |_. Costo por unidad |_. Costo Total |
56 2 bastian cruz
|=. Notebook (Uso) |=. 4 |=. $50.000 |=. $200.000 |
57 2 bastian cruz
|=. Raspberry PI 4 |=. 1 |=. $90.000 |=. $90.000 |
58 2 bastian cruz
|=. Sensor Cámara |=. 1 |=. $5.000 |=. $5.000 |
59 2 bastian cruz
|=. Sensor Acelerómetro |=. 1 |=. $5.000 |=. $5.000 |
60 2 bastian cruz
|=. Grove LCD RGB Backlight |=. 1 |=. $15.000 |=. $15.000 |
61 2 bastian cruz
|=. Tarjeta SD |=. 1 |=. $13.000 |=. $13.000 |
62 2 bastian cruz
|||| *Total: $328.000* |
63 1 bastian cruz
64 2 bastian cruz
h3=. 3.1.2 Planificación de Recursos Humanos
65 1 bastian cruz
66 2 bastian cruz
table{margin-left:auto;margin-right:auto}.
67 1 bastian cruz
|_. Roles |_. Tarifa x Hora |
68 2 bastian cruz
|=. Jefe de proyecto |=. $12.000 |
69 2 bastian cruz
|=. Programador |=. $10.000 |
70 2 bastian cruz
|=. Diseñador |=. $8.500 |
71 2 bastian cruz
|=. Documentador |=. $5.000 |
72 2 bastian cruz
|=. Ensamblador |=. $6.000 |
73 1 bastian cruz
74 2 bastian cruz
h3=. Tabla de Planificación de recursos totales
75 1 bastian cruz
76 2 bastian cruz
table{margin-left:auto;margin-right:auto}.
77 1 bastian cruz
|_. Miembro |_. Rol |_. Hora x mes |_. Meses de utilidad |_. Resultado |_. Pago Final |
78 2 bastian cruz
|=. Renato Almeyda |=. Jefe de proyecto |=. 40 |=. 4 |=. $1.920.000 |/2=. $3.520.000 |
79 2 bastian cruz
|=. Renato Almeyda |=. Programador |=. 40 |=. 4 |=. $1.600.000 |
80 2 bastian cruz
|=. Bastián Cruz |=. Diseñador |=. 40 |=. 2 |=. $680.000 |/2=. $1.480.000 |
81 2 bastian cruz
|=. Bastián Cruz |=. Documentador |=. 40 |=. 4 |=. $800.000 |
82 2 bastian cruz
|=. Josue Sucso |=. Documentador |=. 40 |=. 4 |=. $800.000 |/2=. $1.280.000 |
83 2 bastian cruz
|=. Josue Sucso |=. Ensamblador |=. 40 |=. 2 |=. $480.000 |
84 2 bastian cruz
|=. Jeany Aravena |=. Programador |=. 40 |=. 4 |=. $1.600.000 |=. $1.600.000 |
85 2 bastian cruz
|||||=. *Total* |=. *$7.880.000* |
86 1 bastian cruz
87 2 bastian cruz
p=. *Costo total del proyecto: $8.208.000*
88 1 bastian cruz
89 2 bastian cruz
h2=. 3.2 Lista de actividades (Carta Gantt)
90 3 bastian cruz
!Gantt.png!
91 1 bastian cruz
92 1 bastian cruz
93 2 bastian cruz
h2=. 3.3 Planificación de la gestión de riesgos
94 1 bastian cruz
95 2 bastian cruz
p=. *Niveles de impacto:* 1. Despreciable | 2. Marginal | 3. Crítico | 4. Catastrófico
96 2 bastian cruz
97 2 bastian cruz
table{margin-left:auto;margin-right:auto}.
98 1 bastian cruz
|_. Riesgo |_. Probabilidad |_. Impacto |_. Acción Remedial |
99 2 bastian cruz
|=. Retraso en la entrega de componentes (sensores, cámara, cables). |=. 70% |=. 2 |=. Reasignar tareas de software mientras se espera el hardware. Avanzar en simulación y documentación. |
100 2 bastian cruz
|=. Fallo en la compatibilidad de librerías entre sensores Grove y Raspberry Pi 4. |=. 60% |=. 2 |=. Buscar alternativas compatibles o adaptar código con librerías Python (ej. smbus, OpenCV, grovepi). |
101 2 bastian cruz
|=. Error en la lectura del QR por condiciones de luz o enfoque. |=. 30% |=. 2 |=. Implementar prueba de iluminación adicional con LED blanco o ajustar contraste por software. |
102 2 bastian cruz
|=. Fallas en la conexión Wi-Fi durante las pruebas. |=. 15% |=. 4 |=. Utilizar red local o conexión directa entre Raspberry y smartphone. |
103 2 bastian cruz
|=. Problemas de programación en la app móvil o en la comunicación con Raspberry. |=. 50% |=. 2 |=. Realizar pruebas modulares (API y comunicación). Dividir tareas por submódulos. |
104 1 bastian cruz
|=. Dificultad del equipo para coordinar horarios o tareas. |=. 20% |=. 3 |=. Planificar reuniones semanales y utilizar Google Drive y WhatsApp para actualizaciones rápidas. |
105 1 bastian cruz
|=. Sobrecarga académica o ausencia de un integrante clave. |=. 20% |=. 3 |=. Reasignar tareas temporalmente y mantener documentación actualizada para continuidad del trabajo. |
106 1 bastian cruz
|=. Problemas de Raspberry y sensores por motivos accidentales. |=. 20% |=. 1 |=. Manejar con cuidado el dispositivo Raspberry y cuidar que los sensores no se quemen. |
107 1 bastian cruz
|=. Deriva o calibración incorrecta del acelerómetro. |=. 50% |=. 3 |=. Establecer una rutina de calibración inicial del sensor y aplicar filtros digitales (ej. Filtro Complementario o Kalman). |
108 1 bastian cruz
|=. Problemas de seguridad en la transmisión de datos (IoT). |=. 40% |=. 4 |=. Implementar cifrado (SSL/TLS) en la comunicación entre el dispositivo (Raspberry Pi) y la aplicación móvil. |
109 4 bastian cruz
110 7 bastian cruz
---
111 4 bastian cruz
112 4 bastian cruz
h1=. V. Planificación de procesos técnicos
113 4 bastian cruz
114 4 bastian cruz
h2=. 5.1 Modelo de procesos
115 4 bastian cruz
116 4 bastian cruz
h3=. 5.1.1 Requisitos funcionales y no funcionales
117 4 bastian cruz
118 4 bastian cruz
h4=. 5.1.1.1 Tabla de requerimientos funcionales
119 4 bastian cruz
120 4 bastian cruz
table{margin-left:auto;margin-right:auto;width:100%}.
121 4 bastian cruz
|_. ID |_. Descripción |
122 4 bastian cruz
|=. RF 1 |=. El sistema debe generar un código QR dinámico que cambie periódicamente para permitir la autenticación del propietario del vehículo. |
123 4 bastian cruz
|=. RF 2 |=. El sistema debe capturar el QR mediante la cámara de la Raspberry Pi para validar al usuario autorizado. |
124 4 bastian cruz
|=. RF 3 |=. El sistema debe verificar el QR escaneado contra el código generado y determinar si es válido o no. |
125 4 bastian cruz
|=. RF 4 |=. El sistema debe permitir al usuario autenticado desactivar la alerta desde la aplicación móvil con el código QR. |
126 4 bastian cruz
|=. RF 5 |=. El sistema debe leer los valores del acelerómetro (GY-6500/9250) para detectar la aceleración del vehículo, permitiendo identificar que hubo arranque y que está en movimiento. |
127 4 bastian cruz
|=. RF 6 |=. El sistema debe enviar una notificación en tiempo real a la aplicación móvil del propietario cuando se detecte movimiento no autorizado al no escanear el QR. |
128 4 bastian cruz
|=. RF 7 |=. El sistema debe permitir al usuario, tras confirmar un evento, enviar los datos a carabineros indicando fecha, hora, modelo del vehículo y una imagen de la persona arribada en el vehículo. |
129 4 bastian cruz
|=. RF 8 |=. El sistema debe almacenar las alertas confirmadas en un registro histórico accesible desde la app. |
130 4 bastian cruz
|=. RF 9 |=. El sistema debe activar un display LCD dependiendo del estado en que se encuentre. |
131 4 bastian cruz
|=. RF 10 |=. El sistema debe permitir registrar información del vehículo (modelo, patente, color, detalles adicionales). |
132 4 bastian cruz
133 4 bastian cruz
h4=. 5.1.1.2 Tabla de requerimientos no funcionales
134 4 bastian cruz
135 4 bastian cruz
table{margin-left:auto;margin-right:auto;width:100%}.
136 4 bastian cruz
|_. ID |_. Descripción |
137 4 bastian cruz
|=. RNF 1 |=. El sistema debe utilizar cifrado para todas las comunicaciones entre la Raspberry Pi y la aplicación móvil para proteger el código QR y la información sensible. |
138 4 bastian cruz
|=. RNF 2 |=. El tiempo de respuesta desde la captura del QR (RF 2) hasta la validación y determinación de si es válido (RF 3) no debe exceder los 2 segundos. |
139 4 bastian cruz
|=. RNF 3 |=. El sistema debe ser capaz de mantener un registro histórico (RF 8) de al menos 6 meses de alertas. |
140 4 bastian cruz
|=. RNF 4 |=. El código del sistema debe ser modular y estar bien documentado para permitir que un nuevo desarrollador pueda entender y modificar la lógica. |
141 4 bastian cruz
|=. RNF 5 |=. El sistema debe ser actualizable de forma remota (OTA - Over-The-Air) para el software de la Raspberry Pi sin requerir acceso físico al vehículo. |
142 4 bastian cruz
|=. RNF 6 |=. El consumo de energía del sistema, cuando está en modo de espera (monitoreando el acelerómetro), debe ser mínimo para no descargar la batería del vehículo. |
143 4 bastian cruz
|=. RNF 7 |=. El tiempo de envío de la notificación de movimiento no autorizado a la aplicación móvil no debe superar los 5 segundos desde que se detecta el movimiento. |
144 4 bastian cruz
|=. RNF 8 |=. La interfaz de usuario (UI) de la aplicación móvil debe ser intuitiva y de fácil navegación. |
145 4 bastian cruz
146 4 bastian cruz
h3=. 5.1.2 Diagrama de caso de uso general
147 4 bastian cruz
148 4 bastian cruz
p=. !CasoGeneral.png!
149 4 bastian cruz
150 4 bastian cruz
h3=. 5.1.3 Descripción de la arquitectura
151 4 bastian cruz
152 4 bastian cruz
p=. !DiagramaContexto.png!
153 4 bastian cruz
154 4 bastian cruz
h3=. 5.1.4 Diagrama de clases
155 4 bastian cruz
156 4 bastian cruz
p=. !DiagramaClases.png!
157 4 bastian cruz
158 4 bastian cruz
h3=. 5.1.5 Diagrama de secuencias
159 4 bastian cruz
160 4 bastian cruz
p=. !diagramaSecuencias.png!
161 4 bastian cruz
162 4 bastian cruz
h3=. 5.1.6 Descripción de la arquitectura con respecto a los modelos
163 4 bastian cruz
164 4 bastian cruz
* *Modelo de caso de uso general:* El diagrama de caso de uso general demuestra cómo la arquitectura del sistema integra los distintos componentes físicos y lógicos. Se representan los sensores y actuadores del vehículo (acelerómetro, cámara y pantalla LCD), los cuales interactúan directamente con la Raspberry Pi como sistema central. Por otro lado, se ubican los actores externos: la aplicación móvil y el Sistema de la Autoridad.
165 4 bastian cruz
* *Modelo de diagrama de clases:* Representa la estructura interna del sistema. La clase Raspberry aparece como el centro de la arquitectura, administrando la cámara (SensorQR), el acelerómetro y el display LCD. La Aplicación Móvil sirve como puente entre el dueño y la Raspberry Pi.
166 4 bastian cruz
* *Modelo de diagrama de secuencia:* Representa cómo la arquitectura funciona en los dos escenarios principales:
167 4 bastian cruz
** *Ingreso normal:* El acelerómetro detecta movimiento, el usuario muestra el QR, la Raspberry valida y desactiva la alerta.
168 4 bastian cruz
** *Intrusión:* El acelerómetro detecta movimiento sin QR válido, la cámara captura imagen del sospechoso y notifica a la app. Si el usuario confirma, se envía reporte a la autoridad.
169 4 bastian cruz
170 4 bastian cruz
h2=. 5.2 Herramientas y técnicas
171 4 bastian cruz
172 4 bastian cruz
p=. *Jefe del proyecto:* Renato Almeyda
173 4 bastian cruz
*Programador(es):* Renato Almeyda, Jeany Aravena
174 4 bastian cruz
*Diseñador:* Bastián Cruz
175 4 bastian cruz
*Ensamblador:* Josue Sucso
176 4 bastian cruz
*Documentador:* Bastián Cruz
177 4 bastian cruz
178 4 bastian cruz
179 4 bastian cruz
h3=. 5.2.1 Herramientas
180 4 bastian cruz
181 4 bastian cruz
p=. *Visual Studio Code:* Editor principal para la programación.
182 4 bastian cruz
*Redmine:* Gestión de tareas y seguimiento del proyecto.
183 4 bastian cruz
*Google Docs:* Elaboración de documentos y bitácoras.
184 4 bastian cruz
*Draw.io:* Creación de diagramas.
185 4 bastian cruz
*Canva:* Diseño de interfaz de usuario y presentaciones.
186 4 bastian cruz
*Raspberry Pi OS:* Sistema operativo de la plataforma central.
187 4 bastian cruz
188 4 bastian cruz
h3=. 5.2.2 Técnicas utilizadas
189 4 bastian cruz
190 4 bastian cruz
p=. *Dividir para conquistar:* Separación de módulos para facilitar el desarrollo.
191 4 bastian cruz
*Iteración incremental:* Avance en etapas con revisión previa.
192 4 bastian cruz
*Validación por escenarios:* Análisis de flujos de dueño e intruso.
193 4 bastian cruz
*Prototipado temprano:* Diseño de modelos antes de la implementación real.
194 4 bastian cruz
*Modularización:* Componentes independientes (sensores, cámara, app).
195 4 bastian cruz
*Pruebas por componente:* Validación individual antes de la integración.
196 4 bastian cruz
197 4 bastian cruz
h2=. 5.3 Plan de integración
198 4 bastian cruz
199 4 bastian cruz
p=. Este plan describe cómo se unificarán los distintos componentes físicos y lógicos:
200 4 bastian cruz
201 6 bastian cruz
p=. *Integración de Sensores con Raspberry Pi 4:* Conexión física del acelerómetro y configuración de librerías Python (smbus, grovepi).
202 4 bastian cruz
*Integración de la Cámara QR:* Implementación del lector QR mediante Python + OpenCV y validación contra el QR dinámico de Telegram.
203 4 bastian cruz
*Integración del Display LCD:* Comunicación vía I2C para mostrar mensajes de estado.
204 4 bastian cruz
*Integración del Módulo Acelerómetro:* Registro continuo de valores para identificar el inicio de movimiento.
205 4 bastian cruz
*Integración del Bot de Telegram:* Configuración del bot para envío de alertas, generación de QR dinámico y recepción de comandos del usuario.
206 4 bastian cruz
207 4 bastian cruz
h2=. 5.4 Descripción de la Arquitectura (vista desde los módulos del caso de uso)
208 4 bastian cruz
209 4 bastian cruz
p=. La arquitectura se organiza en torno a la Raspberry Pi 4 como unidad central que coordina:
210 4 bastian cruz
211 4 bastian cruz
p=. *Módulo de Detección de Movimiento (Acelerómetro):* Detecta cambios de aceleración y activa el flujo de validación.
212 4 bastian cruz
*Módulo de Validación del Usuario (Cámara y QR):* Captura imágenes en tiempo real y decodifica el QR para compararlo con el generado por el bot.
213 4 bastian cruz
*Módulo de Display LCD:* Entrega retroalimentación visual ("Autorizado", "Denegado").
214 4 bastian cruz
*Módulo de Comunicación (Bot de Telegram):* Interfaz principal con el dueño para alertas y confirmaciones.
215 4 bastian cruz
*Módulo de Generación y Gestión de Alertas:* Se activa ante fallos de validación, captura imagen del sospechoso y genera reportes.
216 4 bastian cruz
*Módulo Central:* Coordina todos los sensores y lógica de estados.
217 4 bastian cruz
218 4 bastian cruz
h2=. 5.5 Modelo de Implementación
219 4 bastian cruz
220 4 bastian cruz
p=. La solución se estructura en Python con una arquitectura modular:
221 4 bastian cruz
222 4 bastian cruz
* @main.py@: Coordinación general.
223 4 bastian cruz
* @accelerometer.py@: Manejo del sensor.
224 4 bastian cruz
* @qr_reader.py@: Lectura y decodificación de QR.
225 4 bastian cruz
* @telegram_bot.py@: Comunicación con el usuario.
226 4 bastian cruz
* @lcd_display.py@: Controlador del display.
227 4 bastian cruz
* @alerts.py@: Gestión de alertas y registros.
228 4 bastian cruz
229 4 bastian cruz
h2=. 5.6 Módulos Implementados
230 4 bastian cruz
231 4 bastian cruz
p=. Durante el desarrollo se implementaron los siguientes módulos independientes:
232 4 bastian cruz
233 4 bastian cruz
p=. *Módulo de Acelerómetro:* Lectura del sensor GY-6500/9250.
234 4 bastian cruz
*Módulo de Cámara y Lectura de QR:* Uso de OpenCV para validación.
235 4 bastian cruz
*Módulo Bot de Telegram:* Uso de librerías `telegram` y `telethon` para comunicación bidireccional.
236 4 bastian cruz
*Módulo Display LCD:* Visualización de estados.
237 4 bastian cruz
*Módulo de Alertas:* Captura de fotos y notificaciones.
238 4 bastian cruz
*Módulo Central:* Coordinación del flujo completo (detección -> validación -> acción).
239 4 bastian cruz
240 4 bastian cruz
h2=. 5.7 Reporte de Revisión
241 4 bastian cruz
242 4 bastian cruz
* *5.7.1 Prueba nro 1:* (Se documentarán las pruebas específicas realizadas al sistema).