wifi

wifi模块为管理 wifi 连接提供了必要的低级功能。使用socketpool 用于通信的网络。

在这些板上可用
  • ATMegaZero ESP32-S2
  • Adafruit FunHouse
  • Adafruit MagTag
  • Adafruit Metro ESP32S2
  • Artisense Reference Design RD00
  • BastWiFi
  • CrumpS2
  • ESP 12k NodeMCU
  • Feather ESP32S2 without PSRAM
  • FeatherS2
  • FeatherS2 Neo
  • FeatherS2 PreRelease
  • Franzininho WIFI w/Wroom
  • Franzininho WIFI w/Wrover
  • Gravitech Cucumber M
  • Gravitech Cucumber MS
  • Gravitech Cucumber R
  • Gravitech Cucumber RS
  • HMI-DevKit-1.1
  • Kaluga 1
  • LILYGO TTGO T8 ESP32-S2 w/Display
  • MORPHEANS MorphESP-240
  • Oak Dev Tech PixelWing ESP32S2
  • S2Mini
  • Saola 1 w/Wroom
  • Saola 1 w/Wrover
  • Targett Module Clip w/Wroom
  • Targett Module Clip w/Wrover
  • TinyS2
  • microS2
  • nanoESP32-S2 w/Wrover
  • nanoESP32-S2 w/Wroom

wifi.radio :Radio

Wifi 无线电用于管理站点和 AP 模式。该对象是 的唯一实例wifi.Radio.

class wifi.AuthMode

WiFi 使用的身份验证协议。

OPEN :object

开放网络。无需身份验证。

WEP :object

有线等效保密。

WPA :object

无线保护访问。

WPA2 :object

无线保护访问 2.

WPA3 :object

无线保护访问 3.

PSK :object

预共享密钥。(密码)

ENTERPRISE :object

每个用户都有一个唯一的凭证。

class wifi.Network

附近接入点提供的 wifi 网络。

您不能创建 的实例 wifi.Network。它们由 返回 wifi.Radio.start_scanning_networks.

ssid :str

网络的字符串ID

bssid :bytes

网络的BSSID(通常是AP的MAC地址)

rssi :int

网络信号强度

channel :int

网络正在运行的频道号

country :str

国家/地区代码的字符串 id

authmode :str

authmode 的字符串 id

class wifi.Radio

原生 wifi 无线电。

此类管理本机 Wifi 无线电的站和接入点功能。

您不能创建 的实例wifi.Radio。使用wifi.radio访问的唯一实例可用。

enabled :bool

True 当启用 wifi 无线电时。如果将该值设置为 False,则将关闭任何打开的套接字。

mac_address :bytes

wifi 电台的 MAC 地址。(只读)

mac_address_ap :bytes

wifi无线接入点的MAC地址。(只读)

hostname :_typing.ReadableBuffer

wifi 接口的主机名。在接口启动/连接后更改主机名时,只有在接口重新启动/重新连接后才会反映更改。

ipv4_gateway :Optional[ipaddress.IPv4Address]

连接到接入点时站网关的 IP v4 地址。没有别的。

ipv4_gateway_ap :Optional[ipaddress.IPv4Address]

启用时接入点网关的 IP v4 地址。没有别的。

ipv4_subnet :Optional[ipaddress.IPv4Address]

连接到接入点时站子网的 IP v4 地址。没有别的。

ipv4_subnet_ap :Optional[ipaddress.IPv4Address]

接入点子网的 IP v4 地址(启用时)。没有别的。

ipv4_address :Optional[ipaddress.IPv4Address]

连接到接入点时站的 IP v4 地址。没有别的。

ipv4_address_ap :Optional[ipaddress.IPv4Address]

接入点的 IP v4 地址(启用时)。没有别的。

ipv4_dns :Optional[ipaddress.IPv4Address]

连接到接入点时使用的 DNS 服务器的 IP v4 地址。没有别的。

ap_info :Optional[Network]

连接到接入点时包含 BSSID、SSID、authmode、信道、国家和 RSSI 的网络对象。没有别的。

start_scanning_networks(self, *, start_channel: int = 1, stop_channel: int = 11)Iterable[Network]

在给定的频道范围内扫描可用的 wifi 网络。确保您所在的国家/地区允许使用这些频道。

stop_scanning_networks(self)None

停止扫描 Wifi 网络并释放用于扫描的所有资源。

start_station(self)None

启动一个站点。

stop_station(self)None

停止站点。

start_ap(self, ssid: _typing.ReadableBuffer, password: _typing.ReadableBuffer = b'', *, channel: Optional[int] = 1, authmode: Optional[AuthMode])None

使用指定的 ssid 和密码启动接入点。

如果 channel 给出,接入点将使用该信道,除非站点已经在不同的信道上运行。

如果 authmode 给出,接入点将使用该身份验证模式。如果给出了密码,则authmode不能是 OPEN。如果 authmode未提供,OPEN 则在未提供密码时使用,否则使用WPA_WPA2_PSK.

stop_ap(self)None

停止接入点。

connect(self, ssid: _typing.ReadableBuffer, password: _typing.ReadableBuffer = b'', *, channel: Optional[int] = 0, bssid: Optional[_typing.ReadableBuffer] = b'', timeout: Optional[float] = None)bool

连接到给定的 ssid 并等待 IP 地址。一旦一个连接成功,就会自动处理重新连接。

默认情况下,这将扫描所有信道并连接到具有给定ssid 和最大信号强度 (rssi)的接入点 (AP )。

如果 channel给定,扫描将从给定的信道开始,并连接到第一个具有给定ssid. 这可以显着加快连接时间,因为不会发生完整扫描。

如果bssid给定,扫描将开始在第一信道或一个给定的并与给定连接到APbssidssid

ping(self, ip: ipaddress.IPv4Address, *, timeout: Optional[float] = 0.5)float

Ping 一个 IP 以测试连通性。以秒为单位返回回声时间。超时时返回 None 。

class wifi.ScannedNetworks

遍历 wifi.Network 扫描时找到的所有对象。此对象始终由 a 创建wifi.Radio: 它没有用户可见的构造函数。

不能直接实例化。使用wifi.Radio.start_scanning_networks.

__iter__(self)Iterator[Network]

返回自身,因为它是迭代器。

__next__(self)Network

返回下一个wifi.Network. Raises StopIteration如果扫描完成且没有其他可用结果,则引发。