import time
import random
from umqtt.simple import MQTTClient

# Configuración MQTT
MQTT_BROKER = "io.adafruit.com"
MQTT_PORT = 1883  # Puerto MQTT correcto
MQTT_USER = "josedavila2745"
MQTT_KEY = "aio_yVSy34vc2379JefwaaKzsVwy1B27"
FEED_TEMP = f"{MQTT_USER}/feeds/temperatura"
FEED_ACC_X = f"{MQTT_USER}/feeds/aceleracion_x"
FEED_ACC_Y = f"{MQTT_USER}/feeds/aceleracion_y"
FEED_ACC_Z = f"{MQTT_USER}/feeds/aceleracion_z"

# Configurar MQTT
client = MQTTClient("ESP32", MQTT_BROKER, port=MQTT_PORT, user=MQTT_USER, password=MQTT_KEY)
client.connect()

def send_data():
    temp = round(random.uniform(49.5, 50.5), 2)
    acc_x = round(random.uniform(0.009, 0.011), 5)
    acc_y = round(random.uniform(0.009, 0.011), 5)
    acc_z = round(random.uniform(0.009, 0.011), 5)

    client.publish(FEED_TEMP, str(temp))
    client.publish(FEED_ACC_X, str(acc_x))
    client.publish(FEED_ACC_Y, str(acc_y))
    client.publish(FEED_ACC_Z, str(acc_z))

    print(f"Enviando datos: T={temp}, X={acc_x}, Y={acc_y}, Z={acc_z}")

while True:
    send_data()
    time.sleep(5)