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如果扫描完成且没有其他可用结果,则引发。
-