ESP32-S3系列教程5(micropython)-------实现WiFi连接

部署运行你感兴趣的模型镜像

        Wi-Fi,在中文里又称作“移动热点”,是Wi-Fi联盟制造商的商标作为产品的品牌认证,是基于IEEE 802.11标准的无线局域网通信技术 。

        一个Wi-Fi网络,通常包含至少1个无线接入点(Access Point,简称AP)、1个或多个无线终端,无线接入点允许无线终端连接到Wi-Fi网络,无线路由器(集成了无线接入点功能)和无线接入点等Wi-Fi设备都具备这些功能。

官方示例:

import network

wlan = network.WLAN(network.STA_IF) # create station interface
wlan.active(True)       # activate the interface
wlan.scan()             # scan for access points
wlan.isconnected()      # check if the station is connected to an AP
wlan.connect('essid', 'password') # connect to an AP
wlan.config('mac')      # get the interface's MAC address
wlan.ifconfig()         # get the interface's IP/netmask/gw/DNS addresses

注意:

  • 当前的ESP32不支持5G路由器,所以链接的时候要注意这一点,否则连不上
  • 可以将自己的手机开热点让ESP32链接
import network
import time
from machine import Pin

# WiFi 配置
WIFI_SSID = "你的WiFi名称"
WIFI_PASSWORD = "你的WiFi密码"

# 初始化 WiFi 站接口
wifi = network.WLAN(network.STA_IF)

def connect_wifi():
    # 如果已经连接,则先断开
    if wifi.isconnected():
        wifi.disconnect()
    
    # 激活接口
    wifi.active(True)
    
    print(f"正在连接 WiFi: {WIFI_SSID}")
    wifi.connect(WIFI_SSID, WIFI_PASSWORD)
    
    # 等待连接,最多尝试 20 次
    max_attempts = 20
    for i in range(max_attempts):
        if wifi.isconnected():
            break
        print(".", end="")
        time.sleep(1)
    
    if wifi.isconnected():
        print("\nWiFi 连接成功!")
        print("IP 地址:", wifi.ifconfig()[0])
        print("子网掩码:", wifi.ifconfig()[1])
        print("网关:", wifi.ifconfig()[2])
        print("DNS:", wifi.ifconfig()[3])
        print("信号强度:", wifi.status('rssi'), "dBm")
        return True
    else:
        print("\nWiFi 连接失败!")
        wifi.active(False)
        return False

def check_wifi():
    if not wifi.isconnected():
        print("WiFi 连接已断开,尝试重新连接...")
        connect_wifi()

# 主程序
if __name__ == "__main__":
    # 连接 WiFi
    connect_wifi()
    
    # 主循环,定期检查 WiFi 连接状态
    while True:
        check_wifi()
        time.sleep(10)  # 每10秒检查一次

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值