openEuler系统串口文件手法压力测试及脚本使用说明

发布于:2025-07-15 ⋅ 阅读:(22) ⋅ 点赞:(0)

目录

串口压力测试脚本使用说明

1、概要

2、测试环境准备

2.1PC端准备

2.2设备端准备

3、工具介绍

4、数据发送测试

4.1 PC端打开串口软件

4.2设备端执行测试脚本

4.3、算接收文件MD5码

5、数据接收测试

5.1设置串口接收

5.2 串口接收MD5值校验

6 附件

附件1 串口数据收发测试脚本

附件2 MD5码校验测试脚本

1、概要

设计串口数据压力测试自动化脚本,并对脚本即相关配测工具使用方法进行说明。

2、测试环境准备

2.1PC端准备

     1、PC端安装配测串口软件:sscom 

     2、PC端根据测试需要准备一定大小的文件(本说明以1M数据文件为例进行测试)

2.2设备端准备

      1、设备端提前将ttysTest文件夹放置到系统中

3、工具介绍

1、sscom 软件可打开相应串口,设置相应波特率,可根据需要将接收数据保存到文件,同时可以发送文件到设备端

     

2、ttysTest.sh文件为串口收发测试脚本,reciveMD5Test.sh文件为接收数据MD5检验脚本

4、数据发送测试

4.1 PC端打开串口软件

PC端打开sscom测试软件,并设置正确的串口号跟波特率后打开串口

Pc端选择接收数据到文件,sscom会自动保存数据到提示的文件中,一般保存目录为sscom工具安装目录。

4.2设备端执行测试脚本

1、设备端进入测试脚本文件夹

2、执行测试脚本,并根据提示输入串口号和波特率,脚本自动发送文件夹内txt文件到PC端

4.3、算接收文件MD5码

1、修改PC端接收数据文件格式为txt类型

2、打开PC机cmd命令工具,计算设备端发送文件MD5值,并与设备端显示MD5值比较,数值一致为测试通过

5、数据接收测试

5.1设置串口接收

1、执行测试脚本ttysTest.sh 数据发送完成后,按任意键退出,即进入串口数据接收模式

2、PC端sscom选择文件后,选择HEX发送,点击发送文件

3、sscom会显示数据发送进度

4、根据sscom显示,发送完成后,设备端按Ctrl+c退出接收

5.2 串口接收MD5值校验

1、PC端计算发送文件MD5值

2、设备端执行 sh ReceiveMD5Check.sh,根据提示输入发送数据MD5值

3、脚本计算并对比接收文件MD5值与输入MD5值是否一致,数值一样为测试通过

6 附件附件1 串口数据收发测试脚本

#!/bin/bash

# 检查参数个数

read -p "请输入串口号/dev/ttyS*:" port

serial_port="/dev/ttyS$port"

# 使用stty检查串口设备是否存在

if [[ -c $serial_port ]]; then

    echo "串口设备存在:$serial_port"

else

    echo "串口设备不存在:$serial_port"

    exit 1

fi

#echo "串口号为:$serial_port"

read -p "请输入串口波特率:" serial_baudrate

echo "串口波特率为:$serial_baudrate"

stty -F $serial_port $serial_baudrate

echo "开始发送数据..."

cat devSend.txt > $serial_port

# 等待用户输入来结束脚本

read -p "按任意键退出发送" -n 1 -s

# 直接获取cat的PID

#kill $!

echo -e "\003"

echo "发送完成"

md5Send=$(md5sum devSend.txt)

echo "发送文件MD5值:$md5Send"

echo -e "请比对文件MD5值,若MD5值一致,串口发送测试通过"

#cat指令还在运行强行结束

#if [ -n "$!" ]; then

#  kill $!

#fi

stty -F $serial_port -icanon min 1 time 0

#stty -F $serial_port -close

#进入串口数据接收

stty -F $serial_port $serial_baudrate

echo "开始接收串口数据,按Ctrl+c退出串口接收"

cat $serial_port > pcSend.txt

exit

附件2 MD5码校验测试脚本

#!/bin/bash

read -p "输入PC端发送文件MD5值:" pcMD5

md5Recive=$(md5sum pcSend.txt | awk '{print $1}')

echo -e "\n接收文件MD5值:$md5Recive"

if test $pcMD5 = $md5Recive

then

    echo "接收文件MD5值一致"

    echo "串口接收测试通过"

else

    echo "接收文件MD5值不一致"

    echo "串口接收测试失败"

fi

exit