使用有线网例程讲解#
例程位置#
开发板固件路径:
/sdcard/examples/14-Socket/network_lan.pySDK 源码路径:
src/canmv/resources/examples/14-Socket/network_lan.py
环境准备#
将开发板支持的 USB 以太网适配器或 USB 4G ECM/NCM 网卡接入开发板,并连接到 能够提供 DHCP 的路由器或网络。USB LAN 的设备名会动态分配,例程通过逻辑 LAN 接口选择设备,不依赖固定名称。
代码流程#
导入公共网络函数#
from libs.Network import configure_ip, connect_network, network_device_name
connect_network():选择 LAN、启动 DHCP、等待 IP,并设置默认上行;configure_ip():应用静态地址或 DHCP,并等待地址生效;network_device_name():读取当前 LAN 对应的实际 netdev 名称。
使用 DHCP 连接 LAN#
a, ip = connect_network("lan")
print(a.active())
print(a.ifconfig())
a 是 network.LAN 对象,ip 是等待成功后取得的 IPv4 地址。active() 在
RT-Smart 上用于查询接口是否可用,不用于关闭设备。ifconfig() 返回:
(IP 地址, 子网掩码, 默认网关, DNS 服务器)
临时切换为静态地址#
configure_ip(a, (
"192.168.0.4",
"255.255.255.0",
"192.168.0.1",
"8.8.8.8",
))
print(a.ifconfig())
四个值必须与实际网络匹配。示例地址只用于演示;若网段或网关不匹配,切换后 网络通信会中断。
恢复 DHCP#
ip = configure_ip(a, "dhcp")
print("LAN device:", network_device_name(a))
print("LAN address:", ip)
configure_ip() 不只发起 DHCP,还会等待非零 IP,因此后续 Socket 代码无需
自行轮询 ifconfig()。
查询 MAC 地址#
print(a.config("mac"))
返回值为 6 字节 MAC。需要冒号分隔字符串时,可使用
libs.Network.mac_address(a)。
运行与验证#
在 CanMV IDE 中打开
/sdcard/examples/14-Socket/network_lan.py。确认网卡和网线已连接,再运行脚本。
第一次
ifconfig()应显示 DHCP 地址。静态地址阶段应显示示例四元组。
恢复 DHCP 后,
LAN address应重新显示路由器分配的地址。
重要
静态地址 192.168.0.4 可能与现有设备冲突。正式使用前必须根据实际网段修改,
或删去静态地址测试,只保留 DHCP 部分。
USB 4G ECM/NCM 的 Python 使用方式与 LAN 相同。支持的模组和驱动配置可参考 EC200M-CN。完整接口见 network 模块 API 手册。
