Project

General

Profile

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

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

1 20 bastian cruz
2 20 bastian cruz
---
3 16 bastian cruz
_
4 16 bastian cruz
_
5 16 bastian cruz
6 10 bastian cruz
h1=. Organización del proyecto
7 16 bastian cruz
8 16 bastian cruz
_
9 16 bastian cruz
_
10 1 bastian cruz
11 11 bastian cruz
h2=. Personal y entidades externas
12 1 bastian cruz
13 4 bastian cruz
p=. *Jefe del proyecto:* Renato Almeyda
14 4 bastian cruz
*Programador(es):* Renato Almeyda, Jeany Aravena
15 4 bastian cruz
*Diseñador:* Bastián Cruz
16 4 bastian cruz
*Ensamblador:* Josue Sucso
17 4 bastian cruz
*Documentador:* Bastián Cruz
18 1 bastian cruz
19 11 bastian cruz
_
20 11 bastian cruz
_
21 4 bastian cruz
22 10 bastian cruz
h2=. Roles y responsabilidades
23 1 bastian cruz
24 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.
25 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.
26 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.
27 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.
28 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.
29 1 bastian cruz
30 11 bastian cruz
_
31 11 bastian cruz
_
32 11 bastian cruz
33 10 bastian cruz
h2=. Mecanismos de Comunicación
34 1 bastian cruz
35 5 bastian cruz
p=. *Canales internos:* Correo institucional, grupo de WhatsApp, Discord.
36 1 bastian cruz
*Documentación compartida:* Google Drive y GitHub (repositorio del proyecto).
37 11 bastian cruz
38 11 bastian cruz
_
39 11 bastian cruz
_
40 1 bastian cruz
41 10 bastian cruz
h2=. Comunicaciones y Estándares Técnicos
42 1 bastian cruz
43 1 bastian cruz
* *Lenguajes de Programación:*
44 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.
45 1 bastian cruz
** *Kotlin:* Para el desarrollo de la aplicación móvil nativa (Android).
46 1 bastian cruz
* *Lenguajes de Interfaz y Datos:*
47 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.
48 1 bastian cruz
* *Comunicaciones para XR (Realidad Extendida):*
49 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.
50 1 bastian cruz
51 8 bastian cruz
_
52 8 bastian cruz
_
53 8 bastian cruz
54 1 bastian cruz
---
55 8 bastian cruz
56 8 bastian cruz
_
57 8 bastian cruz
_
58 8 bastian cruz
59 1 bastian cruz
60 12 bastian cruz
h1=. Planificación de los procesos de gestión
61 1 bastian cruz
62 12 bastian cruz
h2=. Planificación inicial del proyecto
63 1 bastian cruz
64 12 bastian cruz
_
65 12 bastian cruz
_
66 12 bastian cruz
67 19 bastian cruz
h3=. Planificación de estimaciones
68 1 bastian cruz
69 2 bastian cruz
table{margin-left:auto;margin-right:auto}.
70 1 bastian cruz
|_. Producto |_. Cantidad |_. Costo por unidad |_. Costo Total |
71 2 bastian cruz
|=. Notebook (Uso) |=. 4 |=. $50.000 |=. $200.000 |
72 2 bastian cruz
|=. Raspberry PI 4 |=. 1 |=. $90.000 |=. $90.000 |
73 2 bastian cruz
|=. Sensor Cámara |=. 1 |=. $5.000 |=. $5.000 |
74 2 bastian cruz
|=. Sensor Acelerómetro |=. 1 |=. $5.000 |=. $5.000 |
75 2 bastian cruz
|=. Grove LCD RGB Backlight |=. 1 |=. $15.000 |=. $15.000 |
76 1 bastian cruz
|=. Tarjeta SD |=. 1 |=. $13.000 |=. $13.000 |
77 1 bastian cruz
|||| *Total: $328.000* |
78 2 bastian cruz
79 12 bastian cruz
_
80 12 bastian cruz
_
81 1 bastian cruz
82 12 bastian cruz
h3=. Planificación de Recursos Humanos
83 12 bastian cruz
84 2 bastian cruz
table{margin-left:auto;margin-right:auto}.
85 1 bastian cruz
|_. Roles |_. Tarifa x Hora |
86 2 bastian cruz
|=. Jefe de proyecto |=. $12.000 |
87 2 bastian cruz
|=. Programador |=. $10.000 |
88 2 bastian cruz
|=. Diseñador |=. $8.500 |
89 1 bastian cruz
|=. Documentador |=. $5.000 |
90 1 bastian cruz
|=. Ensamblador |=. $6.000 |
91 1 bastian cruz
92 12 bastian cruz
_
93 12 bastian cruz
_
94 12 bastian cruz
95 2 bastian cruz
h3=. Tabla de Planificación de recursos totales
96 1 bastian cruz
97 2 bastian cruz
table{margin-left:auto;margin-right:auto}.
98 1 bastian cruz
|_. Miembro |_. Rol |_. Hora x mes |_. Meses de utilidad |_. Resultado |_. Pago Final |
99 2 bastian cruz
|=. Renato Almeyda |=. Jefe de proyecto |=. 40 |=. 4 |=. $1.920.000 |/2=. $3.520.000 |
100 2 bastian cruz
|=. Renato Almeyda |=. Programador |=. 40 |=. 4 |=. $1.600.000 |
101 2 bastian cruz
|=. Bastián Cruz |=. Diseñador |=. 40 |=. 2 |=. $680.000 |/2=. $1.480.000 |
102 2 bastian cruz
|=. Bastián Cruz |=. Documentador |=. 40 |=. 4 |=. $800.000 |
103 2 bastian cruz
|=. Josue Sucso |=. Documentador |=. 40 |=. 4 |=. $800.000 |/2=. $1.280.000 |
104 2 bastian cruz
|=. Josue Sucso |=. Ensamblador |=. 40 |=. 2 |=. $480.000 |
105 2 bastian cruz
|=. Jeany Aravena |=. Programador |=. 40 |=. 4 |=. $1.600.000 |=. $1.600.000 |
106 2 bastian cruz
|||||=. *Total* |=. *$7.880.000* |
107 1 bastian cruz
108 1 bastian cruz
p=. *Costo total del proyecto: $8.208.000*
109 1 bastian cruz
110 12 bastian cruz
_
111 12 bastian cruz
_
112 12 bastian cruz
_
113 12 bastian cruz
_
114 12 bastian cruz
115 1 bastian cruz
h2=. 3.2 Lista de actividades (Carta Gantt)
116 1 bastian cruz
!Gantt.png!
117 2 bastian cruz
118 12 bastian cruz
_
119 12 bastian cruz
_
120 1 bastian cruz
121 12 bastian cruz
122 1 bastian cruz
h2=. 3.3 Planificación de la gestión de riesgos
123 2 bastian cruz
124 2 bastian cruz
p=. *Niveles de impacto:* 1. Despreciable | 2. Marginal | 3. Crítico | 4. Catastrófico
125 2 bastian cruz
126 1 bastian cruz
table{margin-left:auto;margin-right:auto}.
127 2 bastian cruz
|_. Riesgo |_. Probabilidad |_. Impacto |_. Acción Remedial |
128 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. |
129 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). |
130 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. |
131 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. |
132 1 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. |
133 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. |
134 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. |
135 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. |
136 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). |
137 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. |
138 1 bastian cruz
139 12 bastian cruz
_
140 12 bastian cruz
_
141 12 bastian cruz
142 4 bastian cruz
---
143 1 bastian cruz
144 12 bastian cruz
_
145 12 bastian cruz
_
146 4 bastian cruz
147 12 bastian cruz
h1=. Planificación de procesos técnicos
148 12 bastian cruz
149 14 bastian cruz
h2=. Tabla de requerimientos funcionales
150 4 bastian cruz
151 4 bastian cruz
table{margin-left:auto;margin-right:auto;width:100%}.
152 4 bastian cruz
|_. ID |_. Descripción |
153 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. |
154 4 bastian cruz
|=. RF 2 |=. El sistema debe capturar el QR mediante la cámara de la Raspberry Pi para validar al usuario autorizado. |
155 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. |
156 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. |
157 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. |
158 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. |
159 1 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. |
160 1 bastian cruz
|=. RF 8 |=. El sistema debe almacenar las alertas confirmadas en un registro histórico accesible desde la app. |
161 4 bastian cruz
|=. RF 9 |=. El sistema debe activar un display LCD dependiendo del estado en que se encuentre. |
162 1 bastian cruz
|=. RF 10 |=. El sistema debe permitir registrar información del vehículo (modelo, patente, color, detalles adicionales). |
163 4 bastian cruz
164 14 bastian cruz
_
165 14 bastian cruz
_
166 4 bastian cruz
167 14 bastian cruz
h2=. Tabla de requerimientos no funcionales
168 14 bastian cruz
169 4 bastian cruz
table{margin-left:auto;margin-right:auto;width:100%}.
170 4 bastian cruz
|_. ID |_. Descripción |
171 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. |
172 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. |
173 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. |
174 1 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. |
175 1 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. |
176 1 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. |
177 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. |
178 1 bastian cruz
|=. RNF 8 |=. La interfaz de usuario (UI) de la aplicación móvil debe ser intuitiva y de fácil navegación. |
179 1 bastian cruz
180 14 bastian cruz
_
181 14 bastian cruz
_
182 14 bastian cruz
183 18 bastian cruz
---
184 18 bastian cruz
185 18 bastian cruz
_
186 18 bastian cruz
_
187 18 bastian cruz
188 18 bastian cruz
h1=. Diagramas y descripción de arquitectura
189 18 bastian cruz
190 18 bastian cruz
_
191 18 bastian cruz
_
192 18 bastian cruz
193 14 bastian cruz
h2=. Diagrama de caso de uso general
194 1 bastian cruz
!CasoGeneral.png!
195 1 bastian cruz
196 14 bastian cruz
_
197 14 bastian cruz
_
198 14 bastian cruz
199 14 bastian cruz
h2=. Descripción de la arquitectura
200 1 bastian cruz
!DiagramaContexto.png!
201 1 bastian cruz
202 14 bastian cruz
_
203 14 bastian cruz
_
204 14 bastian cruz
205 14 bastian cruz
h2=. Diagrama de clases
206 1 bastian cruz
!DiagramaClases.png!
207 1 bastian cruz
208 14 bastian cruz
_
209 14 bastian cruz
_
210 14 bastian cruz
211 14 bastian cruz
h2=. Diagrama de secuencias
212 4 bastian cruz
!diagramaSecuencias.png!
213 4 bastian cruz
214 14 bastian cruz
_
215 14 bastian cruz
_
216 14 bastian cruz
_
217 14 bastian cruz
_
218 14 bastian cruz
219 14 bastian cruz
h2=. Descripción de la arquitectura con respecto a los modelos
220 4 bastian cruz
221 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.
222 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.
223 4 bastian cruz
* *Modelo de diagrama de secuencia:* Representa cómo la arquitectura funciona en los dos escenarios principales:
224 4 bastian cruz
** *Ingreso normal:* El acelerómetro detecta movimiento, el usuario muestra el QR, la Raspberry valida y desactiva la alerta.
225 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.
226 18 bastian cruz
227 18 bastian cruz
_
228 18 bastian cruz
_
229 18 bastian cruz
230 18 bastian cruz
---
231 18 bastian cruz
232 18 bastian cruz
_
233 18 bastian cruz
_
234 4 bastian cruz
235 15 bastian cruz
h2=. Herramientas y técnicas
236 4 bastian cruz
237 15 bastian cruz
_
238 15 bastian cruz
_
239 4 bastian cruz
240 4 bastian cruz
h3=. 5.2.1 Herramientas
241 4 bastian cruz
242 1 bastian cruz
p=. *Visual Studio Code:* Editor principal para la programación.
243 1 bastian cruz
*Redmine:* Gestión de tareas y seguimiento del proyecto.
244 1 bastian cruz
*Google Docs:* Elaboración de documentos y bitácoras.
245 4 bastian cruz
*Draw.io:* Creación de diagramas.
246 4 bastian cruz
*Canva:* Diseño de interfaz de usuario y presentaciones.
247 4 bastian cruz
*Raspberry Pi OS:* Sistema operativo de la plataforma central.
248 4 bastian cruz
249 15 bastian cruz
_
250 15 bastian cruz
_
251 15 bastian cruz
252 4 bastian cruz
h3=. 5.2.2 Técnicas utilizadas
253 1 bastian cruz
254 1 bastian cruz
p=. *Dividir para conquistar:* Separación de módulos para facilitar el desarrollo.
255 1 bastian cruz
*Iteración incremental:* Avance en etapas con revisión previa.
256 1 bastian cruz
*Validación por escenarios:* Análisis de flujos de dueño e intruso.
257 1 bastian cruz
*Prototipado temprano:* Diseño de modelos antes de la implementación real.
258 1 bastian cruz
*Modularización:* Componentes independientes (sensores, cámara, app).
259 4 bastian cruz
*Pruebas por componente:* Validación individual antes de la integración.
260 15 bastian cruz
261 15 bastian cruz
262 15 bastian cruz
_
263 15 bastian cruz
_
264 15 bastian cruz
_
265 15 bastian cruz
_
266 4 bastian cruz
267 4 bastian cruz
h2=. 5.3 Plan de integración
268 4 bastian cruz
269 4 bastian cruz
p=. Este plan describe cómo se unificarán los distintos componentes físicos y lógicos:
270 4 bastian cruz
271 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).
272 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.
273 4 bastian cruz
*Integración del Display LCD:* Comunicación vía I2C para mostrar mensajes de estado.
274 4 bastian cruz
*Integración del Módulo Acelerómetro:* Registro continuo de valores para identificar el inicio de movimiento.
275 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.
276 4 bastian cruz
277 4 bastian cruz
h2=. 5.4 Descripción de la Arquitectura (vista desde los módulos del caso de uso)
278 4 bastian cruz
279 4 bastian cruz
p=. La arquitectura se organiza en torno a la Raspberry Pi 4 como unidad central que coordina:
280 4 bastian cruz
281 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.
282 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.
283 4 bastian cruz
*Módulo de Display LCD:* Entrega retroalimentación visual ("Autorizado", "Denegado").
284 4 bastian cruz
*Módulo de Comunicación (Bot de Telegram):* Interfaz principal con el dueño para alertas y confirmaciones.
285 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.
286 4 bastian cruz
*Módulo Central:* Coordina todos los sensores y lógica de estados.
287 4 bastian cruz
288 4 bastian cruz
h2=. 5.5 Modelo de Implementación
289 4 bastian cruz
290 4 bastian cruz
p=. La solución se estructura en Python con una arquitectura modular:
291 4 bastian cruz
292 4 bastian cruz
* @main.py@: Coordinación general.
293 4 bastian cruz
* @accelerometer.py@: Manejo del sensor.
294 4 bastian cruz
* @qr_reader.py@: Lectura y decodificación de QR.
295 4 bastian cruz
* @telegram_bot.py@: Comunicación con el usuario.
296 4 bastian cruz
* @lcd_display.py@: Controlador del display.
297 4 bastian cruz
* @alerts.py@: Gestión de alertas y registros.
298 4 bastian cruz
299 4 bastian cruz
h2=. 5.6 Módulos Implementados
300 4 bastian cruz
301 4 bastian cruz
p=. Durante el desarrollo se implementaron los siguientes módulos independientes:
302 4 bastian cruz
303 4 bastian cruz
p=. *Módulo de Acelerómetro:* Lectura del sensor GY-6500/9250.
304 4 bastian cruz
*Módulo de Cámara y Lectura de QR:* Uso de OpenCV para validación.
305 4 bastian cruz
*Módulo Bot de Telegram:* Uso de librerías `telegram` y `telethon` para comunicación bidireccional.
306 4 bastian cruz
*Módulo Display LCD:* Visualización de estados.
307 4 bastian cruz
*Módulo de Alertas:* Captura de fotos y notificaciones.
308 4 bastian cruz
*Módulo Central:* Coordinación del flujo completo (detección -> validación -> acción).
309 4 bastian cruz
310 4 bastian cruz
h2=. 5.7 Reporte de Revisión
311 4 bastian cruz
312 4 bastian cruz
* *5.7.1 Prueba nro 1:* (Se documentarán las pruebas específicas realizadas al sistema).