60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
|
|
|
||
|
|
# Solo importas lo que necesitas
|
||
|
|
from core.speaker_iot import saludar, detener, obtener_estado
|
||
|
|
|
||
|
|
# ===== EJEMPLO 1: Cuando detectas una persona =====
|
||
|
|
def mi_detector():
|
||
|
|
nombre = "Ana" # Tu IA obtiene el nombre
|
||
|
|
|
||
|
|
# Enviar saludo (¡una sola línea!)
|
||
|
|
saludar(nombre)
|
||
|
|
|
||
|
|
# También puedes verificar si funcionó
|
||
|
|
if saludar(nombre):
|
||
|
|
print(f"✅ Saludo enviado a {nombre}")
|
||
|
|
else:
|
||
|
|
print(f"❌ Error al enviar saludo a {nombre}")
|
||
|
|
|
||
|
|
# ===== EJEMPLO 2: Dentro de tu loop principal =====
|
||
|
|
while True:
|
||
|
|
persona = detectar_persona() # Tu función de detección
|
||
|
|
|
||
|
|
if persona:
|
||
|
|
nombre = obtener_nombre(persona) # Tu base de datos
|
||
|
|
saludar(nombre) # Envía el saludo
|
||
|
|
|
||
|
|
# ===== EJEMPLO 3: Clase completa =====
|
||
|
|
class MiSistemaIA:
|
||
|
|
def __init__(self):
|
||
|
|
self.bocina_ip = "192.168.15.128" # O usa la del config
|
||
|
|
|
||
|
|
def on_persona_detectada(self, persona):
|
||
|
|
nombre = self.obtener_nombre(persona)
|
||
|
|
if nombre:
|
||
|
|
print(f"🎉 Detectada: {nombre}")
|
||
|
|
saludar(nombre) # ¡Así de simple!
|
||
|
|
|
||
|
|
def obtener_nombre(self, persona):
|
||
|
|
# Tu lógica para obtener nombre
|
||
|
|
return persona.get("nombre", "Visitante")
|
||
|
|
|
||
|
|
# ===== Ejemplo completo de integración =====
|
||
|
|
|
||
|
|
class SistemaSeguridad:
|
||
|
|
def __init__(self):
|
||
|
|
self.personas_conocidas = ["Ana", "Carlos", "Maria"]
|
||
|
|
print("✅ Sistema iniciado - Bocina lista")
|
||
|
|
|
||
|
|
def detectar(self, nombre):
|
||
|
|
if nombre in self.personas_conocidas:
|
||
|
|
print(f"🔔 ¡Bienvenido {nombre}!")
|
||
|
|
saludar(nombre) # Envía saludo
|
||
|
|
return True
|
||
|
|
else:
|
||
|
|
print(f"⚠️ Persona no registrada: {nombre}")
|
||
|
|
return False
|
||
|
|
|
||
|
|
# Uso
|
||
|
|
sistema = SistemaSeguridad()
|
||
|
|
sistema.detectar("Ana") # Reproduce sonido
|
||
|
|
sistema.detectar("Luis") # No reproduce
|