Project

General

Profile

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

bastian cruz, 12/16/2025 06:02 PM

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