XA-vito commited on
Commit
d39334c
·
verified ·
1 Parent(s): c1ee5c6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -57
app.py CHANGED
@@ -1,66 +1,32 @@
1
  import gradio as gr
2
-
3
- # IA para analizar el estado de la colmena
4
- def analizar_colmena(temp, humedad, peso, co2, sonido, bateria, voc, temp_ext, humedad_ext, voltaje):
5
- mensaje = "✅ Todo está dentro de los parámetros normales."
6
-
7
- # Análisis de temperatura interna
8
- if temp > 38:
9
- mensaje += " ⚠️ Temperatura interna muy alta, activar ventilación."
10
- elif temp < 30:
11
- mensaje += " ⚠️ Temperatura interna muy baja, activar calefacción."
12
-
13
- # Análisis de humedad interna
14
- if humedad < 50:
15
- mensaje += " ⚠️ Humedad interna baja, revisar condiciones."
16
- elif humedad > 80:
17
- mensaje += " ⚠️ Humedad interna alta, riesgo de hongos."
18
-
19
- # Análisis de peso
20
- if peso < 10:
21
- mensaje += " ⚠️ Peso bajo, posible problema con la colmena."
22
-
23
- # Análisis de CO₂
24
- if co2 > 1000:
25
- mensaje += " ⚠️ Nivel alto de CO₂, posible sobrepoblación o falta de ventilación."
26
-
27
- # Análisis de sonido (frecuencia del zumbido)
28
- if sonido < 150 or sonido > 300:
29
- mensaje += " ⚠️ Frecuencia anormal en el zumbido, posible estrés en la colmena."
30
-
31
- # Análisis de batería
32
- if bateria < 20:
33
- mensaje += " ⚠️ Batería baja, recargar el sistema."
34
-
35
- # Análisis de compuestos volátiles orgánicos (VOC)
36
- if voc > 600:
37
- mensaje += " ⚠️ Nivel alto de VOC, posible contaminación del aire en la colmena."
38
-
39
- # Análisis de temperatura exterior
40
- if temp_ext > 40:
41
- mensaje += " ⚠️ Temperatura exterior muy alta, riesgo de sobrecalentamiento."
42
- elif temp_ext < 5:
43
- mensaje += " ⚠️ Temperatura exterior muy baja, posible riesgo de frío extremo."
44
-
45
- # Análisis de humedad exterior
46
- if humedad_ext > 85:
47
- mensaje += " ⚠️ Alta humedad exterior, posible riesgo de condensación."
48
- elif humedad_ext < 30:
49
- mensaje += " ⚠️ Baja humedad exterior, puede afectar a la colmena."
50
-
51
- # Análisis de voltaje
52
- if voltaje < 3.7:
53
- mensaje += " ⚠️ Voltaje bajo, posible falla en la alimentación del sistema."
54
-
55
  return mensaje
56
 
57
- # Crear API con Gradio
58
  iface = gr.Interface(
59
- fn=analizar_colmena,
60
- inputs=["number", "number", "number", "number", "number", "number", "number", "number", "number", "number"],
61
  outputs="text",
62
  title="🐝 IA Inteligente para Colmenas",
63
- description="Introduce los datos de la colmena y la IA analizará si hay problemas y qué acciones tomar."
64
  )
65
 
66
  # Lanzar la API
 
1
  import gradio as gr
2
+ import joblib
3
+ import numpy as np
4
+ import os
5
+
6
+ # Cargar el modelo entrenado
7
+ modelo_path = "modelo_colmena.pkl"
8
+ if os.path.exists(modelo_path):
9
+ modelo = joblib.load(modelo_path)
10
+ else:
11
+ raise FileNotFoundError("El modelo no se encuentra en el servidor.")
12
+
13
+ # Función para hacer predicciones con el modelo
14
+ def predecir(temp, humedad, peso, co2, vco, frecuencia, voltaje, temp_ext, humedad_ext):
15
+ entrada = np.array([[temp, humedad, peso, co2, vco, frecuencia, voltaje, temp_ext, humedad_ext]])
16
+ prediccion = modelo.predict(entrada)[0] # El modelo devuelve [ventilador, ultrasonido]
17
+
18
+ mensaje = f"🔹 Ventilador: {'ENCENDER' if prediccion[0] == 1 else 'APAGAR'}"
19
+ mensaje += f"\n🔹 Ultrasonido: {'ENCENDER' if prediccion[1] == 1 else 'APAGAR'}"
20
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  return mensaje
22
 
23
+ # Crear la API en Gradio
24
  iface = gr.Interface(
25
+ fn=predecir,
26
+ inputs=["number", "number", "number", "number", "number", "number", "number", "number", "number"],
27
  outputs="text",
28
  title="🐝 IA Inteligente para Colmenas",
29
+ description="Introduce los datos de la colmena y la IA predecirá si es necesario activar ventilador y ultrasonido."
30
  )
31
 
32
  # Lanzar la API