以太网(Ethernet)外设驱动涉及硬件与软件的深度交互,其核心在于通过特定接口连接主处理器与以太网控制器,实现数据的发送、接收以及数据链路层处理等功能,部分控制器还集成了TCP/IP协议栈以简化网络应用开发,从而支持多通道通信和高效的网络数据传输。
一、主要硬件准备
1.1 主要硬件
Air8101开发板套件;
支持数据传输的USB数据线;
Win10及其以上PC电脑。
1.2 接线示意
配套以太网小板,可以直插到Air8101开发板上,对应端口如下图示:


需要注意的是:
因前期B10版本的开发板设计原因,测试以太网功能时,需要把SNeT的3.3V单独接到板子右侧SWD的3.3V。
实物连线如下图示:

二、最新源码及实操教程
Air8101应用示例持续更新中,当前以太网示例demo及实操教程,将教你使用LuatOS开发,实现Air8101通过以太网小板LAN8720连接网络。
最新源码及实操教程详见:
https://docs.openluat.com/air8101/luatos/app/driver/eth/
1)示例代码:


2)运行示意:


三、核心脚本代码详解
netdrv接口提供了一系列函数,用于实现相关网络配置与管理功能。
3.1 初始化指定netdrv设备
netdrv.setup(id, tp, opts)
1)参数:
id:int型(网络适配器编号,例如socket.LWIP_ETH);
tp:int型(实现方式,如果是设备自带的硬件,那就不需要传,外挂设备需要传,当前支持CH390H/D);
opts:int型(外挂方式,需要额外的参数,参考示例)。
2)返回值:
返回值类型:boolean;
说明:初始化成功与否。
3)例子:

3.2 开启或关闭DHCP
netdrv.dhcp(id, enable)
1)参数:
id:int型(网络适配器编号,例如socket.LWIP_ETH);
enable:boolean型(开启或者关闭)。
2)返回值:
返回值类型:boolean;
说明:成功与否。
3)例子:

3.3 设置或获取设备MAC
netdrv.mac(id, new_mac, raw_string)。
1)参数:
id:int型(网络适配器编号,例如socket.LWIP_ETH);
new_mac:string型(新的MAC地址,可选,必须是6个字节);
raw_string:boolean型(是否返回6字节原始数据,默认是否,返回HEX字符串)。
2)返回值:
返回值类型:boolean;
说明:成功与否。
3)例子:

3.4 设置或读取ipv4地址
netdrv.ipv4(id, addr, mark, gw)
1)参数:
id:int型(网络适配器编号,例如socket.LWIP_ETH);
addr:string型(ipv4地址,如果是读取就不需要传);
mark:string型(掩码);
gw:string型(网关)。
2)返回值:
addr:string型(ipv4地址);
mark:string型(掩码);
gw:string型(网关)。
3)例子:

3.5 开启或关闭NAPT
netdrv.napt(id)
1)参数:
id:int型(网关适配器的id)。
2)返回值:
返回值类型:bool;
说明:合法值就返回true,否则返回nil。
3)例子:

3.6 获取netdrv的物理连接状态
netdrv.link(id)
1)参数:
id:int型(netdrv的id,例如socket.LWIP_ETH)。
2)返回值:
返回值类型:bool;
说明:已连接返回true,否则返回false;如果id对应的netdrv不存在,返回nil。
3)例子:

3.7 获取netdrv的网络状态
netdrv.ready(id)
1)参数:
id:int型(netdrv的id,例如socket.LWIP_ETH);
2)返回值:
返回值类型:bool;
说明:已连接返回true,否则返回false;如果id对应的netdrv不存在,返回nil。
3)例子:

今天的内容就分享到这里了~
审核编辑 黄宇
-
以太网
+关注
关注
41文章
5924浏览量
179541 -
源码
+关注
关注
8文章
682浏览量
31093
发布评论请先 登录
Air8101多网融合战略升级:Air780EPM模块助力4G联网落地
以太网入门:从零开始,掌握以太网基础知识!
SoftAP方案:Wi-Fi配网的黄金法则“100%成功”
一篇带你搞定!Air8101:物联网设备AirKiss配网方案
Air8101革新物联网配网:AirKiss方案让设备连接更智能!
技术篇:Air8101视频录制常见问题与SD卡读写性能及上传阿里云教程详解!
Air8101实践指南:视频录制+SD卡存储+上传阿里云解析
支持WAN和LAN双网络模式,以太网连接想怎么用就怎么用 ~
一文读懂~ 源码开放:Air8101快速实现以太网功能!

零基础也能玩转!源码开放:Air8101快速实现以太网功能
评论