wifi
¶
该 wifi
模块为管理 wifi 连接提供了必要的低级功能。使用socketpool
用于通信的网络。
在这些板上可用
-
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 网络。确保您所在的国家/地区允许使用这些频道。
-
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
.
-
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
给定,扫描将开始在第一信道或一个给定的并与给定连接到APbssid
和ssid
。
-
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
.-
__next__
(self) → Network¶ 返回下一个
wifi.Network
. RaisesStopIteration
如果扫描完成且没有其他可用结果,则引发。
-