tuoyiheng 94e52e08cb update: 更改Air8101 iperf demo所用网卡 3 ماه پیش
..
netdrv 94e52e08cb update: 更改Air8101 iperf demo所用网卡 3 ماه پیش
iperf_client.lua c46d3ec31a add: 新增iperf demo示例 4 ماه پیش
iperf_server.lua c46d3ec31a add: 新增iperf demo示例 4 ماه پیش
main.lua 94e52e08cb update: 更改Air8101 iperf demo所用网卡 3 ماه پیش
netdrv_device.lua 94e52e08cb update: 更改Air8101 iperf demo所用网卡 3 ماه پیش
readme.md 94e52e08cb update: 更改Air8101 iperf demo所用网卡 3 ماه پیش

readme.md

功能模块介绍

1、main.lua:主程序入口,用于选择加载服务器或客户端模块;

2、iperf_server.lua:iperf服务器模块,引用网络初始化模块并启动iperf服务器;

3、iperf_client.lua:iperf客户端模块,引用网络初始化模块并连接到服务器进行测试;

4、netdrv_device:配置连接外网使用的网卡,目前支持以下两种选择(二选一)

(1) netdrv_eth_rmii:通过MAC层的rmii接口外挂PHY芯片(LAN8720Ai)的以太网卡

(2) netdrv_eth_spi:通过SPI外挂CH390H芯片的以太网卡

演示功能概述

本项目演示如何使用Air8101核心板进行网络性能测试。通过修改后的代码,可以实现两台Air8101核心板通过路由器连接,进行网络吞吐量测试。

1、支持以下功能特性:

  • 支持DHCP客户端模式,自动从路由器获取IP地址
  • 服务器模式和客户端模式分离,可在不同设备上运行
  • 增强的错误处理和超时机制
  • 清晰的日志输出,便于调试和监控
  • 带宽自动计算并以Mbps显示

演示硬件环境

1、两台Air8101核心板

2、一台路由器(支持DHCP功能)

3、网线两根

4、Air8101核心板和数据线的硬件接线方式为

  • Air8101核心板通过TYPE-C USB口供电;

  • 如果测试发现软件频繁重启,重启原因值为:poweron reason 0,可能是供电不足,此时再通过直流稳压电源对核心板的vbat管脚进行4V供电,或者5V管脚进行5V供电;

  • TYPE-C USB数据线直接插到核心板的TYPE-C USB座子,另外一端连接电脑USB口;

5、AirETH_1000配件板一块,Air8101核心板和AirPHY_1000配件板的硬件接线方式为:

Air8101核心板 AirPHY_1000配件板
59/3V3 3.3v
gnd gnd
5/D2 RX1
72/D1 RX0
71/D3 CRS
4/D0 MDIO
6/D4 TX0
74/PCK MDC
70/D5 TX1
7/D6 TXEN
不接 NC
69/D7 CLK

6、可选AirETH_1000配件板一块,Air8101核心板和AirETH_1000配件板的硬件接线方式为:

Air8101核心板 AirETH_1000配件板
59/3V3 3.3v
gnd gnd
28/DCLK SCK
54/DISP CSS
55/HSYN SDO
57/DE SDI
14/GPIO8 INT

演示软件环境

1、Luatools下载调试工具

2、Air8101 固件

演示核心步骤

1、搭建好硬件环境

2、配置服务器端(一台核心板+AirETH_1000配件板)

a. 确保main.lua中已启用服务器模块,禁用客户端模块:

   -- 加载 iperf 服务器测试模块
   require "iperf_server"

   -- 加载 iperf 客户端测试模块
   -- require "iperf_client"

b. 烧录到一台Air8101核心板

c. 连接AirETH_1000配件板到路由器的LAN口

d. 启动核心板,系统会自动加载netdrv_eth_spi模块进行网络初始化,获取IP地址并启动iperf服务器

3、配置客户端(另一台核心板+AirETH_1000配件板)

a. 修改iperf_client.lua文件中的服务器IP地址为服务器核心板的实际IP地址:

   -- 配置服务器IP地址(需要根据实际服务器IP进行修改)
   local SERVER_IP = "192.168.1.3"  -- 这里需要修改为实际的服务器IP地址

b. 确保main.lua中已启用客户端模块,禁用服务器模块:

   -- 加载 iperf 服务器测试模块
   -- require "iperf_server"

   -- 加载 iperf 客户端测试模块
   require "iperf_client"

c. 烧录到另一台Air8101核心板

d. 连接AirETH_1000配件板到路由器的LAN口

e. 启动核心板,系统会自动加载netdrv_eth_spi模块进行网络初始化,获取IP地址并尝试连接到服务器

查看测试结果

测试启动后,可以通过Luatools工具查看测试日志。客户端将显示实时的测试报告,包括数据量、持续时间和带宽(以Mbps为单位)。

2025-11-06 17:02:24.658][000000013.298] I/user.iperf测试 测试进行中...
[2025-11-06 17:02:24.675][000000013.314] D/iperf iperf正常结束, type 1
[2025-11-06 17:02:24.677][000000013.314] D/lwiperf iperf_free 88 c1d553c
[2025-11-06 17:02:24.678][000000013.316] D/iperf report bytes 5989824 ms_duration 10002 bandwidth 4784 kbps
[2025-11-06 17:02:24.680][000000013.317] I/user.iperf报告 数据量: 5989824 bytes, 持续时间: 10002 ms, 带宽: 0.04 Mbps

注意事项

1、确保两台核心板和电脑都连接到同一个路由器,并且路由器已启用DHCP功能

2、服务器的IP地址需要在客户端配置文件中正确设置,否则客户端将无法连接

3、默认情况下,服务器在端口5001上监听连接请求

4、测试默认持续2分钟后自动结束

常见问题排查

1、无法连接到服务器

  • 确认服务器IP地址是否正确
  • 检查两台设备是否在同一网段
  • 检查网线连接是否牢固