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