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.1mask
- 字符串类型,设置子网掩码,默认为 255.255.255.0
返回值描述:
- 配置成功返回
0
,配置失败返回其他值。