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秒检查一次
190

被折叠的 条评论
为什么被折叠?



