Wiki » History » Version 13
francisco pantoja, 12/29/2023 11:52 PM
1 | 1 | francisco pantoja | h1. Wiki |
---|---|---|---|
2 | 1 | francisco pantoja | |
3 | 6 | francisco pantoja | h2. Bienvenidos a la página de BotaniDrip: Sistema de riego automatizado, remoto e intuitivo para casas inteligentes con enfoque asistencial |
4 | 1 | francisco pantoja | |
5 | 1 | francisco pantoja | h3. Profesor encargado: Diego Alberto Aracena Pizarro |
6 | 1 | francisco pantoja | |
7 | 1 | francisco pantoja | h2. Integrantes: |
8 | 1 | francisco pantoja | # Patricio Chang Reyes |
9 | 1 | francisco pantoja | # Francisco Pantoja González |
10 | 1 | francisco pantoja | # Hernán Vazque Lorca |
11 | 1 | francisco pantoja | |
12 | 1 | francisco pantoja | h1. Problemática |
13 | 1 | francisco pantoja | |
14 | 1 | francisco pantoja | h2. Definición del problema |
15 | 1 | francisco pantoja | |
16 | 1 | francisco pantoja | El regado de plantas requiere en la mayoría de sus tipos un cuidado constante, principalmente en el regado periódico de las mismas y revisión de condiciones básicas ambientales como su temperatura, niveles de pH cantidad de luz, etc. |
17 | 1 | francisco pantoja | Cuidar las plantas, en este caso, la acción de regar requiere un esfuerzo físico demandante para cierta parte de la población humana, refiriéndose específicamente a personas de la tercera edad e individuos con capacidad de movilidad reducida. |
18 | 1 | francisco pantoja | Provocando en consecuencia que personas de este grupo decidan en la mayoría de casos dejar de atender sus plantas y produciendo en consecuencia la muerte o mal estado de las plantas. Hay además una situación de impotencia en la cual no es posible por fuerza propia monitorizar y tener cuidado de regar adecuadamente las plantas. |
19 | 1 | francisco pantoja | |
20 | 1 | francisco pantoja | h2. Solución propuesta |
21 | 1 | francisco pantoja | |
22 | 1 | francisco pantoja | |
23 | 1 | francisco pantoja | Un sistema que permita al usuario regar manual o automáticamente, revisar estados primarios y ambientales de sus plantas de manera *remota* e *intuitiva*. |
24 | 1 | francisco pantoja | El sistema debe ser capaz tener un registro de riegos y determinar cuando corresponda, cuándo y cuánta agua proporcionar a cada planta que tenga a su alcance. |
25 | 1 | francisco pantoja | |
26 | 8 | francisco pantoja | h2. PROPOSITO |
27 | 9 | francisco pantoja | |
28 | 7 | francisco pantoja | El propósito de este proyecto es lograr que personas pertenecientes a la tercera edad y/o problemas de movilidad reducida, no vean impedidas sus formas de mantenerse activos debido a sus capacidades limitadas. El pasatiempo de regar y cuidar plantas tiene un impacto positivo en adultos mayores, algunos de sus beneficios son el prevenir enfermedades mentales y mejorar el estado emocional. |
29 | 1 | francisco pantoja | |
30 | 2 | Hernán Vazque | h2. ALCANCE |
31 | 3 | Hernán Vazque | |
32 | 2 | Hernán Vazque | Este proyecto suple la necesidad de regar plantas sin la necesidad de un esfuerzo físico y proveer información al respecto gracias a un sistema de monitoreo, siempre enfocado de manera asistencial. Si bien puede usarse para otros fines y otro tipo de usuario, el público objetivo de nuestra propuesta es acotado. Además de realizar la operación básica de riego, las herramientas estadísticas que provee el monitoreo del proyecto es, en lugar de detallada, precisa y consisa para que cualquier usuario pueda usar la información de sus riegos de la forma que estime conveniente. |
33 | 1 | francisco pantoja | |
34 | 1 | francisco pantoja | h2. OBJETIVOS |
35 | 3 | Hernán Vazque | |
36 | 3 | Hernán Vazque | h3. GENERAL: |
37 | 3 | Hernán Vazque | |
38 | 3 | Hernán Vazque | Consolidar un sistema de riego automatizado, remoto e intuitivo para ser implementado en casas inteligentes con enfoque asistencial. |
39 | 3 | Hernán Vazque | |
40 | 3 | Hernán Vazque | h3. ESPECÍFICOS: |
41 | 3 | Hernán Vazque | |
42 | 3 | Hernán Vazque | |
43 | 2 | Hernán Vazque | -Usar herramientas de Internet de las cosas (IOT) como Raspberry Pi y sensores |
44 | 2 | Hernán Vazque | -Establecer comunicación con el sistema mediante una interfaz gráfica de usuario (GUI) |
45 | 2 | Hernán Vazque | -Proveer estadísticas sobre el estado de las plantas que son regadas por el sistema |
46 | 2 | Hernán Vazque | -Brindar la opción al usuario de regar sus plantas en un momento determinado (Modo Manual) |
47 | 2 | Hernán Vazque | -Definir horarios de riego automáticamente para cuando el usuario no se encuentre en su casa (Modo Automático) |
48 | 1 | francisco pantoja | |
49 | 1 | francisco pantoja | h2. SUPOSICIONES |
50 | 3 | Hernán Vazque | |
51 | 3 | Hernán Vazque | |
52 | 2 | Hernán Vazque | -Todos las herramientas de trabajo y sensores requeridos estarán disponibles para ser usados cuando se necesite dentro del proyecto |
53 | 2 | Hernán Vazque | -El grupo cumplirá con los plazos establecidos por su organización interna y el profesor |
54 | 2 | Hernán Vazque | -El producto elaborado cumple con todo lo requerido y propuesto en este informe |
55 | 2 | Hernán Vazque | -El grupo aprenderá uniformemente y en conjunto los conocimientos básicos para desarrollar e implementar el producto |
56 | 1 | francisco pantoja | |
57 | 1 | francisco pantoja | h2. RESTRICCIONES |
58 | 3 | Hernán Vazque | |
59 | 2 | Hernán Vazque | -Se debe utilizar una Raspberry Pi como elemento principal del producto |
60 | 2 | Hernán Vazque | -La comunicación con la Raspberry Pi debe ser mediante una aplicación para dispositivos móviles |
61 | 2 | Hernán Vazque | -Los recursos son limitados, en caso de averías se deberá buscar otro tipo de tecnología para suplir el requerimiento |
62 | 2 | Hernán Vazque | -No se permiten más de un usuario asociado al producto implementado |
63 | 1 | francisco pantoja | |
64 | 2 | Hernán Vazque | h2. ENTREGABLES |
65 | 3 | Hernán Vazque | |
66 | 2 | Hernán Vazque | Los entregables de este proyecto son |
67 | 2 | Hernán Vazque | -Carta Gantt |
68 | 2 | Hernán Vazque | -Bitácoras Semanales |
69 | 2 | Hernán Vazque | -Planificación de Gestión de Riesgos |
70 | 2 | Hernán Vazque | -Planificación del Personal y Recursos |
71 | 1 | francisco pantoja | |
72 | 2 | Hernán Vazque | h2. ORGANIZACION DEL PROYECTO |
73 | 3 | Hernán Vazque | |
74 | 2 | Hernán Vazque | PERSONAL Y ENTIDADES INTERNAS |
75 | 2 | Hernán Vazque | Los miembros de este proyecto son: Patricio Chang Reyes, Francisco Pantoja González y Hernán Vazque Lorca |
76 | 2 | Hernán Vazque | |
77 | 2 | Hernán Vazque | h2. ROLES Y RESPONSABILIDADES |
78 | 2 | Hernán Vazque | |
79 | 2 | Hernán Vazque | Todos los miembros del equipo cumplen la función de desarrolladores y programadores. Sin embargo, los roles específicos definidos para el proyecto son |
80 | 2 | Hernán Vazque | |
81 | 2 | Hernán Vazque | h3. Jefe de Grupo: Encargado de coordinar, liderar y motivar al equipo de trabajo en el cumplimiento de los plazos y tareas establecidas |
82 | 2 | Hernán Vazque | |
83 | 2 | Hernán Vazque | h3. Ejecutivo de Repartos: Planifica, redacta y guía la escritura de bitácoras, informes por fases y contenido de la Wiki |
84 | 2 | Hernán Vazque | |
85 | 2 | Hernán Vazque | h3. Analista y Programador Jefe: Encargado de recomendar e introducir a la capacitación de los demás miembros del equipo en el uso de diversas herramientas de software. Corrige inminentes errores de implementación y programación. |
86 | 1 | francisco pantoja | |
87 | 2 | Hernán Vazque | h2. MECANISMOS DE COMUNICACIÓN |
88 | 3 | Hernán Vazque | |
89 | 2 | Hernán Vazque | Se ha establecido la herramienta Redmine, donde está la Wiki, Carta Gantt, Bitácoras semanales |
90 | 1 | francisco pantoja | Para coordinar reuniones fuera del horario de clases se ha creado un grupo de Whatsapp |
91 | 1 | francisco pantoja | Para compartir y editar documentos de los entregables se ha establecido una carpeta de Google Drive |
92 | 2 | Hernán Vazque | |
93 | 3 | Hernán Vazque | h2. RECURSOS UTILIZADOS |
94 | 3 | Hernán Vazque | |
95 | 2 | Hernán Vazque | COSTOS |
96 | 2 | Hernán Vazque | HARDWARE: |
97 | 2 | Hernán Vazque | NOMBRE, CANTIDAD, COSTO UNITARIO, COSTO TOTAL |
98 | 2 | Hernán Vazque | -Raspberry PI 4 Modelo B, 1, 85.000 CLP, 85.000 CLP |
99 | 2 | Hernán Vazque | -Notebook de trabajo, 2, 300.000 CLP, 600.000 CLP |
100 | 2 | Hernán Vazque | -Teléfono Inteligente, 1, 250.000 CLP, 250.000 CLP |
101 | 2 | Hernán Vazque | -Set Sensor Higrómetro con pines, 1, 1600 CLP, 1600 CLP |
102 | 2 | Hernán Vazque | -Mini Bomba de Agua, 1, 2100 CLP, 2100 CLP |
103 | 2 | Hernán Vazque | -Módulo de Relay (Relé), 1, 2500 CLP, 2500 CLP |
104 | 2 | Hernán Vazque | -Tubo PVC, 2, 1000 CLP, 2000 CLP |
105 | 2 | Hernán Vazque | -Macetas, 4, 1800 CLP, 7200 CLP |
106 | 2 | Hernán Vazque | -Alfombrilla impermeable, 1, 500 CLP, 500 CLP |
107 | 2 | Hernán Vazque | |
108 | 4 | Hernán Vazque | TOTAL: 950.900 CLP |
109 | 1 | francisco pantoja | |
110 | 2 | Hernán Vazque | h2. SOFTWARE: |
111 | 3 | Hernán Vazque | |
112 | 3 | Hernán Vazque | |
113 | 2 | Hernán Vazque | -Sistema Operativo Raspbian |
114 | 2 | Hernán Vazque | -Sistema Operativo Android 14 |
115 | 2 | Hernán Vazque | -Lenguaje de Programación Python 3 |
116 | 2 | Hernán Vazque | -Entorno de Desarrollo Integrado Visual Studio Code |
117 | 2 | Hernán Vazque | -Herramienta de creación Android Studio |
118 | 2 | Hernán Vazque | -Plataforma Redmine |
119 | 4 | Hernán Vazque | -GRUPO DE Whatsapp |
120 | 1 | francisco pantoja | TOTAL: $0 |
121 | 1 | francisco pantoja | |
122 | 2 | Hernán Vazque | h2. RECURSOS HUMANOS |
123 | 3 | Hernán Vazque | |
124 | 3 | Hernán Vazque | |
125 | 2 | Hernán Vazque | Se han asignado los siguientes cargos especiales a cada integrante: |
126 | 2 | Hernán Vazque | Jefe de Grupo: Francisco Pantoja |
127 | 2 | Hernán Vazque | Ejecutivo de Repartos: Patricio Chang |
128 | 2 | Hernán Vazque | Analista y Programador en Jefe: Hernán Vazque |
129 | 2 | Hernán Vazque | |
130 | 2 | Hernán Vazque | Se ha considerado los siguientes costos de trabajo por hora: |
131 | 2 | Hernán Vazque | |
132 | 2 | Hernán Vazque | Jefe de Grupo: 23000 CLP, horas totales: 192, total: 4416000 CLP |
133 | 2 | Hernán Vazque | Ejecutivo de Entregables: 25000 CLP, horas totales: 150, 3750000 CLP |
134 | 2 | Hernán Vazque | Analista y Programador en Jefe: 18000 CLP, horas totales: 200, 3600000 CLP |
135 | 10 | francisco pantoja | |
136 | 10 | francisco pantoja | h2. REQUERIMIENTOS ESTABLECIDOS |
137 | 10 | francisco pantoja | |
138 | 10 | francisco pantoja | Requerimientos funcionales: |
139 | 10 | francisco pantoja | - Efectuar riegos remotamente por accionamiento manual y/o automático |
140 | 10 | francisco pantoja | - Recopilar y desplegar estadísticas sobre las condiciones del suelo |
141 | 10 | francisco pantoja | - Notificar al usuario cuando se haya efectuado un riego |
142 | 10 | francisco pantoja | - Almacenar información de Riegos efectuados |
143 | 10 | francisco pantoja | - Visualizar listado de Riegos efectuados |
144 | 10 | francisco pantoja | Requerimientos no funcionales: |
145 | 10 | francisco pantoja | - Conexión entre usuario y raspberry debe ser por medio de una red Wi-fi |
146 | 10 | francisco pantoja | implementando el modelo de paradigma cliente-servidor |
147 | 10 | francisco pantoja | - El cliente debe encontrarse en el dispositivo móvil del usuario |
148 | 10 | francisco pantoja | - El servidor debe estar alojado en la Raspberry Pi y recibir peticiones del cliente |
149 | 10 | francisco pantoja | por medio del protocolo http |
150 | 10 | francisco pantoja | |
151 | 10 | francisco pantoja | |
152 | 10 | francisco pantoja | h2. MODELO DE DISEÑO |
153 | 10 | francisco pantoja | |
154 | 10 | francisco pantoja | El modelo de proceso cuenta con los siguientes actores: |
155 | 10 | francisco pantoja | -Cliente |
156 | 10 | francisco pantoja | -Raspberry Pi |
157 | 10 | francisco pantoja | -Bomba de agua |
158 | 10 | francisco pantoja | -Sensor de humedad |
159 | 10 | francisco pantoja | -Sensor de conductividad |
160 | 10 | francisco pantoja | |
161 | 10 | francisco pantoja | |
162 | 10 | francisco pantoja | h2. DESCRIPCIÓN DE LA ARQUITECTURA |
163 | 10 | francisco pantoja | |
164 | 10 | francisco pantoja | Una vez consolidada la idea, es necesario establecer cómo será el proceso de conexión entre |
165 | 10 | francisco pantoja | el usuario final y el modelo de negocio. En este caso se ha optado por una implmentación |
166 | 10 | francisco pantoja | usando el paradigma cliente-servidor, donde se encuentran las siguientes tecnologías: |
167 | 10 | francisco pantoja | Cliente: |
168 | 10 | francisco pantoja | El usuario usará su dispositivo móvil con sistema operativo Android. La aplicación del |
169 | 10 | francisco pantoja | sistema está escrita en Kotlin, lenguaje de programación para la creación de aplicaciones |
170 | 10 | francisco pantoja | nativas en Android. |
171 | 10 | francisco pantoja | Servidor: |
172 | 10 | francisco pantoja | El servidor está compuesto principalmente por la Raspberry Pi, sobre ella se ejecuta un |
173 | 10 | francisco pantoja | software que funciona como intermediario entre el hardware y el usuario. Se usan las |
174 | 10 | francisco pantoja | librerías de Python: Django y RPI.GPIO, para el backend como para la manipulación de |
175 | 10 | francisco pantoja | entradas y salidas GPIO respectivamente |
176 | 10 | francisco pantoja | Ambos apartados tanto cliente como servidor deben estar conectados a una red Wi-Fi o en |
177 | 12 | francisco pantoja | su defecto, una conexión Ethernet. (Ver DISEÑO DE ARQUITECTURA.odp) |
178 | 10 | francisco pantoja | |
179 | 10 | francisco pantoja | h2. DISEÑO DE INTERFACES DE USUARIO |
180 | 10 | francisco pantoja | |
181 | 10 | francisco pantoja | El usuario final contará con 3 vistas sencillas: Vista Principal, Historial de Riego y Ver Estadísticas |
182 | 11 | francisco pantoja | |
183 | 13 | francisco pantoja | h2. PLAN DE INTEGRACIÓN |
184 | 13 | francisco pantoja | |
185 | 13 | francisco pantoja | El objetivo de este producto es lograr que el usuario frecuente la aplicación para |
186 | 13 | francisco pantoja | conocer el estado actual del suelo de sus plantas, es por ello que la interfaz debe |
187 | 13 | francisco pantoja | ser intuitiva y amigable, sin muchas opciones, sólo con las necesarias. Los sensores |
188 | 13 | francisco pantoja | de entrada y salida (relé y sensor de agua) deben estar conectados a la Raspberry, |
189 | 13 | francisco pantoja | la cual deberá estar encendida todo el tiempo. Es ideal que tanto la Raspberry como |
190 | 13 | francisco pantoja | los circuitos integrados al GPIO estén aisladas y en un lugar seguro por el inminente |
191 | 13 | francisco pantoja | peligro de cortocircuito provocado por el agua. |
192 | 13 | francisco pantoja | |
193 | 13 | francisco pantoja | h2. MODULOS IMPLEMENTADOS: |
194 | 13 | francisco pantoja | |
195 | 13 | francisco pantoja | *Aplicación Móvil:* El desarrollo de aplicaciones móviles por parte de Android Studio ha sido más |
196 | 13 | francisco pantoja | accesible gracias a la aparición de Jetpack Compose, un framework de enfoque |
197 | 13 | francisco pantoja | declarativo que optimiza el desarrollo de vistas complejas. |
198 | 13 | francisco pantoja | Una parte fundamental del framework es la clase MainActivity, dentro de la cual |
199 | 13 | francisco pantoja | pueden colgarse los demás componentes de la aplicación. Para el caso de múltiples |
200 | 13 | francisco pantoja | vistas, se usa el artefacto Navigator Host, el cual permite la navegación por medio |
201 | 13 | francisco pantoja | de distintos botones. |
202 | 13 | francisco pantoja | |
203 | 13 | francisco pantoja | *Módulo HTTP para Android:* Recibir información proveniente del servidor es |
204 | 13 | francisco pantoja | posible gracias a la codificación de una interfaz API Service, que contiene los |
205 | 13 | francisco pantoja | métodos a implementar por parte de un modelo (ViewModel). La API es construida |
206 | 13 | francisco pantoja | gracias a un objeto compañero (característico de Kotlin), el cual tiene un atributo |
207 | 13 | francisco pantoja | para guardar la ip del servidor. |
208 | 13 | francisco pantoja | |
209 | 13 | francisco pantoja | *API de Envío de Datos:* Los datos guardados en el servidor son la información de todos los riegos hechos, |
210 | 13 | francisco pantoja | guardando su id único, fecha , hora y si ha sido por acción manual o automática. Estos datos son enviados a la aplicación |
211 | 13 | francisco pantoja | en formato JSON, el cual es transformado luego por el cliente a información visual relevante. |
212 | 13 | francisco pantoja | |
213 | 13 | francisco pantoja | *Servidor: *El servidor está alojado en la Raspberry Pi, y está encargado de recibir la |
214 | 13 | francisco pantoja | información de los sensores conectados directamente al GPIO de la máquina. Se |
215 | 13 | francisco pantoja | han usado un total de 4 pines: 5V PWR (5V de potencia, GND (Pin de Tierra), GPIO 21 (Pin de Bomba) y GPIO 26 (Pin de Sensor de humedad). |
216 | 13 | francisco pantoja | Para responder y accionar las funciones de regado, el servidor debe crear un hilo |
217 | 13 | francisco pantoja | asíncrono, el cual finalizará en cuanto termine el regado. Esto ha sido implementado |
218 | 13 | francisco pantoja | de esa forma con el fin de que la respuesta al cliente sea justo luego de dar la |
219 | 13 | francisco pantoja | orden. El servidor está encargado de terminar el hilo, deshabilitando la bomba de |
220 | 13 | francisco pantoja | agua en cuanto lo estime conveniente. Para obtener el estado actual del agua encapsulado en una respuesta HTTP se ha |
221 | 13 | francisco pantoja | creado una función de iguales características a la ya mencionada, pero con el fin de |
222 | 13 | francisco pantoja | retornar el estado del agua en el instante que se realice la petición. Esta función es |
223 | 13 | francisco pantoja | necesaria para los casos en que el cliente desee saber el estado del suelo. |
224 | 13 | francisco pantoja | |
225 | 13 | francisco pantoja | h2. TRABAJO FUTURO |
226 | 13 | francisco pantoja | |
227 | 13 | francisco pantoja | Queda pendiente implementar los riegos programados por el usuario y mejorar la seguridad de conexión entre el cliente |
228 | 13 | francisco pantoja | y el servidor, subiendo el estándar de HTTP a HTTPS. |
229 | 13 | francisco pantoja | Como desafío, también está la inquietud de realizar una implementación de la |
230 | 13 | francisco pantoja | aplicación en dispositivos con sistema operativo IOS, ya que un porcentaje no |
231 | 13 | francisco pantoja | menor de adultos mayores usan estas tecnologías, quedando fuera del producto |
232 | 13 | francisco pantoja | final por el momento. |
233 | 13 | francisco pantoja | |
234 | 11 | francisco pantoja | h2. CONCLUSIONES |
235 | 11 | francisco pantoja | |
236 | 11 | francisco pantoja | A través de los procesos referentes al modelo de negocio es |
237 | 11 | francisco pantoja | posible contextualizar y traer a la realidad la idea planteada en la fase de |
238 | 11 | francisco pantoja | planeación. UML es una herramienta muy poderosa para realizar esta labor |
239 | 11 | francisco pantoja | Finalmente, la descripción de la arquitectura del producto es de vital importancia |
240 | 11 | francisco pantoja | para la fase de implementación, ya que traza las directrices a seguir para cumplir |
241 | 11 | francisco pantoja | a cabalidad con la planeación del grupo. |
242 | 11 | francisco pantoja | Botani Drip tiene base sólida tecnológica y lógica para llevarse a cabo. |
243 | 13 | francisco pantoja | La aplicación móvil está implementada casi en su totalidad, cumpliendo con las |
244 | 13 | francisco pantoja | funcionalidades básicas necesarias para un uso regular. Se logró dar con una |
245 | 13 | francisco pantoja | interfaz simple. Por otra parte, el sistema de sensores y hardware fue implementado |
246 | 13 | francisco pantoja | con éxito y en su totalidad, siendo flexible a las preferencias del usuario final. Es por |
247 | 13 | francisco pantoja | esto último que Botani Drip tiene la capacidad de ser implementado a pequeña |
248 | 13 | francisco pantoja | escala (un solo sensor de agua) y de la misma manera a gran escala (múltiples |
249 | 13 | francisco pantoja | sensores). |
250 | 13 | francisco pantoja | Además de la implementación, la mayoría de lo propuesto en la Carta Gantt ha sido |
251 | 13 | francisco pantoja | cumplido con un pequeño desfase de una semana. |