From 002e2fb8dedd0d5313ef4a6aa993a5fa6848edd7 Mon Sep 17 00:00:00 2001
From: trickkkkkkkk <523727835@qq.com>
Date: Wed, 15 Feb 2023 11:38:02 +0800
Subject: [PATCH] update ethernet and json
---
.../ujson.md" | 43 +++++
.../README.md" | 1 +
.../ethernet.CH395.md" | 179 ++++++++++++++++++
.../ethernet.DM9051.md" | 132 +++++++++++++
.../ethernet.W5500.md" | 159 ++++++++++++++++
.../ethernet.YT8512H.md" | 173 +++++++++++++++++
.../ethernet.md" | 87 +++++++++
docs/API_reference/zh/sidebar.yaml | 3 +
8 files changed, 777 insertions(+)
create mode 100644 "docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ujson.md"
create mode 100644 "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.CH395.md"
create mode 100644 "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.DM9051.md"
create mode 100644 "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.W5500.md"
create mode 100644 "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.YT8512H.md"
create mode 100644 "docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.md"
diff --git "a/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ujson.md" "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ujson.md"
new file mode 100644
index 00000000..cdc962fd
--- /dev/null
+++ "b/docs/API_reference/zh/QuecPython\346\240\207\345\207\206\345\272\223/ujson.md"
@@ -0,0 +1,43 @@
+# `ujson` - JSON编码和解码
+`ujson`模块实现在Python数据对象和JSON数据格式之间进行转换的功能。该模块实现相应CPython模块的子集。更多信息请参阅阅CPython文档:[json](https://docs.python.org/3.5/library/json.html#module-json)
+
+
+## 编码json数据
+
+主要将`Python`对象编码成json字符串
+
+### `ujson.dump`
+
+```python
+ujson.dump(obj, stream)
+```
+
+序列化`obj`数据对象转化成`JSON`字符串,并将其写入到给定的`stream`中。
+
+### `ujson.dumps`
+
+```python
+ujson.dumps(obj)
+```
+
+将`obj`字典类型的数据转换成`JSON`字符串。
+
+## 解码json数据
+
+主要将JSON数据解码成`Python`对象。
+
+### `ujson.load`
+
+```python
+ujson.load(stream)
+```
+
+解析给定的数据`stream`,将其解析为`JSON`字符串并反序列化成`Python`对象,最终将对象返回。
+
+### `ujson.loads`
+
+```python
+ujson.loads(str)
+```
+
+解析`JSON`字符串`str`并返回一个`Python`对象。
diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/README.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/README.md"
index 89f76731..1b56bc3c 100644
--- "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/README.md"
+++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/README.md"
@@ -12,6 +12,7 @@
- [wifilocator - WiFi定位](./wifilocator.md)
- [atcmd - 发送AT指令](./atcmd.md)
- [machine - 硬件相关功能](./machine.md)
+- [ethernet - 以太网相关功能](./ethernet.md)
- [...](./....md)
diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.CH395.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.CH395.md"
new file mode 100644
index 00000000..3acb48d5
--- /dev/null
+++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.CH395.md"
@@ -0,0 +1,179 @@
+# `class CH395` - CH395以太网卡控制
+
+该类用于控制`CH395`型号以太网网卡设备。
+
+
+
+当前仅支持EC600U系列
+
+
+
+## 构造函数
+
+### `ethernet.CH395`
+
+```python
+class ethernet.CH395(mac, ip_addr='', mask_addr='', gw_addr='', spi_port=-1, spi_cs_pin=-1, exint_pin=-1, reset_pin=-1, work_mode=0)
+```
+
+加载CH395驱动,初始化CH395以太网卡,并返回CH395网卡对象。
+
+**参数描述:**
+
+- `mac` - 字节流,6字节长度的 `mac` 地址.
+- `ip_addr` - 以太网卡的 `ip` 地址,默认值为空字符串'',表示使用程序中
+的默认值,`192.168.1.100`。
+- `mask_addr` - 以太网卡的子网掩码地址,默认值为空字符串'',表示使用
+`255.255.255.0`作为子网掩码。
+- `gw_addr` - 以太网卡的网关地址,默认值为空字符串'',表示将 ip 地址
+的最后一位替换成`1`作为子网掩码。
+- `spi_port` - 连接`CH395`的[SPI端口](./machine.SPI.md),默认值为`-1`,表示使用上次配置的值,程序中默认配置为了 `SPI1` 端口。
+- `spi_cs_pin` - 连接`CH395`的 `SPI` 片选[GPIO管脚](./machine.Pin.md),默认值为`-1`,表示使用上次配置的值,程序中默认配置为了 `Pin.GPIO4`。
+- `eint_pin` - 连接`CH395`的外部中断[GPIO管脚](./machine.Pin.md),默认值为`-1`,表示上次配置的值,程序中默认配置为 `Pin.GPIO24`。
+- `reset_pin` - 连接`CH395`的重置[GPIO管脚](./machine.Pin.md), 表示上次配置的值,
+程序中默认配置为 `Pin.GPIO30`。
+- `work_mode` - 以太网工作模式配置,默认为终端模式,`0`/`1` 分别表示终端模式/网关模式。终端模式表示该模块作为终端设备连接供网设备上网。网关模式表示该模块作为网关,为外部设备提供网络访问,通过`4G`上网。
+
+## 方法
+
+### `CH395.set_addr`
+```python
+nic.set_addr(ip, subnet, gateway)
+```
+
+网卡静态ip地址配置
+
+**参数描述:**
+
+- `ip` - 以太网卡的`ip`地址,值为空字符串'',表示使用程序中的默认值,即`192. 168.1.100`
+- `subnet` - 以太网卡的子网掩码地址,值为空字符串'',表示使用`255.255.255.0`作为子网掩码
+- `gateway` - 以太网卡的网关地址,值为空字符串'',表示将 ip 地址的最后一位替换 成`1`作为子网掩码
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+* 示例
+
+```python
+nic.set_addr('192.168.31.203', '', '')
+```
+
+### `CH395.set_dns`
+
+```python
+nic.set_dns(primary_dns, secondary_dns)
+```
+
+网卡dns服务器配置
+
+**参数描述:**
+
+- `primary_dns` - `DNS`服务器主地址
+- `secondary_dns` - `DNS`服务器辅地址
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+**示例:**
+
+```python
+nic.set_dns('8.8.8.8', '114.114.114.114')
+```
+
+### `CH395.set_up`
+
+```python
+nic.set_up()
+```
+
+网卡启动,启动后网卡正常处理网口网络报文
+
+### `CH395.set_down`
+
+```python
+nic.set_down()
+```
+
+网卡禁用,禁用后网卡不再处理网口网络报文
+
+### `CH395.dhcp`
+
+```python
+nic.dhcp()
+```
+
+动态ip获取,此方法是作为终端模式下使用,从而自动获取ip信息
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+### `CH395.ipconfig`
+
+```python
+nic.ipconfig()
+```
+
+获取网卡网络信息,通过该方法获取到mac地址、主机名、IP地址类型、IP地址、子网掩码、网关地址和DNS服务器地址
+
+**返回值描述:**
+
+返回list类型
+
+格式如下:
+[(mac, hostname), (iptype, ip, subnet, gateway, primary_dns,secondary_dns)]
+| 参数 | 类型 | 说明 |
+|-|-|-|
+| `mac` | `str` | `mac`地址,格式为`'XX-XX-XX-XX-XX-XX'` |
+| `hostname`| `str` | 网卡名称 |
+| `iptype` | `str` | `ip`类型,`4`表示`ipv4`,`6`表示`ipv6`,目前仅支持`ip4` |
+| `ip` | `str` | `ip`地址 |
+| `subnet` | `str` | 子网掩码 |
+| `gateway`| `str` | 网关 |
+| `primary_dns`| `str` | DNS服务器主地址 |
+| `secondary_dns`| `str` | DNS服务器辅地址 |
+
+
+### `CH395.set_default_NIC`
+
+```python
+nic.set_default_NIC(ip)
+```
+
+默认网卡配置
+
+**参数描述:**
+
+- `ip` - 默认网卡ip地址
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+**示例:**
+
+```python
+nic.set_default_NIC('192.168.1.100')
+```
+
+### `CH395.status`
+
+```python
+nic.status()
+```
+
+获取网卡当前状态
+
+**返回值描述:**
+
+返回tuble类型
+
+格式内容如下:
+(dev, active, link)
+| 参数 | 类型 | 说明 |
+|-|-|-|
+| `dev` | `bool` | 表示网卡设备是否连接正常,`True`/`False`表示有连接/未连接 |
+| `active`| `bool` | 表示网卡是否激活使用,`True`/`False`表示启用/禁用,与`set_up`/`set_down`对应 |
+| `link` | `bool` | 表示网卡网线是否连接,`True`/`False`表示已连接/未连接 |
\ No newline at end of file
diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.DM9051.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.DM9051.md"
new file mode 100644
index 00000000..eca377b8
--- /dev/null
+++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.DM9051.md"
@@ -0,0 +1,132 @@
+# `class DM9051` - DM9051以太网卡控制
+
+该类用于控制`DM9051`型号以太网网卡设备。
+
+
+
+当前仅支持EC600N系列
+
+
+
+## 构造函数
+
+### `ethernet.DM9051`
+
+```python
+class ethernet.DM9051(mac, ip_addr='', mask_addr='', gw_addr='', spi_port=-1,spi_cs_pin=-1)
+```
+
+加载DM9051驱动,初始化DM9051以太网卡,并返回DM9051网卡对象。
+
+**参数描述:**
+
+- `mac` - 字节流,6字节长度的 `mac` 地址.
+- `ip_addr` - 以太网卡的 `ip` 地址,默认值为空字符串'',表示使用程序中
+的默认值,`192.168.1.100`。
+- `mask_addr` - 以太网卡的子网掩码地址,默认值为空字符串'',表示使用
+`255.255.255.0`作为子网掩码。
+- `gw_addr` - 以太网卡的网关地址,默认值为空字符串'',表示将 ip 地址
+的最后一位替换成`1`作为子网掩码。
+- `spi_port` - 连接`DM9051`的[SPI端口](./machine.SPI.md),默认值为`-1`,表示使用上次配置的值,程序中默认配置为了 `SPI1` 端口。
+- `spi_cs_pin` - 连接`DM9051`的 `SPI` 片选[GPIO管脚](./machine.Pin.md),默认值为`-1`,表示使用上次配置的值,程序中默认配置为了 `Pin.GPIO13`。
+
+## 方法
+
+### `DM9051.set_addr`
+```python
+nic.set_addr(ip, subnet, gateway)
+```
+
+网卡静态ip地址配置
+
+**参数描述:**
+
+- `ip` - 以太网卡的`ip`地址,值为空字符串'',表示使用程序中的默认值,即`192. 168.1.100`
+- `subnet` - 以太网卡的子网掩码地址,值为空字符串'',表示使用`255.255.255.0`作为子网掩码
+- `gateway` - 以太网卡的网关地址,值为空字符串'',表示将 ip 地址的最后一位替换 成`1`作为子网掩码
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+* 示例
+
+```python
+nic.set_addr('192.168.31.203', '', '')
+```
+
+### `DM9051.set_dns`
+
+```python
+nic.set_dns(primary_dns, secondary_dns)
+```
+
+网卡dns服务器配置
+
+**参数描述:**
+
+- `primary_dns` - `DNS`服务器主地址
+- `secondary_dns` - `DNS`服务器辅地址
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+**示例:**
+
+```python
+nic.set_dns('8.8.8.8', '114.114.114.114')
+```
+
+### `DM9051.set_up`
+
+```python
+nic.set_up()
+```
+
+网卡启动,启动后网卡正常处理网口网络报文
+
+### `DM9051.set_down`
+
+```python
+nic.set_down()
+```
+
+网卡禁用,禁用后网卡不再处理网口网络报文
+
+### `DM9051.dhcp`
+
+```python
+nic.dhcp()
+```
+
+动态ip获取,此方法是作为终端模式下使用,从而自动获取ip信息
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+### `DM9051.ipconfig`
+
+```python
+nic.ipconfig()
+```
+
+获取网卡网络信息,通过该方法获取到mac地址、主机名、IP地址类型、IP地址、子网掩码、网关地址和DNS服务器地址
+
+**返回值描述:**
+
+返回list类型
+
+格式如下:
+[(mac, hostname), (iptype, ip, subnet, gateway, primary_dns,secondary_dns)]
+| 参数 | 类型 | 说明 |
+|-|-|-|
+| `mac` | `str` | `mac`地址,格式为`'XX-XX-XX-XX-XX-XX'` |
+| `hostname`| `str` | 网卡名称 |
+| `iptype` | `str` | `ip`类型,`4`表示`ipv4`,`6`表示`ipv6`,目前仅支持`ip4` |
+| `ip` | `str` | `ip`地址 |
+| `subnet` | `str` | 子网掩码 |
+| `gateway`| `str` | 网关 |
+| `primary_dns`| `str` | DNS服务器主地址 |
+| `secondary_dns`| `str` | DNS服务器辅地址 |
diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.W5500.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.W5500.md"
new file mode 100644
index 00000000..8078d2f9
--- /dev/null
+++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.W5500.md"
@@ -0,0 +1,159 @@
+
+
+# `class W5500` - W5500以太网卡控制
+
+该类用于控制`W5500`型号以太网网卡设备。
+
+
+当前仅支持EC600N/EC600U系列
+
+
+
+## 构造函数
+
+### `ethernet.W5500`
+
+```python
+class ethernet.W5500(mac, ip_addr='', mask_addr='', gw_addr='', spi_port=-1, spi_cs_pin=-1, exint_pin=-1, reset_pin=-1, work_mode=0)
+```
+
+加载W5500驱动,初始化W5500以太网卡,并返回W5500网卡对象。
+
+**参数描述:**
+
+- `mac` - 字节流,6字节长度的 `mac` 地址.
+- `ip_addr` - 以太网卡的 `ip` 地址,默认值为空字符串'',表示使用程序中
+的默认值,`192.168.1.100`。
+- `mask_addr` - 以太网卡的子网掩码地址,默认值为空字符串'',表示使用
+`255.255.255.0`作为子网掩码。
+- `gw_addr` - 以太网卡的网关地址,默认值为空字符串'',表示将 ip 地址
+的最后一位替换成`1`作为子网掩码。
+- `spi_port` - 连接`W5500`的[SPI端口](./machine.SPI.md),默认值为`-1`,表示使用上次配置的值,程序中默认配置为 `SPI1` 端口。
+- `spi_cs_pin` - 连接`W5500`的 `SPI` 片选[GPIO管脚](./machine.Pin.md),默认值为`-1`,表示使用上次配置的值,程序中默认配置为 `Pin.GPIO34`。
+- `eint_pin` - 连接`W5500`的外部中断[GPIO管脚](./machine.Pin.md),默认值为`-1`,表示上次配置的值,程序中默认配置为 `Pin.GPIO19`。
+- `reset_pin` - 连接`W5500`的重置[GPIO管脚](./machine.Pin.md),默认值为`-1`, 表示上次配置的值,程序中默认配置为 `Pin.GPIO17`。
+- `work_mode` - 以太网工作模式配置,默认为终端模式,`0`/`1` 分别表示终端模式/网关模式。终端模式表示该模块作为终端设备连接供网设备上网。网关模式表示该模块作为网关,为外部设备提供网络访问,通过`4G`上网。
+
+## 方法
+
+### `W5500.set_addr`
+```python
+nic.set_addr(ip, subnet, gateway)
+```
+
+网卡静态ip地址配置
+
+**参数描述:**
+
+- `ip` - 以太网卡的`ip`地址,值为空字符串'',表示使用程序中的默认值,即`192. 168.1.100`
+- `subnet` - 以太网卡的子网掩码地址,值为空字符串'',表示使用`255.255.255.0`作为子网掩码
+- `gateway` - 以太网卡的网关地址,值为空字符串'',表示将 ip 地址的最后一位替换 成`1`作为子网掩码
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+* 示例
+
+```python
+nic.set_addr('192.168.31.203', '', '')
+```
+
+### `W5500.set_dns`
+
+```python
+nic.set_dns(primary_dns, secondary_dns)
+```
+
+网卡dns服务器配置
+
+**参数描述:**
+
+- `primary_dns` - `DNS`服务器主地址
+- `secondary_dns` - `DNS`服务器辅地址
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+**示例:**
+
+```python
+nic.set_dns('8.8.8.8', '114.114.114.114')
+```
+
+### `W5500.set_up`
+
+```python
+nic.set_up()
+```
+
+网卡启动,启动后网卡正常处理网口网络报文
+
+### `W5500.set_down`
+
+```python
+nic.set_down()
+```
+
+网卡禁用,禁用后网卡不再处理网口网络报文
+
+### `W5500.dhcp`
+
+```python
+nic.dhcp()
+```
+
+动态ip获取,此方法是作为终端模式下使用,从而自动获取ip信息
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+### `W5500.ipconfig`
+
+```python
+nic.ipconfig()
+```
+
+获取网卡网络信息,通过该方法获取到mac地址、主机名、IP地址类型、IP地址、子网掩码、网关地址和DNS服务器地址
+
+**返回值描述:**
+
+返回list类型
+
+格式如下:
+[(mac, hostname), (iptype, ip, subnet, gateway, primary_dns,secondary_dns)]
+| 参数 | 类型 | 说明 |
+|-|-|-|
+| `mac` | `str` | `mac`地址,格式为`'XX-XX-XX-XX-XX-XX'` |
+| `hostname`| `str` | 网卡名称 |
+| `iptype` | `str` | `ip`类型,`4`表示`ipv4`,`6`表示`ipv6`,目前仅支持`ip4` |
+| `ip` | `str` | `ip`地址 |
+| `subnet` | `str` | 子网掩码 |
+| `gateway`| `str` | 网关 |
+| `primary_dns`| `str` | DNS服务器主地址 |
+| `secondary_dns`| `str` | DNS服务器辅地址 |
+
+
+### `W5500.set_default_NIC`
+
+```python
+nic.set_default_NIC(ip)
+```
+
+默认网卡配置
+
+**参数描述:**
+
+- `ip` - 默认网卡ip地址
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+**示例:**
+
+```python
+nic.set_default_NIC('192.168.1.100')
+```
diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.YT8512H.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.YT8512H.md"
new file mode 100644
index 00000000..b12af59e
--- /dev/null
+++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.YT8512H.md"
@@ -0,0 +1,173 @@
+# `class YT8512H` - YT8512H PHY控制
+
+该类用于控制`YT8512H`型号以太网网卡设备。
+
+
+
+当前仅支持EC200A系列
+
+
+
+## 构造函数
+
+### `ethernet.YT8512H`
+
+```python
+class ethernet.YT8512H(mac, ip_addr='', mask_addr='', gw_addr='')
+```
+
+加载YT8512H驱动,初始化YT8512H PHY,并返回YT8512H网卡对象。
+
+**参数描述:**
+
+- `mac` - 字节流,6字节长度的 `mac` 地址.
+- `ip_addr` - 以太网卡的 `ip` 地址,默认值为空字符串'',表示使用程序中
+的默认值,`192.168.1.100`。
+- `mask_addr` - 以太网卡的子网掩码地址,默认值为空字符串'',表示使用
+`255.255.255.0`作为子网掩码。
+- `gw_addr` - 以太网卡的网关地址,默认值为空字符串'',表示将 ip 地址
+的最后一位替换成`1`作为子网掩码。
+
+## 方法
+
+### `YT8512H.set_addr`
+```python
+nic.set_addr(ip, subnet, gateway)
+```
+
+网卡静态ip地址配置
+
+**参数描述:**
+
+- `ip` - 以太网卡的`ip`地址,值为空字符串'',表示使用程序中的默认值,即`192. 168.1.100`
+- `subnet` - 以太网卡的子网掩码地址,值为空字符串'',表示使用`255.255.255.0`作为子网掩码
+- `gateway` - 以太网卡的网关地址,值为空字符串'',表示将 ip 地址的最后一位替换 成`1`作为子网掩码
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+* 示例
+
+```python
+nic.set_addr('192.168.31.203', '', '')
+```
+
+### `YT8512H.set_dns`
+
+```python
+nic.set_dns(primary_dns, secondary_dns)
+```
+
+网卡dns服务器配置
+
+**参数描述:**
+
+- `primary_dns` - `DNS`服务器主地址
+- `secondary_dns` - `DNS`服务器辅地址
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+**示例:**
+
+```python
+nic.set_dns('8.8.8.8', '114.114.114.114')
+```
+
+### `YT8512H.set_up`
+
+```python
+nic.set_up()
+```
+
+网卡启动,启动后网卡正常处理网口网络报文
+
+### `YT8512H.set_down`
+
+```python
+nic.set_down()
+```
+
+网卡禁用,禁用后网卡不再处理网口网络报文
+
+### `YT8512H.dhcp`
+
+```python
+nic.dhcp()
+```
+
+动态ip获取,此方法是作为终端模式下使用,从而自动获取ip信息
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+### `YT8512H.ipconfig`
+
+```python
+nic.ipconfig()
+```
+
+获取网卡网络信息,通过该方法获取到mac地址、主机名、IP地址类型、IP地址、子网掩码、网关地址和DNS服务器地址
+
+**返回值描述:**
+
+返回list类型
+
+格式如下:
+[(mac, hostname), (iptype, ip, subnet, gateway, primary_dns,secondary_dns)]
+| 参数 | 类型 | 说明 |
+|-|-|-|
+| `mac` | `str` | `mac`地址,格式为`'XX-XX-XX-XX-XX-XX'` |
+| `hostname`| `str` | 网卡名称 |
+| `iptype` | `str` | `ip`类型,`4`表示`ipv4`,`6`表示`ipv6`,目前仅支持`ip4` |
+| `ip` | `str` | `ip`地址 |
+| `subnet` | `str` | 子网掩码 |
+| `gateway`| `str` | 网关 |
+| `primary_dns`| `str` | DNS服务器主地址 |
+| `secondary_dns`| `str` | DNS服务器辅地址 |
+
+
+### `YT8512H.set_default_NIC`
+
+```python
+nic.set_default_NIC(ip)
+```
+
+默认网卡配置
+
+**参数描述:**
+
+- `ip` - 默认网卡ip地址
+
+**返回值描述:**
+
+成功返回整型值0,其他值表示失败。
+
+**示例:**
+
+```python
+nic.set_default_NIC('192.168.1.100')
+```
+
+### `YT8512H.status`
+
+```python
+nic.status()
+```
+
+获取网卡当前状态
+
+**返回值描述:**
+
+返回tuble类型
+
+格式内容如下:
+(dev, active, link)
+| 参数 | 类型 | 说明 |
+|-|-|-|
+| `dev` | `bool` | 表示网卡设备是否连接正常,`True`/`False`表示有连接/未连接 |
+| `active`| `bool` | 表示网卡是否激活使用,`True`/`False`表示启用/禁用,与`set_up`/`set_down`对应 |
+| `link` | `bool` | 表示网卡网线是否连接,`True`/`False`表示已连接/未连接 |
diff --git "a/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.md" "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.md"
new file mode 100644
index 00000000..6f6e744d
--- /dev/null
+++ "b/docs/API_reference/zh/QuecPython\347\261\273\345\272\223/ethernet.md"
@@ -0,0 +1,87 @@
+# `ethernet` - 以太网相关功能
+`ethernet`模块包含以太网控制及网络配置功能。主要是针对不同类型以太网卡提供统一的管理方式。
+
+**示例:**
+
+根据不同应用场景,分别以终端模式、网关模式、静态ip配置举例网卡初始化使用过程。
+
+
+
+1. 以下示例只是针对模组侧的网卡应用配置,也需要对端进行对应操作方可正常使用。
+2. 以下示例部分网卡未完全实现,请根据不同网卡驱动对应说明进行使用。
+
+
+
+终端模式:
+
+```python
+# 作为终端工作模式时,模块通过以太网网口连接外网。如W5500网口连接路由器,通过dhcp获取ip信息,从而模组可以通过该网口连接外部网络。
+
+import ethernet
+
+# 加载对应的网卡驱动,并初始化网卡相关配置,driver替换成实际对应的网卡驱动
+nic = ethernet.diver(...)
+print(nic.ipconfig())
+
+# 获取动态IP地址
+nic.dhcp()
+print(nic.ipconfig())
+
+# 此时可以启动其他网络服务,并通过以太网进行网络访问
+...
+
+```
+
+网关模式:
+
+```python
+# 作为网关使用配置时,使用4G连接外网。如W5500网口连接电脑,电脑需要配置静态ip与W5500以太网卡同一网段,网关与W5500网卡地址一致,从而电脑能够通过4G网卡连接网络。
+import ethernet
+import dataCall
+
+# 加载对应的网卡驱动,并初始化网卡相关配置,driver替换成实际对应的网卡驱动
+nic = ethernet.diver(...)
+print(nic.ipconfig())
+
+# 获取当前4G拨号ip信息
+lte=dataCall.getInfo(1, 0)
+print(lte)
+if lte[2][0] == 1:
+ # 设置默认网卡,将4G作为默认网卡
+ nic.set_default_NIC(lte[2][2])
+
+#启动网卡
+nic.set_up()
+
+# 此时其他设备可以通过网线连接模组,实现4G上网
+...
+
+```
+
+静态IP配置:
+
+```python
+# 静态ip配置,根据当前已有环境,自定义网络信息。
+import ethernet
+
+# 加载对应的网卡驱动,并初始化网卡相关配置,driver替换成实际对应的网卡驱动
+nic = ethernet.diver(...)
+print(nic.ipconfig())
+
+# 配置静态ip地址192.168.0.2,子网掩码255.255.255.0,网关地址192.168.0.1
+nic.set_addr('192.168.0.2','255.255.255.0','')
+print(nic.ipconfig())
+
+# 启动网卡
+nic.set_up()
+
+# 终端模式下,此时可以启动其他网络服务,并通过以太网进行网络访问
+...
+
+```
+
+## Classes
+- [class W5500 – W5500驱动](./ethernet.W5500.md)
+- [class DM9051 – DM9051驱动](./ethernet.DM9051.md)
+- [class CH395 – CH395驱动](./ethernet.CH395.md)
+- [class YT8512H/SZ18201 – YT8512H/SZ18201驱动](./ethernet.YT8512H.md)
diff --git a/docs/API_reference/zh/sidebar.yaml b/docs/API_reference/zh/sidebar.yaml
index 062a2a92..7cda2de1 100644
--- a/docs/API_reference/zh/sidebar.yaml
+++ b/docs/API_reference/zh/sidebar.yaml
@@ -34,6 +34,9 @@ items:
file: QuecPython标准库/uhashlib.md
- label: QuecPython类库
file: QuecPython类库/README.md
+ items:
+ - label: ethernet - 以太网相关功能
+ file: QuecPython类库/ethernet.md
- label: QuecPython组件库
file: QuecPython组件库/README.md
items:
--
Gitee