esp8266 micropython 自动重连wifi

该代码段展示了一个使用Python的mPython环境来处理WiFi连接的程序。当WiFi断开时,它会尝试重新连接,并使用定时器每30秒检查一次连接状态。如果连接超时或失败,程序会打印错误信息。这个功能对于依赖网络的自动化设备如自动喂鱼器至关重要。
摘要由CSDN通过智能技术生成

之前弄自动喂鱼发现如果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))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值