当前位置: 首页 > news >正文

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

目录

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

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

http://www.lryc.cn/news/587694.html

相关文章:

  • 11.设置 Python 3 和 pip 3 为默认版本
  • 从零构建搜索引擎 build demo search engine from scratch
  • 如何单独安装设置包域名
  • PostgreSQL ExecInitIndexScan 函数解析
  • Cesium源码打包
  • MyBatis 在执行 SQL 时找不到名为 name 的参数
  • 项目进度压缩影响质量,如何平衡进度与质量
  • 多模态数据处理新趋势:阿里云ODPS技术栈深度解析与未来展望
  • 【Echarts】 电影票房汇总实时数据横向柱状图比图
  • 【PostgreSQL异常解决】`PostgreSQL`异常之类型转换错误
  • 第十九篇 自动化报表生成:Python一键生成可视化Excel图表与专业PDF报告,老板看了都点赞!
  • C++11 std::is_permutation:从用法到原理的深度解析
  • grpo nl2sql qwen3 模型强化学习训练有效果的成立条件有哪些
  • c#如何将不同类型的数据存储到一起
  • 基于hadoop的竞赛网站日志数据分析与可视化(下)
  • 基于光栅传感器+FPGA+ARM的测量控制解决方案
  • 图像修复:深度学习GLCIC神经网络实现老照片划痕修复
  • RNN(循环神经网络)
  • 【git fetch submodule报错】Errors during submodule fetch 如何解决?
  • VUE export import
  • 【算法深练】BFS:“由近及远”的遍历艺术,广度优先算法题型全解析
  • 人工智能如何重构能源系统以应对气候变化?
  • 从数据洞察到设计创新:UI前端如何利用数字孪生提升产品交互体验?
  • Pythonic:Python 语言习惯和哲学的代码风格
  • vue中使用西瓜播放器xgplayer (封装)+xgplayer-hls 播放.m3u8格式视频
  • Vue+axios
  • Rust语言实战:LeetCode算法精解
  • 从“炼丹”到“流水线”——如何用Prompt Engineering把LLM微调成本打下来?
  • 内容管理系统指南:企业内容运营的核心引擎
  • Retinex视网膜算法(SSR、MSR、MSRCR)