# Crear instancia del servo
from machine import Pin
from servo import Servo
from time import sleep
# Conexión wifi, manejar instancias de un cliente MQTT
import network
from umqtt.simple import MQTTClient
# Constantes para conexión con el cliente MQTT
MQTT_CLIENT_ID = ""
MQTT_BROKER = "broker.hivemq.com"
MQTT_USER = ""
MQTT_PASSWORD = ""
MQTT_TOPIC = "mqtt/utng/oivm/servo"
MQTT_PORT = 1883
# Creando instancia motor
motor = Servo(pin=15)
# Funcion para conectar a una red wifi
def conectar_wifi():
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect("Wokwi-GUEST", "")
while not sta_if.isconnected():
print(".", end="")
sleep(0.1)
print("Conectado!")
def mensaje_recibido(MQTT_TOPIC, mensaje):
print(mensaje)
angulo = int(mensaje)
motor.move(angulo)
# Conectar al broker
def subscribir_broker():
cliente = MQTTClient("", MQTT_BROKER)
cliente.set_callback(mensaje_recibido)
cliente.connect()
cliente.subscribe(MQTT_TOPIC)
print("Conectado")
return cliente
# Antes de iniciar el ciclo
conectar_wifi()
cliente = subscribir_broker()
# Ciclo infinito
while True:
cliente.wait_msg()