复杂场景#
本章节旨在展示多网卡下的典型应用场景,以帮助用户理解多网卡环境下的网卡应用,并实现快速上手。
案例
4G + ethernet + Wi-Fi 共用情况下网络应用。根据使用需求,将不同网卡配置不同的工作模式,进入正常的工作状态后,通过改变默认网卡,来确定转发规则。
对于以太、Wi-Fi、蜂窝网络的使用,我们没有固定使用规则,由用户进行选择,我们建议对于多网络状态,模块使用网络优先级 以太 > Wi-Fi > 蜂窝。
- 使用 4G 作为默认网卡,Wi-Fi 与以太网络通过 4G 转发进行网络访问。

代码如下图所示:
# 导入usocket模块
import dataCall
import network
import ethernet
if __name__ == '__main__':
# 默认网卡配置
defalut_nic = None
# 获取 4G 信息
lte = dataCall.getInfo(1, 0)
print(lte)
# Wi-Fi 初始化
WiFi = network.ASR5803W(network.AP_IF)
WiFi.config('ssid'='QuecPython', 'key'='quecpython')
WiFi.active(True)
print('Wi-Fi init success')
# 以太网初始化。
eth = ethernet.YT8512H(b'\x12\x34\x56\x78\x9a\xbc','192.168.1.1')
eth.set_up()
print('ethernet init success')
# 设置 4G 作为默认网卡
defalut_nic = lte[2][2]
eth.set_default_NIC(defalut_nic)
- 使用以太网作为默认网卡,Wi-Fi 网络通过以太网转发进行网络访问。

代码如下图所示:
# 导入usocket模块
import dataCall
import network
import ethernet
if __name__ == '__main__':
# 默认网卡配置
defalut_nic = None
# 获取 4G 信息
lte = dataCall.getInfo(1, 0)
print(lte)
# Wi-Fi 初始化
WiFi = network.ASR5803W(network.AP_IF)
WiFi.config('ssid'='QuecPython', 'key'='quecpython')
WiFi.active(True)
print('Wi-Fi init success')
# 初始化以太网卡,以太网卡在WAN模式下使用DHCP协议动态获取IP地址,连接网络
eth = ethernet.YT8512H(b'\x12\x34\x56\x78\x9a\xbc')
eth.dhcp()
eth.set_up()
print('ethernet init success')
# 设置以太网卡作为默认网卡
defalut_nic = eth.ipconfig()[1][1]
eth.set_default_NIC(defalut_nic)
常见问题#
Socket 如何和网卡绑定?#
请查看 TCP-UDP 章节。
如何测试网络链路通达?#
提供 uping 模块检查网络,通过该模块 ping 各个网络,可以判断链路状态。比如以太网卡可以获取到ip,但是无法进行网络连接,此时需要检查整个网络环境,可能是上层路由器 wan 口未连接外网,也可能是外部网络配置限制导致网络不可用,就需要此功能进行整个链路检查。
>>> import uping
>>> uping.ping('python.quectel.com')
uping.ping('python.quectel.com')
PING python.quectel.com (47.107.246.213): 64 data bytes
72 bytes from 47.107.246.213: icmp_seq=1, ttl=52, time=50.546000 ms
72 bytes from 47.107.246.213: icmp_seq=2, ttl=52, time=38.424000 ms
72 bytes from 47.107.246.213: icmp_seq=3, ttl=52, time=52.606000 ms
72 bytes from 47.107.246.213: icmp_seq=4, ttl=52, time=38.940000 ms
4 packets transmitted, 4 packets received, 0 packet loss
round-trip min/avg/max = 38.424/45.129/52.606 ms
472

被折叠的 条评论
为什么被折叠?



