- 对于新拿到的合板一般要先进行一波基础功能的测试,即对于一些功能接口(PoE,sd卡,喇叭,咪头等等)先进行初步的使用和测试。其中也包括对网络的测试,前段时间记录了纯手动xshell+cmd+iperf3的测试网络吞吐量的大小。为了提高效率,xshell可以添加一些快捷按钮。但是正好刚写了相关的其他脚本,随手一改我就能拥有摸鱼一分钟的快乐(也可以加个循环连续摸鱼十分钟)。
- 影响主板网络通信的因素有很多。电脑作为服务器连了网线还是wifi,网线的长度,主板是否连接了灯板,电源是PoE还是DC,sd卡或者其他接口同时也在工作都会有或多或少的影响。结合我自己的情况,选择了100m网线+设定了50M的带宽,两种上电方式都要确保丢包率接近0才算ok。
- 测试大体步骤是要用tftp将iperf3传送给设备,将cmd打开运行iperf3(作为server,每隔2秒跳出一次通信情况),语句如下。
iperf3 -s -i 2
然后运行脚本,也可以打成exe再运行。等待结果然后对比。
```bash
#! /usr/bin/python3.7
# 1. 先ping 192.168.1.154可以ping进入第2步
# 2. telnet 192.168.1.154
# 3. 发送iperf3 cd /tmp ;tftp -gl iperf3 192.168.1.154
# 4. 50M抓取60s,每2s进行一次反馈,最后反馈一个丢包率
# 5. 后期可以改进输入 任意带宽,次数,运行时间,平均丢包率计算
import json
import logging
import time
import telnetlib
import os
import socket
global testIp
global hostIp
port = 23
USER = 'root'
PSW_1 = "root"
# 获取本地网卡的ip地址
def get_ip_address():
res = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
res.connect(("8.8.8.8", 80))
return res.getsockname()[0]
# 测试ping连接情况
def pingHost(host):
status1 = 'PING SUCCESS'
status2 = 'PING FAILED'
nowTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
p = os.popen("ping " + host + " -n 2")
line = p.read()
if "无法访问目标主机" in line:
print("***********" + nowTime, host, status2 + "**********")
return False
else:
print("***********" + nowTime, host, status1 + "**********")
return True
# 等待执行
def wait_read(client, nwait):
time.sleep(nwait