import network
import time
from umqtt.simple import MQTTClient
from machine import Pin
import ujson
#import dht
# Network Parameters
SSID = "Wokwi-GUEST"
PASSWORD = ""
# MQTT Server Parameters
MQTT_SERVER = "mqtt3.thingspeak.com"
MQTT_CHANNEL_ID = "2316869"
MQTT_USER = "AxYRNCoBEhc3JB48OhsbOyY"
MQTT_CLIENT_ID = "AxYRNCoBEhc3JB48OhsbOyY"
MQTT_PASSWORD = "nVnLVfG6jSCHZ1cD4OSm1khJ"
MQTT_TOPIC = "channels/" + MQTT_CHANNEL_ID + "/publish"
contador = 0
cliente = None
#sensor = dht.DHT22(Pin(15))
def wifi_conecta():
print("Conectando a Wi-Fi")
wlan = network.WLAN(network.STA_IF)
wlan.active(True) # Activa el Wifi
wlan.connect(SSID, PASSWORD) # Hace la conexión
while wlan.isconnected() == False: # Espera a que se conecte a la red
print(".", end="")
time.sleep(0.1)
print(' Conexion con el WiFi %s establecida' % SSID)
print(wlan.ifconfig()) # Muestra la IP y otros datos del Wi-F
wifi_conecta()
def mqtt_conecta():
try:
print("Conectando al servidor MQTT...")
cliente = MQTTClient(MQTT_CLIENT_ID, MQTT_SERVER, user=MQTT_USER, password=MQTT_PASSWORD)
cliente.connect()
print ("MQTT conectado")
return cliente
except Exception as e:
print("Error al conectarse con el servidor MQTT")
print(e)
cliente = mqtt_conecta()
while True:
if contador > 100:
contador = 0
try:
#cliente.check_msg()
payload = "field1=" + str(contador)
cliente.publish(MQTT_TOPIC, payload)
print("Contador: " + str(contador))
contador = contador + 10
time.sleep(2)
except OSError as e:
if e.args[0] == 104:
print("Conexión perdida. Intentando reconectar...")
cliente = mqtt_conecta()