WLAN(Wireless Local Area Network,无线局域网) 是一种通过无线信号(如 Wi-Fi)实现设备互联的网络技术,允许计算机、智能手机、物联网设备等在不使用物理线缆的情况下接入局域网或互联网。
主要介绍如何使用 QuecPython 开发板连接热点、产生 Wi-Fi 热点,典型的编程工作流程分为以下几个部分:
Station 模式:连接 Wi-Fi 热点
AP 模式:产生 Wi-Fi 热点
初始化 Wi-Fi 网卡信息,并返回 Wi-Fi 网卡对象
class network.WLAN(mode)
参数介绍请参考构造函数。
该方法用于连接指定无线网络。仅支持Station模式,支持阻塞/非阻塞式连接,默认阻塞式连接,超时时间15s。
如果没有指定 ssid 和 password,则会自动连接上一次连接成功的AP。
WLAN.connect([ssid, password, bssid, timeout])
API 详情请参考 WLAN.connect。
初始化 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')