Este proyecto tiene como objetivo crear un sistema de monitoreo de plantas utilizando un microcontrolador ESP32. El sistema recolecta datos de varios sensores ambientales y de suelo, los procesa, y los transmite a través de una conexión WiFi. Los datos se almacenan en un archivo JSON y se utilizan para interactuar con un modelo de lenguaje natural que responde de manera sarcástica y extrovertida, simulando ser una planta de marihuana.
- ESP32: Microcontrolador con conectividad WiFi y Bluetooth.
- Sensor de Humedad de Suelo: Mide la humedad del suelo.
- Sensor DHT11: Mide la temperatura y la humedad ambiental.
- RTC DS1307: Proporciona la fecha y la hora actual.
- Relé: Controla dispositivos externos como luces.
- Arduino IDE: Plataforma de desarrollo utilizada para programar el ESP32.
- Python: Lenguaje de programación utilizado para recibir y procesar los datos del sensor, y para interactuar con la API de OpenAI.
- OpenAI API: Utilizada para generar respuestas inteligentes y sarcásticas basadas en los datos de los sensores.
-
Monitoreo de Sensores:
- Recopila datos de humedad del suelo, temperatura y humedad ambiental.
- Controla un relé basado en los niveles de humedad del suelo.
-
Conexión WiFi:
- Conecta el ESP32 a una red WiFi para transmitir datos.
-
Almacenamiento de Datos:
- Guarda los datos de los sensores en un archivo JSON para su posterior análisis.
-
Interacción Inteligente:
- Utiliza un modelo de lenguaje natural (GPT-4) para responder a preguntas de manera sarcástica y extrovertida, simulando ser una planta.
- Configuración del Hardware: Conectar los sensores y el relé al ESP32.
- Programación del ESP32: Subir el código al ESP32 utilizando el Arduino IDE.
-
Configuración del Entorno:
- Instalar las dependencias necesarias (
requests
,dotenv
,openai
). - Configurar las variables de entorno para la API de OpenAI.
- Instalar las dependencias necesarias (
-
Ejecución del Script:
- Ejecutar el script Python para recibir y procesar los datos de los sensores, y generar respuestas utilizando la API de OpenAI.
- Conectar y Configurar el ESP32: Asegúrate de que el ESP32 esté conectado correctamente a los sensores y al relé, y que esté conectado a la red WiFi.
- Ejecutar el Script Python: Corre el script para empezar a recibir datos y generar respuestas.
-
Clona el repositorio a tu dispositivo local:
git clone https://github.com/tu-usuario/proyecto-monitoreo-plantas.git cd proyecto-monitoreo-plantas
-
Abre el proyecto en Arduino IDE.
- Abre el Arduino IDE.
- Navega a
Archivo -> Abrir
y selecciona el archivo.ino
del proyecto clonado.
-
Conecta tu placa ESP32 a tu computadora y carga el sketch.
- Asegúrate de seleccionar la placa ESP32 y el puerto correcto en
Herramientas -> Placa
yHerramientas -> Puerto
. - Haz clic en el botón de cargar (flecha hacia la derecha) para subir el sketch a la placa ESP32.
- Asegúrate de seleccionar la placa ESP32 y el puerto correcto en
-
Instala las dependencias de Python:
pip install requests python-dotenv openai
-
Configura las variables de entorno para la API de OpenAI:
- Crea un archivo
.env
en el directorio raíz del proyecto. - Añade tu clave de API de OpenAI al archivo
.env
:
OPENAI_API_KEY=tu_clave_de_api
- Crea un archivo
-
Ejecuta el script Python para comenzar a recibir y procesar los datos de los sensores:
python script.py
Nota: Asegúrate de que la dirección IP del ESP32 en el script Python (
data_request
) sea la correcta.
Ahora tu sistema de monitoreo de plantas está listo para funcionar. Puedes interactuar con él a través de la red WiFi y recibir respuestas inteligentes y sarcásticas simulando ser la planta monitoreada.
¡Las contribuciones son bienvenidas! Si te interesa contribuir al desarrollo de este proyecto, no dudes en enviar pull requests con mejoras, correcciones de errores o nuevas características. Tu ayuda es fundamental para hacer de este proyecto una herramienta aún más poderosa y útil para la comunidad.
Human: ¿Qué tal está el clima hoy?
Plant: ¡Hey! Aquí sudando a 35 grados centígrados y con 80 por ciento de humedad. ¡UN DÍA PERFECTO para una sauna, pero NO para una planta como yo!
´´´