之前弄自动喂鱼发现如果wifi断了不会自动连接,没有测试过,但是总感觉会不会重连,遂自己写了一下,就是利用定时器实现的
from umqtt.robust import MQTTClient
from machine import Pin
import machine
import network
import time
import utime
def do_connect():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('connecting to network...')
wlan.connect(SSID, PASSWORD)
start = time.ticks_ms() # get millisecond counter
while not wlan.isconnected():
time.sleep(1) # sleep for 1 second
if time.ticks_ms()-start > 20000:
print("connect timeout!")
break
if wlan.isconnected():
print('Connected! network config :', wlan.ifconfig())
def keepLiveTimeCb(client):
do_connect()
tim = Timer(-1)
keepLiveTime = 30
tim.init(period=keepLiveTime*1000, mode=Timer.PERIODIC, callback=lambda t: keepLiveTimeCb(client))