Skip to main content

2.2 network 模块API手册

前言

概述

本文档主要介绍network模块API。

读者对象

本文档(本指南)主要适用于以下人员:

  • 技术支持工程师
  • 软件开发工程师

缩略词定义

简称说明

修订记录

文档版本号修改说明修改者日期
V1.0初版软件部2023-11-09

1. 概述

本模块主要用于配置查看网络参数,配置完后才可以使用socket模块。

2. lan api

详见:https://docs.micropython.org/en/latest/library/network.LAN.html

此类为有线网络配置接口。用法示例:

import network
nic = network.LAN()
print(nic.ifconfig())

# now use socket as usual
...

2.1构造函数

  • classnetwork.LAN()

    创建有线以太网对象。

2.2方法

  • LAN.active([state])

    如果传递布尔参数,则激活(“向上”)或停用(“向下”)网络接口。否则,如果没有提供参数,则查询当前状态。

  • LAN.isconnected()

    返回 True如果连接到网络,否则返回False

  • LAN.ifconfig([(ip, subnet, gateway, dns)])

    获取/设置 IP 级网络接口参数:IP 地址、子网掩码、网关和 DNS 服务器。当不带参数调用时,此方法返回一个包含上述信息的 4 元组。要设置上述值,请传递带有所需信息的 4 元组。例如:

    nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))
  • LAN.config(config_parameters)

    获取或设置网络接口mac地址,例如:

    import network
    lan=network.LAN()
    #设置网口mac地址
    print(lan.config(mac="42:EA:D0:C2:0D:83"))
    #查看网口mac地址
    print(lan.config("mac"))

2. wlan api

详见:https://docs.micropython.org/en/latest/library/network.WLAN.html

此类为 WiFi 配置接口。用法示例:

import network
# enable station interface and connect to WiFi access point
nic = network.WLAN(network.STA_IF)
nic.active(True)
nic.connect('your-ssid', 'your-password')
# now use sockets as usual

构造

  • classnetwork.WLAN(interface_id)

创建 WLAN 网络接口对象。支持的接口是 network.STA_IF(站又名客户端,连接到上游 WiFi 接入点)和network.AP_IF(接入点,允许其他 WiFi 客户端连接)。以下方法的可用性取决于接口类型。例如,只有 STA 接口可以通过WLAN.connect() 连接到接入点。

方法

  • WLAN.active([is_active])

    如果传递布尔参数,则激活(“up”)或停用(“down”)网络接口。否则,如果没有提供参数,则查询当前状态。大多数其他方法需要活动接口。

  • WLAN.connect(ssid=None, password=None, bssid=None)

    使用指定的密码连接到指定的无线网络。如果给出了bssid,则连接将被限制为具有该 MAC 地址的接入点(在这种情况下还必须指定ssid)。

  • WLAN.disconnect()

    断开当前连接的无线网络。

  • WLAN.scan()

    扫描可用的无线网络。扫描只能在 STA 接口上进行。返回包含 WiFi 接入点信息,内容类似如下。

    #print(sta.scan())
    bssid / frequency / signal level / flags / ssid
    da:c5:47:12:80:ab 2462 -30 [WPA2-PSK-CCMP][ESS] Redmi Note 11 Pro
    72:a8:d3:ab:c8:2c 2412 -42 [WPA2-PSK-CCMP][WPS][ESS] wifi_test
    e4:4e:2d:42:ee:60 2412 -61 [WPA2-EAP-CCMP][ESS] CAN
    e4:4e:2d:43:0a:a1 2437 -61 [WPA2-EAP-CCMP][ESS] Canaan
    e4:4e:2d:43:0a:a4 2437 -61 [WPA2-PSK-CCMP][ESS]
  • WLAN.status([param])

    返回无线连接的当前状态。当不带参数调用时,返回值描述网络链接状态,类似内容如下:

    #print(sta.status())
    bssid=c6:b5:b6:86:64:d7
    freq=2462
    ssid=wjx_pc
    id=2
    mode=station
    wifi_generation=4
    pairwise_cipher=CCMP
    group_cipher=CCMP
    key_mgmt=WPA2-PSK
    wpa_state=COMPLETED
    ip_address=192.168.137.221
    p2p_device_address=0a:fb:ea:2b:7b:1a
    address=08:fb:ea:2b:7b:1a
    uuid=f483700c-e90e-58a6-90f5-8d8312ec7412
  • WLAN.isconnected()

    在 STA 模式的情况下,True如果连接到 WiFi 接入点并具有有效的 IP 地址,则返回。在 AP 模式下,True 当站点连接时返回。False 否则返回。

  • WLAN.ifconfig([(ip, subnet, gateway, dns)])

    获取/设置 IP 级网络接口参数:IP 地址、子网掩码、网关和 DNS 服务器。当不带参数调用时,此方法返回一个包含上述信息的 4 元组。要设置上述值,请传递带有所需信息的 4 元组。例如:nic.ifconfig(('192.168.0.4', '255.255.255.0', '192.168.0.1', '8.8.8.8'))

  • WLAN.config(param)

  • WLAN.config(param=value, …)

    获取或设置一般网络接口参数。这些方法允许使用超出标准 IP 配置的附加参数(如 处理 WLAN.ifconfig())。这些包括特定于网络和特定于硬件的参数。设置参数时,应使用关键字参数语法,可以一次设置多个参数。查询时,参数名应以字符串的形式引用,一次只能查询一个参数:

    # Set WiFi access point name (formally known as SSID) and WiFi channel
    ap.config(ssid='k230_ap_wjx', channel=11, key='12345678')
    # Query params one by one
    print(ap.config('ssid'))
    print(ap.config('channel'))

    以下是支持的参数:

    参数描述
    macMAC地址(字节) (bytes)
    ssidWiFi 接入点名称(字符串)
    channelWiFi通道(整数)
    hiddenSSID 是否隐藏(布尔值)
    password访问密码(字符串)