import network
import time
from machine import Pin, I2C, sleep
import mpu6050 #import MPU6050
import ujson
from umqtt.simple import MQTTClient
# MQTT Parametros del seervidor
MQTT_CLIENT_ID = "micropython-mpu6050-demo"
MQTT_BROKER = "broker.mqttdashboard.com"
MQTT_USER = ""
MQTT_PASSWORD = ""
MQTT_TOPIC = "wokwi-mpu6050"
i2c = I2C(scl=Pin(33), sda=Pin(32))
mpu = mpu6050(i2c)
print("Connecting to MQTT server... ", end="")
client = MQTTClient(MQTT_CLIENT_ID, MQTT_BROKER, user=MQTT_USER, password=MQTT_PASSWORD)
client.connect()
print("Connected!")
prev_data = ""
while True:
print("Measuring accelerometer and temperature... ", end="")
accel_data = mpu.acceleration
temp_data = mpu.temperature
message = ujson.dumps({
"acceleration_x": accel_data[0],
"acceleration_y": accel_data[1],
"acceleration_z": accel_data[2],
"temperature": temp_data
})
if message != prev_data:
print("Updated!")
print("Reporting to MQTT topic {}: {}".format(MQTT_TOPIC, message))
client.publish(MQTT_TOPIC, message)
prev_data = message
else:
print("No change")
time.sleep(1)