class WINC – wifi shield driver

WINC 类用于控制wifi扩展板。

示例使用:

import network

wlan = network.WINC()
wlan.connect("SSID", "KEY")

wlan.ifconfig()

构造函数

class network.WINC([mode=MODE_STATION])

创建一个 winc 驱动程序对象并连接到使用 I/O 引脚 P0、P1、P2、P3、P6、P7 和 P8 的 wifi 扩展板。

mode 控制WINC模块工作的模式:

  • network.WINC.MODE_STATION

    模块作为客户端连接到访问点。这是默认模式。

  • network.WINC.MODE_AP

    模块将创建AP(访问点)并接受来自客户端的连接。

    注解

    设置AP模式后,必须调用start_ap()方法来配置AP。

    此外,WINC1500在其AP实现中有一些限制:

    • 一次只能连接一个客户端。

    • 安全性只支持开放或WEP。

    • WiFi 模块固件中有一个错误,当客户端断开连接时,任何绑定的套接字都会丢失(它们只是停止工作)。作为解决方法,为服务器套接字设置超时以强制它引发异常,然后重新打开它(请参阅示例代码)。

  • network.WINC.MODE_FIRMWARE:

    此模式启用WiFi模块固件更新。

方法

WINC.connect(ssid[, key=None[, security=WPA_PSK]])

使用wifi网络名称 ssid 密码 key 安全性 security 连接到wifi网络。

连接到网络后,使用 usocket 模块打开TCP/UDP 端口来发送和接收数据。

注解

此方法需要一段时间才能返回。

WINC.start_ap(ssid[, key=None[, security=OPEN[, channel=1]]])

在 AP 模式下运行时,必须在创建 WINC 对象以配置和启动 AP 后调用此方法。

  • ssid: AP SSID 无线网络名称(必须设置)。

  • key: AP加密密钥。只有当安全性是WEP时,才需要密钥。

  • security: AP安全模式(仅支持OPEN开放性或WEP)。

  • channel: WiFi频道,如果你有另一个AP在同一频道运行,请更改频道。

WINC.disconnect()

断开wifi网络。

WINC.isconnected()

如果连接到接入点并且已获得 IP 地址,则返回 True。

WINC.connected_sta()

此方法返回一个包含已连接客户端的IP地址的列表。

WINC.wait_for_sta(timeout)

此方法阻塞并等待客户端连接。如果超时为 0,这将永远阻塞。 此方法返回一个包含连接客户端 IP 地址的列表。

WINC.ifconfig([ip_addr, subnet_addr, gateway_addr, dns_addr])

返回一个元组,包含:

  • [0]: IP Address String IP 地址字符串 (XXX.XXX.XXX.XXX)

  • [1]: Subnet Address String 子网地址字符串 (XXX.XXX.XXX.XXX)

  • [2]: Gateway String 网关字符串 (XXX.XXX.XXX.XXX)

  • [3]: DNS Address String DNS 地址字符串(XXX.XXX.XXX.XXX)

当连接到网络时。

您可以选择以 ipv4 (XXX.XXX.XXX.XXX) 格式传递 ip_addr、subnet_addr、gateway_addr 和 dns_addr 字符串的元组/列表, 以设置静态 IP 地址与通过 DHCP 获取的地址(默认情况下发生)。

用法示例:

wlan = network.WINC() wlan.ifconfig((‘192.168.1.100’, ‘255.255.255.0’, ‘192.168.1.1’, ‘192.168.1.1’)) wlan.connect(SSID, key=KEY, security=wlan.WPA_PSK)

WINC.scan()

返回一个包含:

  • [0]: 频道号 (int)

  • [1]: RSSI - 接收信号强度指示器 (int)

  • [2]: 授权类型(见常量)

  • [3]: MAC 地址字符串 (XX:XX:XX:XX:XX:XX) (BSSID)

  • [4]: 设置网络名称字符串 (SSID)

你不需要连接来调用它。

WINC.rssi()

返回当前连接网络的接收信号强度指示符 (int)。

WINC.fw_version()

返回包含wifi扩展板固件版本号的元组。

  • [0]: 固件主版本号 (int)

  • [1]: 固件次版本号 (int)

  • [2]: 固件补丁版本号 (int)

  • [3]: 驱动程序主版本号 (int)

  • [4]: 驱动程序次版本号 (int)

  • [5]: 驱动程序补丁版本号 (int)

  • [6]: 硬件修订号 - 芯片 ID (int)

WINC.fw_dump(path)

将 wifi 扩展板固件转储到 path 处的二进制文件。您必须将模块置于固件模式才能使用它。

WINC.fw_update(path)

使用在 path 中找到的二进制图像对 wifi 扩展板进行编程。您必须将模块置于固件模式才能使用它。

常量

WINC.OPEN

用于连接开放的wifi网络。

WINC.WEP

用于连接到基于WEP的密码保护网络。

WINC.WPA_PSK

用于连接到基于WPA/PSK的密码保护网络。

WINC.MODE_STA

以station站模式开始(即连接到网络)。

WINC.MODE_AP

以接入点模式开始(即成为网络)。

WINC.MODE_FIRMWARE

在固件更新模式下设置。