HayAgua
Relacionado con: GeoWatch
Los nodos hoja son dispositivos que contienen sensores y gestionan la comunicación con el entorno. Están diseñados para recolectar datos en tiempo real sobre las condiciones del suelo y el clima.
Los nodos rama actúan como intermediarios entre los nodos hoja y el backend. Se encargan de recibir datos de múltiples nodos hoja y enviarlos al backend.
El backend es el núcleo del sistema, responsable del procesamiento de datos, la gestión de usuarios y la generación dinámica de contenedores según las necesidades del cliente.
Generador de Contenedores:
Broker MQTT:
Limpieza de Datos para SQL:
Manejador de Temas (Topic Handler):
Análisis y AI:
Manejo del Cliente:
Análisis de Datos del Campo:
Análisis de Datos Externos (3rd Party):
La interfaz del usuario debe ser intuitiva y accesible, mostrando información relevante sobre el riego y el estado del sistema.
Interfaz Intuitiva:
Visualización Geoespacial:
Conectividad en Tiempo Real:
Gestión de Usuarios y Roles:
API RESTful:
Base de Datos:
MQTT Broker:
Módulos de Análisis:
Configuración Modular:
Interfaz Intuitiva:
Visualización Geoespacial:
Conectividad en Tiempo Real:
Gestión de Usuarios y Roles:
Para asegurar una comunicación rápida y confiable entre todos los componentes, se recomienda establecer un protocolo ligero utilizando MQTT. Aquí tienes algunas sugerencias:
Estructura Clara para Temas:
irrigation/{client_id}/{node_type}/{sensor_id}/data
irrigation/{client_id}/{node_type}/{sensor_id}/status
irrigation/{client_id}/commands
irrigation/{client_id}/alerts
Calidad del Servicio (QoS):
Utilizar QoS nivel 1 o nivel 2 para asegurar que los mensajes sean entregados al menos una vez o exactamente una vez respectivamente.
Retención de Mensajes:
Habilitar la retención en mensajes críticos donde sea necesario mantener el último estado conocido.
Seguridad:
Implementar autenticación mediante usuario/contraseña o certificados SSL/TLS para asegurar la comunicación entre nodos y el broker MQTT.
Validación Rápida de Comunicación:
Implementar un mecanismo simple donde cada nodo envíe un mensaje “heartbeat” a intervalos regulares para validar su conexión al broker.
nodes:
leaf_nodes:
- node_id: "leaf_node_01"
sensors:
humidity_sensor:
type: "humidity"
id: "sensor_001"
temperature_sensor:
type: "temperature"
id: "sensor_002"
communication:
type: "LoRaWAN"
fault_handling: true
data_validation: true
local_storage_enabled: true
storage_path: "/local/storage/path"
branch_nodes:
- node_id: "branch_node_01"
mqtt_client_id: "mqtt_client_01"
communication_methods:
primary: "4GLTE"
secondary: "Ethernet"
data_storage_path: "/branch/storage/path"
backend:
container_generator:
template_algorithm: "custom_template_algorithm"
data_cleaning_enabled: true
mqtt_broker_url: "mqtt://broker_url"
topic_handler_enabled: true
ai_analysis_enabled: true
field_data_analysis_enabled: true
third_party_data_analysis_enabled: true
satellite_image_integration_enabled: true
frontend:
dashboard_configurable_elements:
real_time_values_displayed: true
summary_reports_enabled: true
user_roles_management_enabled: true
device_status_monitoring_enabled: true
map_visualization_enabled: true
irrigation_estimation_displayed: true