结合MQTT的报错需要处理timer等问题
代码支持掉线重连,支持关闭路由器后自动重连

# 导入Pin模块
from machine import Pin, Timer
import utime
import network
from simple import MQTTClient
import random

# 路由器WIFI账号和密码
WIFI_SSID = ""
WIFI_PASSWORD = ""
MQTT_SERVER = ""
MQTT_TOPIC = ""
MQTT_CLIENTID = "test_" + str(random.randrange(1000, 10000))


def connect_wifi(WIFI_SSID, WIFI_PASSWORD):
    global wlan
    wlan = network.WLAN(network.STA_IF)  # STA模式
    if not wlan.isconnected():
        print("Connecting to network..."