WLAN 概述
WLAN(Wireless Local Area Network,无线局域网) 是一种通过无线信号(如 Wi-Fi)实现设备互联的网络技术,允许计算机、智能手机、物联网设备等在不使用物理线缆的情况下接入局域网或互联网。
WLAN 的核心特点
- 无线传输:使用无线电波(2.4GHz/5GHz/6GHz 频段)替代网线,支持移动性。
- 标准化协议:基于 IEEE 802.11 系列标准(如 802.11ac、802.11ax)。
- 灵活部署:无需布线,适合家庭、企业、公共场所等场景。
- 共享带宽:所有设备共享同一无线信道,带宽受接入点(AP)和干扰影响。
- 安全机制:支持 WPA3、WPA2 加密,防止未授权访问。
功能概述
主要介绍如何使用 QuecPython 开发板连接热点、产生 Wi-Fi 热点,典型的编程工作流程分为以下几个部分:
Station 模式:连接 Wi-Fi 热点
- 创建 Wi-Fi 网卡对象
- 连接热点
AP 模式:产生 Wi-Fi 热点
- 创建 Wi-Fi 网卡对象
- 设置热点名称和密码
- 激活网卡
Station 模式
创建 Wi-Fi 网卡对象
初始化 Wi-Fi 网卡信息,并返回 Wi-Fi 网卡对象
class network.WLAN(mode)
参数介绍请参考构造函数。
连接热点
该方法用于连接指定无线网络。仅支持Station模式,支持阻塞/非阻塞式连接,默认阻塞式连接,超时时间15s。
如果没有指定 ssid 和 password,则会自动连接上一次连接成功的AP。
WLAN.connect([ssid, password, bssid, timeout])
API 详情请参考 WLAN.connect。
AP 模式
创建 Wi-Fi 网卡对象
初始化 Wi-Fi 网卡信息,并返回 Wi-Fi 网卡对象
class network.WLAN(mode)
参数介绍请参考构造函数。
设置配置参数
该方法用于设置热点名称和密码。
WLAN.config(ap_ssid = “SSID”, ap_password = “PASSWD”)
API 详情请参考 WLAN.config。
激活网卡
该方法用于激活网卡,触发热点的产生。
WLAN.active(enable)
API 详情请参考 WLAN.active。
应用案例
本案例使用 FCM360W QuecPython 开发板连接热点,示例代码如下:
import network
# 创建 Wi-Fi 网卡,并设置为 STATION 模式
nic = network.WLAN(network.STA_MODE)
# 定义 Wi-Fi 事件回调函数
def wifi_event_cb(event):
# 打印事件信息
print("- Event:\r\n ", event)
# 当获取到 IP 地址时,打印 IP 地址相关信息
if event['id'] == 3305:
print("- Got IP:\r\n ", nic.ifconfig())
# 设置事件回调函数
nic.config(event_callback = wifi_event_cb)
# 连接热点
nic.connect(ssid = "QuecPython", password = "12345678")
代码执行结果如下:
- Connecting to QuecPython
- Event:
{'msg': None, 'type': 3300, 'id': 3301}
- Event:
{'msg': {'password': '12345678', 'ssid': 'QuecPython', 'rssi': -62, 'channel': 1, 'bssid': 'a4:00:e2:ef:f7:80', 'auth': 4, 'cipher': 4}, 'type': 3300, 'id': 3302}
- Event:
{'msg': ('10.66.117.73', '255.255.252.0', '10.66.116.1', '0.0.0.0', '0.0.0.0'), 'type': 3300, 'id': 3305}
- Got IP:
('10.66.117.73', '255.255.252.0', '10.66.116.1', '211.138.180.2', '114.114.114.114')