class DM9051 - DM9051以太网卡控制
2024-10-21
该类用于控制DM9051
型号以太网网卡设备。
当前仅支持EC600N/EG912N/EG915N系列及EC800MCN_LE
构造函数
ethernet.DM9051
class ethernet.DM9051(mac, ip='', subnet='', gateway='', spi_port=-1, spi_cs_pin=-1, extint_pin=-1, reset_pin=-1, work_mode=0)
加载DM9051驱动,初始化DM9051以太网卡,并返回DM9051网卡对象。
参数描述:
mac
- 字节流,6字节长度的mac
地址。ip
- 以太网卡的ip
地址,若值为空字符串'',表示使用默认值192.168.1.100
。subnet
- 以太网卡的子网掩码地址,若值为空字符串'',表示使用默认值255.255.255.0
。gateway
- 以太网卡的网关地址,若值为空字符串'',表示将ip
地址的最后一位替换成1
作为网关。spi_port
- 连接DM9051
的SPI端口,默认值为-1
,表示使用上次配置的值,程序中默认配置为了SPI1
端口。spi_cs_pin
- 连接DM9051
的SPI
片选GPIO管脚,默认值为-1
,表示使用上次配置的值,程序中默认配置为了Pin.GPIO13
。extint_pin
- 连接DM9051
的外部中断GPIO管脚,默认值为-1
,表示上次配置的值,程序中默认配置为Pin.GPIO19
。reset_pin
- 连接DM9051
的重置GPIO管脚,默认值为-1
, 表示上次配置的值,程序中默认配置为Pin.GPIO17
。work_mode
- 以太网工作模式配置,默认为终端模式,0
/1
分别表示终端模式/网关模式。终端模式表示该模块作为终端设备连接供网设备上网。网关模式表示该模块作为网关,为外部设备提供网络访问,通过4G
上网。
默认值各个平台有差异,建议定义可用GPIO使用。
方法
DM9051.set_addr
nic.set_addr(ip, subnet, gateway)
网卡静态ip地址配置。
参数描述:
ip
- 以太网卡的ip
地址,若值为空字符串'',表示使用默认值192.168.1.100
。subnet
- 以太网卡的子网掩码地址,若值为空字符串'',表示使用默认值255.255.255.0
。gateway
- 以太网卡的网关地址,若值为空字符串'',表示将ip
地址的最后一位替换成1
作为网关。
返回值描述:
成功返回整型值0,失败返回整型值-1。
示例:
nic.set_addr('192.168.1.100', '', '')
DM9051.set_dns
nic.set_dns(primary_dns, secondary_dns)
网卡dns服务器配置。
参数描述:
primary_dns
-DNS
服务器主地址。secondary_dns
-DNS
服务器辅地址。
返回值描述:
成功返回整型值0,失败返回整型值-1。
示例:
nic.set_dns('8.8.8.8', '114.114.114.114')
DM9051.set_up
nic.set_up()
网卡启动,启动后网卡正常处理网口网络报文。
返回值描述:
成功返回整型值0,失败返回整型值-1。
DM9051.set_down
nic.set_down()
网卡禁用,禁用后网卡不再处理网口网络报文。
返回值描述:
成功返回整型值0,失败返回整型值-1。
DM9051.dhcp
nic.dhcp()
动态ip获取,此方法是作为终端模式下使用,从而自动获取ip信息。
返回值描述:
成功返回整型值0,失败返回整型值-1。
DM9051.ipconfig
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服务器辅地址 |