物联网AI MicroPython学习之语法 network网络配置模块

学物联网,来万物简单IoT物联网!!在这里插入图片描述

network介绍

  • 模块功能:
    用于管理Wi-Fi和以太网的网络模块
  • 参考用法:
import network 
import time 

nic = network.WLAN(network.STA_IF) 
nic.active(True) 

if not nic.isconnected():     
    nic.connect(ssid, password)     
    print("Waiting for connection...")     
    while not nic.isconnected():         
        time.sleep(1) 

print(nic.ifconfig())

常量说明

常量 说明
network.STA_IF 1 WLAN STA模式
network.AP_IF 2 WLAN AP模式
network.STA_STARTED 1 WLAN已启动
network.STA_GOT_IP 2 WLAN获得IP
network.STA_LOST_IP 3 WLAN已丢失IP
network.STA_DISCONNECTED 4 WLAN已断开连接
network.STA_CONNECTED 5 WLAN已链接
network.STA_STOPED 6 WLAN已停用
network.STA_UNKNOWN 7 未知状态

错误码

typedef enum {
    AOS_ERR_WIFI_BASE = 0x3000,         /*!< WiFi ERR NUM BASE */
    AOS_ERR_WIFI_NOT_INIT,              /*!< WiFi driver was not installed by esp_wifi_init */
    AOS_ERR_WIFI_NOT_STARTED,           /*!< WiFi driver was not started by esp_wifi_start */
    AOS_ERR_WIFI_NOT_STOPPED,           /*!< WiFi driver was not stopped by esp_wifi_stop */
    AOS_ERR_WIFI_IF,                    /*!< WiFi interface error */
    AOS_ERR_WIFI_MODE,                  /*!< WiFi mode error */
    AOS_ERR_WIFI_STATE,                 /*!< WiFi internal state error */
    AOS_ERR_WIFI_CONN,                  /*!< WiFi internal control block of station or soft-AP error */
    AOS_ERR_WIFI_NVS,                   /*!< WiFi internal NVS module error */
    AOS_ERR_WIFI_MAC,                   /*!< MAC address is invalid */
    AOS_ERR_WIFI_SSID,                  /*!< SSID is invalid */
    AOS_ERR_WIFI_PASSWORD,              /*!< Password is invalid */
    AOS_ERR_WIFI_TIMEOUT,               /*!< Timeout error */
    AOS_ERR_WIFI_WAKE_FAIL,             /*!< WiFi is in sleep state(RF closed) and wakeup fail */
    AOS_ERR_WIFI_WOULD_BLOCK,           /*!< The caller would block */
    AOS_ERR_WIFI_NOT_CONNECT,           /*!< Station still in disconnect status */
    AOS_ERR_WIFI_POST,                  /*!< Failed to post the event to WiFi task */
    AOS_ERR_WIFI_INIT_STATE,            /*!< Invalod WiFi state when init/deinit is called */
    AOS_ERR_WIFI_STOP_STATE,            /*!< Returned when WiFi is stopping */
    AOS_ERR_WIFI_NOT_ASSOC,             /*!< The WiFi connection is not associated */
    AOS_ERR_WIFI_TX_DISALLOW,           /*!< The WiFi TX is disallowed */
    AOS_ERR_TCPIP_ADAPTER_INVALID_PARAMS,
    AOS_ERR_TCPIP_ADAPTER_IF_NOT_READY,
    AOS_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED,
    AOS_ERR_TCPIP_ADAPTER_NO_MEM
} AOS_NETWORK_ERR_E;

接口说明

network.WLAN - 创建一个WLAN实例

  • 函数原型:class network.WLAN(interface_id)
  • 参数说明:

interface_id 可选值为 network.STA_IF 或 network.AP_IF

  • 返回值:
    返回一个wlan实例
  • 参考代码:
wlan = network.WLAN(network.STA_IF)

WLAN.active

  • 函数原型:WLAN.active(is_active)
  • 参数说明:
参数 类型 必选参数? 说明
is_active bool(True, False) 激活/反激活

WLAN.connect

  • 函数功能:
    链接Wi-FI
  • 函数原型:WLAN.connect(ssid, pwd)
  • 参数说明:
参数 类型 必选参数? 说明
ssid string ssid名称
pwd string ssid密码

WLAN.disconnect

  • 函数功能:
    断开Wi-Fi链接
  • 函数原型:WLAN.disconnect()
  • 参数说明:无
  • 返回值:

成功返回0,错误返回错误码

WLAN.status

  • 函数功能:
    获取Wi-Fi状态
  • 函数原型:WLAN.status()
  • 参数说明:无
  • 返回值
定义 数值 说明
network.STA_STARTED 1 WLAN已启动
network.STA_GOT_IP 2 WLAN获得IP
network.STA_LOST_IP 3 WLAN已丢失IP
network.STA_DISCONNECTED 4 WLAN已断开连接
network.STA_CONNECTED 5 WLAN已链接
network.STA_STOPED 6 WLAN已停用
network.STA_UNKNOWN 7 未知状态

WLAN.isconnected

  • 函数功能:
    查看Wi-Fi是否已链接
  • 函数原型:WLAN.isconnected()
  • 参数说明:无
  • 返回值
    | 类型 | 数值 | 说明 |
    | — | — | — |
    | bool | True | Wi-Fi已连接 |
    | bool | False | Wi-Fi未连接 |

WLAN.ifconfig

  • 函数功能:
    查看/操作Wi-Fi连接参数
  • 函数原型:WLAN.ifconfig([ip, subnet, gateway, dns])
  • 参数说明:

如果不传参数,则获取当前IP配置, 如果传入组合参数,则设定IP信息

参数 类型 必选参数 说明
ip_info tuple ip信息

ip_info数据格式说明:

参数 类型 说明
ip stringip 地址
subnet string 子网掩码
gateway string 网关地址
dns string dns地址
  • 返回值

成功返回0,错误返回错误码

WLAN.config

  • 函数功能:

  • 函数原型:WLAN.config()

  • 参数说明:

  • 返回值

WLAN.scan

  • 函数功能:
    扫描附近AP(无线路由器)
  • 函数原型:WLAN.scan()
  • 参数说明:

  • 返回值

返回AP(无线路由器)列表

你可能感兴趣的:(ETTPython组件库,物联网,学习,网络,嵌入式硬件,人工智能)