Project

General

Profile

ManualUsuario » History » Version 4

Version 3 (bairon núñez, 01/03/2026 04:23 AM) → Version 4/6 (bairon núñez, 01/03/2026 04:24 AM)

h1{background:#E3F2FD; padding:20px; border:1px solid #90CAF9; border-radius:10px; text-align:center; color:#0D47A1; margin-bottom:10px}. Manual de Usuario

p{background:#E3F2FD; padding:5px; border:1px solid #90CAF9; text-align:center; margin-bottom:20px}. [[Wiki|Home]] | [[PanoramaGeneral|Panorama General]] | [[Logistica|Logística]] | [[Metodologia|Metodología]] | [[ManualUsuario|Manual]] | [[Resultados|Resultados]] | [[Recursos|Recursos]]

{{toc}}

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 1. Manual de Instalación

h3{color:#1976D2}. 1.1 Requisitos Previos

*Hardware necesario:*
* Raspberry Pi 4 Model B (4 GB RAM mínimo)
* Tarjeta microSD de 32 GB (Clase 10 o superior)
* Sensor de humedad del suelo
* Sensor de temperatura y humedad DHT22
* Mini bomba de agua sumergible 120l/h
* Relé de 5V
* Fuente de alimentación 5V/3A para Raspberry Pi
* Cables jumper macho-hembra
* Protoboard
* Manguera y goteros
* Depósito de agua (bidón 20L)

*Software necesario:*
* Raspberry Pi OS (versión Bullseye o superior)
* Python 3.7 o superior
* Bibliotecas Python: RPi.GPIO, Adafruit_DHT, datetime, logging

h3{color:#1976D2}. 1.2 Instalación del Sistema Operativo

*Paso 1: Preparar la tarjeta microSD*

# Descargar Raspberry Pi Imager desde https://www.raspberrypi.org/software/
# Insertar la tarjeta microSD en el computador
# Abrir Raspberry Pi Imager
# Seleccionar "Raspberry Pi OS (32-bit)"
# Seleccionar la tarjeta microSD como destino
# Hacer clic en "Write" y esperar a que termine el proceso

*Paso 2: Configuración inicial*

# Insertar la tarjeta microSD en la Raspberry Pi
# Conectar teclado, mouse y monitor
# Conectar la fuente de alimentación
# Seguir el asistente de configuración inicial
# Configurar idioma, zona horaria y red WiFi
# Actualizar el sistema: @sudo apt update && sudo apt upgrade -y@

h3{color:#1976D2}. 1.3 Instalación de Bibliotecas Python

Abrir la terminal y ejecutar los siguientes comandos:

<pre>
# Actualizar pip
sudo pip3 install --upgrade pip

# Instalar RPi.GPIO
sudo pip3 install RPi.GPIO

# Instalar Adafruit DHT
sudo pip3 install Adafruit_DHT

# Verificar instalación
python3 -c "import RPi.GPIO; print('RPi.GPIO instalado correctamente')"
python3 -c "import Adafruit_DHT; print('Adafruit_DHT instalado correctamente')"
</pre>



h3{color:#1976D2}. 1.4 Conexión de Sensores

*Conexión del sensor de humedad del suelo:*

|_. Pin del Sensor |_. Pin de Raspberry Pi |_. Descripción |
| VCC | Pin 2 (5V) | Alimentación |
| GND | Pin 6 (GND) | Tierra |
| Signal | Pin 11 (GPIO 17) | Señal de datos |

*Conexión del sensor DHT22:*

|_. Pin del Sensor |_. Pin de Raspberry Pi |_. Descripción |
| VCC | Pin 1 (3.3V) | Alimentación |
| GND | Pin 9 (GND) | Tierra |
| Data | Pin 7 (GPIO 4) | Señal de datos |

p{background:#FFF9C4; padding:10px; border-left:4px solid #FBC02D}. *Importante:* Asegúrese de que la Raspberry Pi esté apagada antes de conectar los sensores.

h3{color:#1976D2}. 1.5 Conexión del Relé y Bomba de Agua

*Conexión del Relé:*

|_. Pin del Relé |_. Conexión |_. Descripción |
| VCC | Pin 4 (5V) | Alimentación del relé |
| GND | Pin 14 (GND) | Tierra |
| IN | Pin 13 (GPIO 27) | Señal de control |
| COM | Fuente 12V (+) | Terminal común |
| NO | Bomba (+) | Normalmente abierto |

*Conexión de la Bomba:*

|_. Terminal |_. Conexión |
| Bomba (+) | Relé terminal NO |
| Bomba (-) | Fuente 12V (-) |

p{background:#FFCDD2; padding:10px; border-left:4px solid #F44336}. *¡Advertencia!* Nunca conecte la bomba directamente a los pines GPIO. Siempre use un relé para evitar daños a la Raspberry Pi.

h3{color:#1976D2}. 1.6 Descarga e Instalación del Código

<pre>
# Crear directorio del proyecto
mkdir ~/sistema-riego
cd ~/sistema-riego

# Clonar repositorio (si está disponible)
git clone [URL_DEL_REPOSITORIO]

# O descargar archivos manualmente y extraer
# Los archivos principales son:
# - main.py (programa principal)
# - config.py (configuración)
# - sensor_reader.py (lectura de sensores)
# - irrigation_controller.py (control de riego)

# Dar permisos de ejecución
chmod +x main.py
</pre>

h3{color:#1976D2}. 1.7 Verificación de la Instalación

*Prueba de sensores:*

<pre>
# Probar sensor de humedad
python3 -c "import RPi.GPIO as GPIO; GPIO.setmode(GPIO.BCM); GPIO.setup(17, GPIO.IN); print('Sensor de humedad OK')"

# Probar sensor DHT22
python3 -c "import Adafruit_DHT; sensor = Adafruit_DHT.DHT22; pin = 4; h, t = Adafruit_DHT.read_retry(sensor, pin); print(f'Temp: {t}°C, Humedad: {h}%')"
</pre>

*Prueba del relé:*

<pre>
# Crear archivo test_relay.py
nano test_relay.py

# Contenido del archivo:
import RPi.GPIO as GPIO
import time

RELAY_PIN = 27
GPIO.setmode(GPIO.BCM)
GPIO.setup(RELAY_PIN, GPIO.OUT)

print("Activando relé...")
GPIO.output(RELAY_PIN, GPIO.HIGH)
time.sleep(2)
print("Desactivando relé...")
GPIO.output(RELAY_PIN, GPIO.LOW)
GPIO.cleanup()

# Ejecutar prueba
python3 test_relay.py
</pre>

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 2. Guía de Configuración Inicial

h3{color:#1976D2}. 2.1 Configuración de Pines GPIO

Editar el archivo @config.py@ para ajustar los pines según su conexión:

<pre>
# Abrir archivo de configuración
nano config.py

# Configuración de pines
HUMEDAD_PIN = 17 # Pin del sensor de humedad del suelo
DHT_PIN = 4 # Pin del sensor DHT22
RELAY_PIN = 27 # Pin del relé
DHT_SENSOR = 22 # Tipo de sensor DHT (22 para DHT22)
</pre>

h3{color:#1976D2}. 2.2 Ajuste de Umbrales de Humedad

Los umbrales determinan cuándo activar y desactivar el riego:

<pre>
# En config.py
UMBRAL_HUMEDAD_MIN = 30 # Humedad mínima (activa riego)
UMBRAL_HUMEDAD_MAX = 70 # Humedad máxima (detiene riego)
</pre>

*Recomendaciones por tipo de planta:*

|_. Tipo de Planta |_. Umbral Mínimo |_. Umbral Máximo |_. Observaciones |
| Cactus y suculentas | 20% | 40% | Requieren poca agua |
| Plantas de interior | 30% | 60% | Humedad moderada |
| Hortalizas | 40% | 70% | Necesitan más agua |
| Plantas tropicales | 50% | 80% | Alta humedad constante |

h3{color:#1976D2}. 2.3 Configuración de Frecuencia de Muestreo

<pre>
# En config.py
INTERVALO_LECTURA = 300 # Segundos entre lecturas (300 = 5 minutos)
TIEMPO_RIEGO_MAX = 60 # Tiempo máximo de riego continuo (segundos)
</pre>

p{background:#E1F5FE; padding:10px; border-left:4px solid #0288D1}. *Recomendación:* Para pruebas iniciales, use intervalos cortos (30-60 segundos). Para operación normal, use 5-10 minutos.

h3{color:#1976D2}. 2.4 Calibración de Sensores

*Calibración del sensor de humedad:*

# Sumergir el sensor en agua: anotar el valor (debería ser ~100%)
# Dejar el sensor al aire seco: anotar el valor (debería ser ~0%)
# Ajustar valores en el código si es necesario

<pre>
# Función de calibración en sensor_reader.py
def calibrar_humedad(valor_raw):
VALOR_SECO = 0 # Ajustar según su sensor
VALOR_HUMEDO = 100 # Ajustar según su sensor
humedad = ((valor_raw - VALOR_SECO) / (VALOR_HUMEDO - VALOR_SECO)) * 100
return max(0, min(100, humedad))
</pre>

h3{color:#1976D2}. 2.5 Configuración de Rutas de Logs

<pre>
# En config.py
LOG_DIR = "/home/pi/sistema-riego/logs/"
LOG_FILE = "riego.log"
LOG_LEVEL = "INFO" # Opciones: DEBUG, INFO, WARNING, ERROR
</pre>

<pre>
# Crear directorio de logs
mkdir -p ~/sistema-riego/logs
</pre>

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 3. Manual de Operación

h3{color:#1976D2}. 3.1 Inicio del Sistema

*Inicio manual:*

<pre>
# Navegar al directorio del proyecto
cd ~/sistema-riego

# Ejecutar el programa principal
python3 main.py
</pre>

*Inicio automático al arranque:*

<pre>
# Editar crontab
crontab -e

# Agregar la siguiente línea al final:
@reboot sleep 30 && /usr/bin/python3 /home/pi/sistema-riego/main.py &

# Guardar y salir (Ctrl+X, Y, Enter)
</pre>

h3{color:#1976D2}. 3.2 Monitoreo en Tiempo Real

Una vez iniciado, el sistema mostrará información en la terminal:

<pre>
[2025-01-03 10:30:15] Sistema iniciado
[2025-01-03 10:30:15] Configuración cargada
[2025-01-03 10:30:20] Leyendo sensores...
[2025-01-03 10:30:20] Humedad del suelo: 45%
[2025-01-03 10:30:20] Temperatura: 22°C
[2025-01-03 10:30:20] Humedad ambiente: 65%
[2025-01-03 10:30:20] Estado: Humedad adecuada, sin riego necesario
</pre>

h3{color:#1976D2}. 3.3 Estados del Sistema

|_. Estado |_. Descripción |_. Acción |
| INICIANDO | Sistema arrancando | Verificando sensores y configuración |
| MONITOREANDO | Lectura de sensores activa | Evaluando condiciones continuamente |
| RIEGO_ACTIVO | Bomba encendida | Regando hasta alcanzar umbral máximo |
| RIEGO_DETENIDO | Bomba apagada | Esperando próxima lectura |
| ERROR_SENSOR | Fallo en lectura | Reintentando o alertando usuario |
| MODO_PRUEBA | Prueba manual activa | Riego controlado manualmente |

h3{color:#1976D2}. 3.4 Modo Automático

En modo automático (predeterminado), el sistema:

# Lee sensores cada X segundos (según configuración)
# Evalúa si la humedad está bajo el umbral mínimo
# Activa la bomba si es necesario
# Monitorea constantemente la humedad durante el riego
# Detiene la bomba al alcanzar el umbral máximo
# Registra todos los eventos en el archivo de log

h3{color:#1976D2}. 3.5 Detención del Sistema

*Detención segura:*

<pre>
# Presionar Ctrl+C en la terminal
# El sistema ejecutará limpieza de GPIO antes de cerrar

# O encontrar el proceso y terminarlo:
ps aux | grep main.py
kill [PID_DEL_PROCESO]
</pre>

p{background:#FFCDD2; padding:10px; border-left:4px solid #F44336}. *Importante:* Siempre detenga el sistema correctamente para evitar que la bomba quede activada.

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 4. Uso del Modo de Prueba

h3{color:#1976D2}. 4.1 Activación del Modo de Prueba

El modo de prueba permite activar manualmente la bomba sin depender de las lecturas de humedad:

<pre>
# Ejecutar script de prueba
python3 test_mode.py

# O agregar bandera al programa principal
python3 main.py --test
</pre>

h3{color:#1976D2}. 4.2 Pruebas Disponibles

*Prueba 1: Activación breve de la bomba*

<pre>
# En el modo de prueba, seleccionar opción 1
# La bomba se activará por 3 segundos
# Verificar que el agua fluye correctamente
</pre>

*Prueba 2: Lectura de sensores*

<pre>
# Seleccionar opción 2
# Muestra lecturas actuales de todos los sensores
# Útil para verificar calibración
</pre>

*Prueba 3: Ciclo completo de riego*

<pre>
# Seleccionar opción 3
# Simula un ciclo completo de riego
# Dura 10 segundos (configurable)
</pre>

h3{color:#1976D2}. 4.3 Verificación de Componentes

|_. Componente |_. Prueba |_. Resultado Esperado |
| Sensor de humedad | Sumergir en agua | Lectura cercana a 100% |
| Sensor de humedad | Exponer al aire | Lectura entre 0-30% |
| Sensor DHT22 | Lectura normal | Temp: 15-30°C, Humedad: 30-80% |
| Relé | Activación manual | Sonido de "click" audible |
| Bomba | Modo de prueba | Flujo de agua constante |

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 5. Interfaz de Usuario

h3{color:#1976D2}. 5.1 Descripción de la Interfaz

La interfaz por terminal muestra:

* *Fecha y hora* de cada evento
* *Nivel de log* (INFO, WARNING, ERROR)
* *Lecturas actuales* de sensores
* *Estado del sistema* (monitoreando, regando, etc.)
* *Eventos de riego* (inicio, fin, duración)

h3{color:#1976D2}. 5.2 Indicadores Visuales

<pre>
[INFO] → Información general
[WARNING] → Advertencia (atención requerida)
[ERROR] → Error (acción requerida)
[DEBUG] → Información de depuración
</pre>

h3{color:#1976D2}. 5.3 Lectura del Historial de Riego

*Ver logs en tiempo real:*

<pre>
# En otra terminal
tail -f ~/sistema-riego/logs/riego.log
</pre>

*Ver últimos N eventos:*

<pre>
# Ver últimas 50 líneas
tail -n 50 ~/sistema-riego/logs/riego.log

# Buscar eventos de riego
grep "RIEGO" ~/sistema-riego/logs/riego.log
</pre>

*Filtrar por fecha:*

<pre>
# Ver eventos de hoy
grep "$(date +%Y-%m-%d)" ~/sistema-riego/logs/riego.log

# Ver eventos de riego de hoy
grep "$(date +%Y-%m-%d)" ~/sistema-riego/logs/riego.log | grep "RIEGO"
</pre>

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 6. Solución de Problemas

|_. Problema |_. Causa Posible |_. Solución |
| Sensor no detectado | Conexión incorrecta | Verificar pines GPIO, reconectar sensor |
| Lecturas erróneas de humedad | Sensor no calibrado | Ejecutar calibración, verificar en agua/aire |
| Lecturas siempre 0% o 100% | Sensor dañado | Reemplazar sensor |
| Bomba no se activa | Relé sin alimentación | Verificar conexión VCC del relé |
| Bomba no se activa | Pin GPIO incorrecto | Revisar configuración en config.py |
| Riego no se detiene | Umbral máximo muy alto | Reducir UMBRAL_HUMEDAD_MAX |
| Riego no se detiene | Error en lógica | Verificar logs, reiniciar sistema |
| Sistema no responde | Proceso bloqueado | Reiniciar Raspberry Pi |
| Error "Permission denied" | Falta permisos GPIO | Ejecutar con sudo o agregar usuario a grupo gpio |
| Temperatura muestra "None" | DHT22 mal conectado | Reconectar sensor, verificar pin |
| Logs no se generan | Directorio no existe | Crear carpeta: mkdir -p ~/sistema-riego/logs |
| Consumo excesivo de agua | Umbrales incorrectos | Ajustar configuración de umbrales |

h3{color:#1976D2}. 6.1 Mensajes de Error Comunes

*Error: "ModuleNotFoundError: No module named 'RPi.GPIO'"*

<pre>
# Solución:
sudo pip3 install RPi.GPIO
</pre>

*Error: "RuntimeError: No access to /dev/mem"*

<pre>
# Solución: ejecutar con sudo
sudo python3 main.py

# O agregar usuario al grupo gpio:
sudo usermod -a -G gpio pi
# Cerrar sesión y volver a entrar
</pre>

*Error: "DHT sensor not found"*

<pre>
# Verificar conexión del DHT22
# Verificar que el pin en config.py sea correcto
# Intentar con otro pin GPIO
</pre>

h3{color:#1976D2}. 6.2 Procedimiento de Diagnóstico

*Paso 1: Verificar hardware*
# Comprobar que todos los cables estén bien conectados
# Verificar que la Raspberry Pi esté encendida
# Comprobar que los sensores tengan alimentación (LED encendido si aplica)

*Paso 2: Verificar software*
# Revisar que todas las bibliotecas estén instaladas
# Verificar que no haya errores de sintaxis en archivos modificados
# Comprobar permisos de archivos

*Paso 3: Revisar logs*
# Leer el archivo de log completo
# Identificar el último evento antes del error
# Buscar patrones de error repetidos

*Paso 4: Pruebas aisladas*
# Probar cada sensor individualmente
# Probar el relé por separado
# Ejecutar el modo de prueba

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 7. Mantenimiento

h3{color:#1976D2}. 7.1 Mantenimiento Preventivo

*Semanal:*
* Verificar funcionamiento del sistema
* Revisar nivel de agua en el depósito
* Inspeccionar visualmente las conexiones
* Limpiar sensor de humedad del suelo

*Mensual:*
* Limpieza profunda de sensores
* Verificar filtros de la bomba (si aplica)
* Revisar mangueras y goteros por obstrucciones
* Verificar integridad de cables
* Revisar logs para detectar anomalías

*Trimestral:*
* Recalibrar sensores
* Verificar ajuste de umbrales según estación
* Actualizar software si hay versiones nuevas
* Realizar respaldo de configuración

h3{color:#1976D2}. 7.2 Limpieza de Sensores

*Sensor de humedad del suelo:*

# Apagar el sistema
# Extraer el sensor del suelo
# Limpiar con agua destilada y cepillo suave
# Secar completamente antes de reinstalar
# No sumergir el módulo electrónico, solo la sonda

*Sensor DHT22:*

# No requiere limpieza frecuente
# Si es necesario, limpiar con aire comprimido
# No tocar directamente los componentes electrónicos

h3{color:#1976D2}. 7.3 Actualización del Software

<pre>
# Detener el sistema
sudo pkill -f main.py

# Navegar al directorio
cd ~/sistema-riego

# Hacer respaldo de configuración actual
cp config.py config.py.backup

# Actualizar código (si usa Git)
git pull origin main

# O descargar nueva versión manualmente

# Restaurar configuración si es necesario
cp config.py.backup config.py

# Reiniciar el sistema
python3 main.py
</pre>

h3{color:#1976D2}. 7.4 Respaldo de Configuración

<pre>
# Crear respaldo completo
tar -czf backup-$(date +%Y%m%d).tar.gz ~/sistema-riego/

# Guardar en ubicación segura
mv backup-*.tar.gz ~/backups/

# Restaurar desde respaldo
tar -xzf backup-YYYYMMDD.tar.gz -C ~/
</pre>

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 8. Especificaciones Técnicas

h3{color:#1976D2}. 8.1 Especificaciones de Hardware

*Raspberry Pi 4 Model B:*
* Procesador: Broadcom BCM2711, Quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
* RAM: 4 GB LPDDR4
* GPIO: 40 pines
* Consumo: 5V, 3A (15W)

*Sensor de Humedad del Suelo:*
* Voltaje de operación: 3.3-5V DC
* Corriente: < 20mA
* Salida: Señal analógica/digital
* Rango de medición: 0-100% humedad relativa del suelo

*Sensor DHT22:*
* Voltaje de alimentación: 3.3-5V DC
* Rango de temperatura: -40°C a 80°C
* Precisión temperatura: ±0.5°C
* Rango de humedad: 0-100% RH
* Precisión humedad: ±2% RH

*Mini Bomba de Agua:*
* Voltaje: 12V DC
* Corriente: 0.8-1A
* Flujo: 120 litros/hora
* Altura máxima: 1.5 metros
* Sumergible: Sí

*Relé:*
* Voltaje de señal: 5V
* Corriente máxima: 10A
* Tipo: Normalmente abierto (NO)

h3{color:#1976D2}. 8.2 Consumo Eléctrico

|_. Componente |_. Voltaje |_. Corriente |_. Potencia |
| Raspberry Pi 4 | 5V | 3A | 15W |
| Sensor de humedad | 5V | 0.02A | 0.1W |
| Sensor DHT22 | 3.3V | 0.002A | 0.007W |
| Relé | 5V | 0.07A | 0.35W |
| Bomba de agua | 12V | 1A | 12W |
|>. *Total (bomba activa)* |>. *~27.5W* |
|>. *Total (bomba inactiva)* |>. *~15.5W* |

h3{color:#1976D2}. 8.3 Rango de Operación

|_. Parámetro |_. Rango |_. Valor Óptimo |
| Temperatura ambiente | -5°C a 40°C | 15°C a 30°C |
| Humedad ambiente | 10% a 90% RH | 40% a 70% RH |
| Humedad del suelo (lectura) | 0% a 100% | 30% a 70% (plantas comunes) |
| Frecuencia de muestreo | 10 segundos a 1 hora | 5 minutos |
| Tiempo de riego | 5 segundos a 5 minutos | 30-60 segundos |

h3{color:#1976D2}. 8.4 Tolerancias y Precisión

* Precisión del sensor de humedad del suelo: ±5%
* Precisión del sensor DHT22 (temperatura): ±0.5°C
* Precisión del sensor DHT22 (humedad): ±2% RH
* Tiempo de respuesta del sistema: < 5 segundos
* Margen de error en tiempo de riego: ±2 segundos

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 9. Preguntas Frecuentes (FAQ)

h3{color:#1976D2}. ¿Con qué frecuencia riega el sistema?

El sistema riega automáticamente cuando la humedad del suelo cae por debajo del umbral mínimo configurado. La frecuencia depende de:
* Tipo de planta (consumo de agua)
* Temperatura y humedad ambiental
* Tamaño del contenedor/maceta
* Estación del año

Típicamente, puede regar desde 1 vez al día hasta varias veces por semana.

h3{color:#1976D2}. ¿Puedo usar otros sensores?

Sí, el sistema es modular. Puede reemplazar los sensores por otros compatibles, ajustando la configuración de pines y las bibliotecas en el código. Sensores compatibles:
* Cualquier sensor de humedad capacitivo o resistivo
* DHT11 (menos preciso que DHT22)
* Sensores I2C como BME280 (requiere modificación del código)

h3{color:#1976D2}. ¿Funciona con cualquier tipo de planta?

El sistema funciona con la mayoría de plantas, pero debe ajustar los umbrales según las necesidades específicas:
* Cactus y suculentas: umbrales bajos (20-40%)
* Plantas tropicales: umbrales altos (50-80%)
* Hortalizas: umbrales medios (40-70%)

h3{color:#1976D2}. ¿Necesita conexión a internet?

No, el sistema funciona completamente offline. La Raspberry Pi solo necesita:
* Alimentación eléctrica
* Acceso local (opcional, para monitoreo)

Conexión a internet es opcional para:
* Actualizaciones de software
* Monitoreo remoto (funcionalidad futura)
* Sincronización de fecha/hora

h3{color:#1976D2}. ¿Qué hacer en caso de corte de energía?

El sistema no tiene batería de respaldo por defecto. En caso de corte:
* El sistema se detendrá completamente
* Al restablecerse la energía, puede configurarse para iniciar automáticamente
* Los datos de configuración se mantienen guardados
* Se recomienda UPS (sistema de alimentación ininterrumpida) para aplicaciones críticas

h3{color:#1976D2}. ¿Es resistente al agua el sistema?

* La Raspberry Pi NO es resistente al agua - mantenerla en lugar seco
* Los sensores son resistentes a la humedad/agua
* La bomba es sumergible
* El relé debe estar en lugar protegido
* Se recomienda caja protectora para la Raspberry Pi

h3{color:#1976D2}. ¿Cuántas plantas puedo regar con este sistema?

Esto depende de:
* Capacidad de la bomba (120 L/h en este caso)
* Longitud de manguera disponible
* Número de goteros instalados
* Presión del agua

Configuración típica: 4-8 plantas en un área de 2-3 metros cuadrados

h3{color:#1976D2}. ¿Puedo controlar el sistema desde mi teléfono?

En la versión actual, no hay interfaz móvil. Sin embargo, puede:
* Acceder por SSH desde una app como Termius
* Ver logs en tiempo real
* Modificar configuración remotamente

Funcionalidad futura incluirá app móvil dedicada.

h3{color:#1976D2}. ¿Cuánto dura el agua del depósito?

Depende de:
* Tamaño del depósito (20L en configuración base)
* Número de plantas
* Tiempo de riego por ciclo
* Frecuencia de riego

Ejemplo: Con riego de 30 segundos (1L aprox.), 3 veces por semana, para 4 plantas = ~12L/semana = el depósito dura ~10 días

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 10. Seguridad y Precauciones

h3{color:#1976D2}. 10.1 Precauciones Eléctricas

p{background:#FFCDD2; padding:10px; border-left:4px solid #F44336}. *¡PELIGRO!* Nunca manipule conexiones eléctricas con el sistema encendido.

* Desconecte siempre la alimentación antes de modificar conexiones
* No mezcle voltajes diferentes sin la protección adecuada
* Use fuentes de alimentación certificadas
* Verifique polaridad antes de conectar componentes
* No exceda las especificaciones de corriente de los pines GPIO (16 mA max)

h3{color:#1976D2}. 10.2 Manejo de Agua cerca de Componentes

* Mantenga la Raspberry Pi en lugar seco y elevado
* Use caja protectora resistente al agua para la Raspberry Pi
* Nunca sumerja la Raspberry Pi o el relé
* Coloque el depósito de agua alejado de componentes electrónicos
* Verifique regularmente la integridad de mangueras
* Use conectores herméticos en áreas propensas a salpicaduras

h3{color:#1976D2}. 10.3 Voltajes Seguros

|_. Componente |_. Voltaje Seguro |_. Voltaje Máximo |
| Raspberry Pi | 5V | 5.25V |
| GPIO (entrada) | 3.3V | 3.3V |
| GPIO (salida) | 3.3V | 3.3V |
| Sensor de humedad | 3.3-5V | 5.5V |
| Sensor DHT22 | 3.3-5V | 5.5V |
| Relé (señal) | 5V | 5V |
| Bomba | 12V | 12V |

h3{color:#1976D2}. 10.4 Qué NO Hacer

❌ NO conectar la bomba directamente a GPIO
❌ NO usar voltajes superiores a 3.3V en pines GPIO de entrada
❌ NO modificar el código sin respaldo previo
❌ NO dejar el sistema funcionando sin supervisión inicial
❌ NO ubicar el sistema cerca de fuentes de calor
❌ NO obstruir la ventilación de la Raspberry Pi
❌ NO usar agua salada o contaminada (daña sensores)
❌ NO forzar conexiones de pines
❌ NO tocar componentes mientras el sistema está encendido

h3{color:#1976D2}. 10.5 Advertencias Importantes

p{background:#FFF9C4; padding:10px; border-left:4px solid #FBC02D}. *Advertencia 1:* El sensor de humedad del suelo se corroe con el tiempo. Reemplácelo cada 6-12 meses según uso.

p{background:#FFF9C4; padding:10px; border-left:4px solid #FBC02D}. *Advertencia 2:* Si el sistema no detiene el riego automáticamente, podría causar inundación. Pruebe siempre el sistema supervisado antes de dejarlo en modo automático.

p{background:#FFF9C4; padding:10px; border-left:4px solid #FBC02D}. *Advertencia 3:* La Raspberry Pi puede sobrecalentarse en ambientes calurosos. Monitoree la temperatura del procesador regularmente.

p{background:#FFF9C4; padding:10px; border-left:4px solid #FBC02D}. *Advertencia 4:* No utilice el sistema para aplicaciones críticas de vida o muerte sin sistemas de seguridad redundantes.

h3{color:#1976D2}. 10.6 En Caso de Emergencia

*Si la bomba no se detiene:*
# Desconecte inmediatamente la fuente de alimentación de la bomba
# No intente detenerla manualmente mientras esté energizada
# Revise la lógica del código antes de reiniciar

*Si detecta humo o olor a quemado:*
# Desconecte INMEDIATAMENTE toda la alimentación
# No vuelva a conectar hasta identificar el problema
# Revise visualmente todos los componentes
# Reemplace cualquier componente dañado

*Si hay contacto agua-electricidad:*
# Desconecte la alimentación desde el interruptor principal
# No toque componentes mojados hasta que estén completamente secos
# Espere al menos 24 horas antes de reconectar
# Inspeccione cuidadosamente todos los componentes

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 11. Comandos Útiles

h3{color:#1976D2}. 11.1 Comandos del Sistema

<pre>
# Ver estado del sistema
ps aux | grep main.py

# Reiniciar el sistema
sudo pkill -f main.py && python3 ~/sistema-riego/main.py &

# Ver logs en tiempo real
tail -f ~/sistema-riego/logs/riego.log

# Ver uso de CPU
top

# Ver temperatura de la Raspberry Pi
vcgencmd measure_temp

# Ver memoria disponible
free -h

# Ver espacio en disco
df -h
</pre>

h3{color:#1976D2}. 11.2 Comandos de Configuración

<pre>
# Editar configuración
nano ~/sistema-riego/config.py

# Ver configuración actual
cat ~/sistema-riego/config.py

# Hacer respaldo de configuración
cp ~/sistema-riego/config.py ~/sistema-riego/config.py.backup

# Restaurar configuración
cp ~/sistema-riego/config.py.backup ~/sistema-riego/config.py
</pre>

h3{color:#1976D2}. 11.3 Comandos de Logs

<pre>
# Ver últimas 100 líneas del log
tail -n 100 ~/sistema-riego/logs/riego.log

# Buscar eventos de riego
grep "RIEGO" ~/sistema-riego/logs/riego.log

# Contar eventos de riego de hoy
grep "$(date +%Y-%m-%d)" ~/sistema-riego/logs/riego.log | grep "RIEGO_ACTIVO" | wc -l

# Ver errores
grep "ERROR" ~/sistema-riego/logs/riego.log

# Limpiar logs antiguos (más de 30 días)
find ~/sistema-riego/logs/ -name "*.log" -mtime +30 -delete
</pre>

h2{color:#0D47A1; border-bottom:2px solid #90CAF9; padding-bottom:5px}. 12. Contacto y Soporte

h3{color:#1976D2}. 12.1 Información del Proyecto

*Proyecto:* Sistema de Riego Automatizado con Raspberry Pi
*Asignatura:* Proyecto II
*Institución:* Universidad de Tarapacá - Ingeniería Civil en Computación e Informática
*Profesor:* Diego Aracena Pizarro

h3{color:#1976D2}. 12.2 Equipo de Desarrollo

|_. Nombre |_. Correo Electrónico |_. Rol |
| Bairon Núñez | bairon.nunez.godoy@alumnos.uta.cl | Jefe de Proyecto / Programador |
| Christopher Romo | christopher.romo@alumnos.uta.cl | Documentador |
| Gustavo Morales | gustavo.morales@alumnos.uta.cl | Diseñador |

h3{color:#1976D2}. 12.3 Recursos Adicionales

* Repositorio del proyecto: [https://github.com/norybb/Huerto-IoT-Unity]
* Documentación completa: [[Wiki|Ver todas las secciones]]

p{text-align:center; margin-top:30px}. [[Wiki|← Volver al inicio]] | [[Resultados|Ver Resultados →]]