class ESP8266 - 乐鑫ESP8266驱动

该类用于控制ESP8266型号无线网卡设备。

支持模组型号:EC600M/EC600N/EC600U/EC600E/EC800E/EC800M系列

构造函数

ESP8266

class ESP8266(uart=UART.UART1, mod=ESP8266.STA, callback=None)

加载ESP8266驱动,初始化虚拟网卡,并返回ESP8266对象。

参数描述:

  • uart - 整型值,模组UART口选择,表示模组与ESP8266所连接的串口号,默认使用UART1
  • mode - 整型值,无线网卡工作模式配置,用来指定ESP8266的工作模式,STA客户端模式为ESP8266.STA,AP接入点模式为ESP8266.AP,默认使用STA客户端模式。
  • callback - 回调函数名。设置回调函数,用于网络变化以及ota升级通知,默认为未开启。

callback参数描述:

  • content - 字符串类型,用户回调,表示上报消息内容

上报消息内容描述:

开启用户回调后,模组会在ota升级和sta模式连接变化时进行消息上报,以下是上报信息描述。

ota信息上报:

  • ota,begin - ota升级开始
  • ota,downloading,xx - ota升级下载百分比
  • ota,restart - ota升级下载完成进行重启
  • ota,err_code,x - ota升级错误码,以下是对错误码(x)的描述:
    • 1 - url解析失败
    • 2 - 连接http服务器失败
    • 3 - 为GET请求分配内存失败
    • 4 - 发送GET请求到服务器失败
    • 5 - 升级开始时错误
    • 6 - 接收数据失败
    • 7 - ota文件写入失败
    • 8 - 升级结束时错误
    • 9 - 设置boot分区失败

station模式网络连接变化上报:

  • station, connected - wifi已连接
  • station, disconnected - wifi断开连接

示例:

# callback使用示例
from usr.WLAN import ESP8266
from machine import UART

def cb(args):
    content = args
    print('wifi content:{}'.format(content))

ESP8266 = ESP8266(UART.UART2, ESP8266.STA, cb)

方法

ESP8266.status

ESP8266.status()

获取无线网卡状态信息,用以判断无线网卡当前工作模式。

返回值描述:

返回整型值,具体说明如下:

  • 0 - esp8266 设备不存在
  • 1 - esp8266 station模式已连接
  • 2 - esp8266 station模式未连接
  • 3 - esp8266 web配网模式
  • 4 - esp8266 ap模式
  • 5 - esp8266 ota升级中

ESP8266.version

ESP8266.version()

获取无线网卡当前固件版本信息

返回值描述:

返回字符串类型,格式为(sdk, model, version, time),具体说明如下:

  • sdk - sdk信息
  • model - 无线网卡型号
  • version - 版本号
  • time - 版本时间

ESP8266.ipconfig

ESP8266.ipconfig()

获取网卡当前网络配置信息(IP地址、DNS服务器等信息)

返回值描述:

返回元组类型,格式为 (ip, subnet, gateway, mtu, primary_dns, secondary_dns),具体说明如下:

  • ip - 字符串类型,ip地址
  • subnet - 字符串类型,子网掩码
  • gateway - 字符串类型,网关
  • mtu - 整型值,最大传输单元
  • primary_dns - 字符串类型,DNS服务器主地址
  • secondary_dns - 字符串类型,DNS服务器辅地址

ESP8266.station

ESP8266.station(username,password)

使无线网卡以station工作模式启动,连接指定wifi。

参数描述:

  • username - 字符串类型,填写所要连接的 WiFi 的名称(1~32 个字符)
  • password - 字符串类型,填写所要连接的 WiFi 的密码(8~64 个字符)

返回值描述:

  • 配置成功返回0,配置失败返回其他值。

ESP8266.ap

ESP8266.ap(username,password)

使无线网卡以ap工作模式启动,作为无线热点。

ap模式理论最多支持10个终端设备接入。

参数描述:

  • username - 字符串类型,配置 WiFi热点 的名称(1~32 个字符)
  • password - 字符串类型,配置 WiFi热点 的密码(8~64 个字符)

返回值描述:

  • 配置成功返回0,配置失败返回其他值。

ESP8266.web_config

ESP8266.web_config(username,password)

使无线网卡以web 配网工作模式启动,用户可通过web页面进行网络配置。

启用配网功能后,需使用手机/电脑等终端设备通过无线网络连接至无线网卡(用户自定义名称和密码),然后通过浏览器输入192.168.4.1进入配网页面。

参数描述:

  • username - 字符串类型,配置 配网热点 的名称(1~32 个字符)
  • password - 字符串类型,配置 配网热点 的密码(8~64 个字符)

返回值描述:

  • 配置成功返回0,配置失败返回其他值。

ESP8266.ota

ESP8266.ota(url)

开启ota后,网卡将更新新版本固件

当前仅支持sta模式下进行ota升级;且升级过程中只可查询当前状态,不可进行其他操作。

参数描述:

  • url - 字符串类型,填写网址地址,表示固件下载地址,当前仅支持 http 协议,最长 256 字节。

返回值描述:

  • 执行成功返回0,执行失败返回其他值。

示例:


url='http://www.example.com/fota.bin'

ESP8266.ota(url)

ESP8266.stop

ESP8266.stop()

释放掉为无线网卡所配置的虚拟网卡

返回值描述:

  • 释放成功返回0,释放失败返回其他值。

ESP8266.set_default_NIC

ESP8266.set_default_NIC(ip_str)

指定网卡进行网络转发

参数描述:

  • ip_str - 字符串类型,所要设置默认转发网卡的网卡 ip 地址,如:'192.168.1.100'

返回值描述:

  • 配置成功返回0,配置失败返回其他值。

ESP8266.set_dns

ESP8266.set_dns(pri_dns, sec_dns)

指定无线网卡的dns服务器进行地址解析

参数描述:

  • pri_dns - 字符串类型,设置无线网卡的首选 dns 服务器,默认为 8.8.8.8
  • sec_dns - 字符串类型,设置无线网卡的备选 dns 服务器,默认为 114.114.114.114

返回值描述:

  • 配置成功返回0,配置失败返回其他值。

ESP8266.router_add

ESP8266.router_add(ip, mask)

设置无线网卡路由转发规则

参数描述:

  • ip - 字符串类型,设置 ap 模式的网段,默认为 192.168.4.1
  • mask - 字符串类型,设置子网掩码,默认为 255.255.255.0

返回值描述:

  • 配置成功返回0,配置失败返回其他值。