Skip to content

JLosada-Dev/hatoverde-esp32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

🐄 Sistema de Ordeño Académico ESP32 — Documentación

1. Descripción General

Este código implementa un sistema de ordeño simulado en ESP32, donde la medición real de un sensor ultrasónico se escala para representar volúmenes de ordeño típicos. El dispositivo actúa como frontend académico: recibe la configuración de un bovino, mide la cantidad de leche producida (simulada a partir de una medición real) y expone los resultados mediante endpoints HTTP para ser consumidos por un frontend Angular y un backend académico.


2. Funcionalidades Principales

  • Configuración Remota: El ESP32 recibe parámetros del bovino (ID, grasa, proteína) vía POST.
  • Medición Escalada: Utiliza un sensor HC-SR04 para medir el nivel real de leche en un vaso, pero multiplica este valor por un factor (SIMULATION_SCALE) para simular ordeños reales.
  • Exposición de Datos: Los resultados se ponen disponibles en el endpoint /pending-production.
  • Notificación de Errores: Ante 5 fallos consecutivos del sensor, notifica automáticamente al backend, pero solo una vez cada 10 minutos para evitar spam.
  • Diagnóstico de Salud: El endpoint /health ofrece información de estado, señal WiFi y configuración.
  • Mensajes Claros al Usuario: El monitor serie muestra mensajes comprensibles y útiles para estudiantes y docentes.

3. Endpoints HTTP Disponibles

Endpoint Método Descripción
/config-bovine POST Recibe y almacena la configuración del bovino
/pending-production GET Entrega la producción pendiente (simulada/escalada)
/clear-pending POST Limpia el estado de producción pendiente y espera nueva
/health GET Retorna información del sistema y diagnóstico
/error-esp32 (backend) POST Reporte automático de errores críticos

4. Parámetros Ajustables

  • SIMULATION_SCALE: Multiplica el valor real del sensor para simular un ordeño real. Por defecto 10.0f (1L real → 10L simulado). Puedes ajustar este valor según la demostración.
  • THRESHOLD_TIME: Tiempo (en ms) que la lectura debe mantenerse estable para considerar terminado el ordeño. Por defecto 1000 (1 segundo).
  • ERROR_INTERVAL: Intervalo mínimo entre reportes de error (en ms). Por defecto 600000UL (10 minutos).

5. Flujo de Trabajo

  1. Configuración: El frontend Angular envía la configuración del bovino al ESP32 por /config-bovine.
  2. Medición: El ESP32 realiza mediciones cada segundo. Si detecta que la cantidad de litros simulada se mantiene estable por 1 segundo, considera el ordeño terminado.
  3. Exposición de Producción: La medición queda disponible en /pending-production hasta que el frontend confirme el guardado (POST a /clear-pending).
  4. Limpieza: Al limpiar, el sistema muestra "⏳ Listo, esperando nueva configuración..." en el monitor serie y queda listo para una nueva ronda.
  5. Errores: Si el sensor falla 5 veces consecutivas, se notifica automáticamente al backend, evitando repeticiones excesivas.

6. Mensajes en el Monitor Serie

  • Conexión WiFi exitosa
  • Recepción de configuración
  • Inicio de mediciones
  • Medición y estabilidad de ordeño
  • Advertencias y errores claros
  • Estados después de limpiar producción

Estos mensajes ayudan a estudiantes y docentes a seguir el flujo de la práctica y detectar problemas fácilmente.


7. Requisitos de Hardware

  • ESP32
  • Sensor ultrasónico HC-SR04
  • Conexión WiFi
  • (Opcional: protoboard, vaso para la simulación, cables)

8. Recomendaciones

  • Ajusta SIMULATION_SCALE según el entorno y los volúmenes que deseas simular.
  • Usa el endpoint /health para verificar la conectividad antes de cada práctica.
  • En caso de errores persistentes, revisa las conexiones físicas del sensor.

9. Ejemplo de Mensajes en Monitor Serie

🚀 Iniciando sistema de ordeño ESP32 académico...
✅ WiFi conectado. Dirección IP: 192.168.1.30
🌐 Servidor HTTP iniciado y escuchando peticiones...
✅ Configuración recibida: ID=2, Grasa=3.4, Proteína=3.2
🟢 Sistema listo para medir producción...
📏 Medición: 11.0 cm (1.10 L real) → 11.00 L (simulado)
✅ Ordeño FINALIZADO: 11.00 L reportados. Espere confirmación en la UI...
⏳ Listo, esperando nueva configuración...

🔗 Repositorios del Proyecto

Este proyecto es parte del sistema HatoVerde:

About

Firmware para dispositivos ESP32 de monitoreo de ganado con sensores IoT

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages