测试脚本的实用性:谈嵌入式系统在型式试验中的脚本应用

        产品在定型前,嵌入式系统需要对设备进行一系列的试验,包含环境性试验和可适应性试验,在这里谈谈可适应性中脚本的应用。

环境描述:

设备需要做emc试验,包含静电,脉冲和浪涌试验。

要验证设备在做试验的过程中是否有损伤、间歇性异常等不良情况,就需要对设备进行实时监控。这样就需要对设备进行在线监控。

当然开发一个上位机软件实时连接设备在线监测是最理想的状态,但是需要消耗大量的人力和物力,在这里我们使用脚本来实现,消耗的时间较少,当然,我们今天的目的不是研究如何使用脚本监测硬件状态,略过不说,抱歉抱歉。。。

难点:

由于emc试验对设备会有损伤的同时,所以对监测设备(如电脑、串口线、网线)也有一定的损伤,经过实践发现,采购抗干扰能力强的设备会有不错的效果,即使增加磁环也不能完全避免这个现象,这样对我们采集实时的状态带来了一定的不确定性。

解决方法:(举例)

while true

do

        echo "====================" > /dev/console

        echo "test wifi" > /dev/console

        echo "====================" > /dev/console

/bin/ping 192.168.124.1 -I wlan0 -c1

[ $? -eq 0 ] && echo "wifi ping success" > /dev/console || echo "${RED} wifi ping failure" > /dev/console

sleep 2

done

以上是一个检测wifi的脚本,运行脚本后会一致检测wifi的状态,并将检测的状态(wifi ping success   或者  wifi ping failure)打印到屏幕上,供我们在线查看。

在试验的过程中会出现这样一个情况,串口设备会因为emc的干扰产生中断,这样在中断的时间里无法看到设备的实际状态。

可以采用将输出信息也打印到文件中来完成,即使中断了,也可以事后查看log文件来分析。

while true

do 

echo "====================" >/dev/console

echo " test wifi" >/dev/console

echo "test wifi" >> auto.txt

echo "====================" >/dev/console

/bin/ping 192.168.124.1 -I wlan0 -c1

[ $? -eq 0 ] && echo "wifi ping success" >> auto.txt || echo "${RED} wifi ping failure" >> auto.txt

[ $? -eq 0 ] && echo "wifi ping success" >/dev/console || echo "${RED} wifi ping failure" >/dev/console

sleep 2

done

这样就可以将检测过程的文件输出到  auto.txt 文件中。

经试验发现效果不错,在做电源浪涌的时候,发现设备重新启动了,这下完了,不知道啥时候启动,具体是由于哪个回路的浪涌信号引起的,我总不能一直盯着设备看吧,即使一直盯着,可能也看不到啊。干脆加个时标吧,就变成这个样子了。

while true

do 

echo "====================" >/dev/console

echo "`date +%T` test wifi" >/dev/console

echo "`date +%T` test wifi" >> auto.txt

echo "====================" >/dev/console

/bin/ping 192.168.124.1 -I wlan0 -c1

[ $? -eq 0 ] && echo "wifi ping success" >> auto.txt || echo "${RED} wifi ping failure" >> auto.txt

[ $? -eq 0 ] && echo "wifi ping success" >/dev/console || echo "${RED} wifi ping failure" >/dev/console

sleep 2

done

需要注意的一点是,做试验之前,需要对设备进行对时。这样就可以观察到从什么时间开始、结束,只要记录下验证不同项目的时间点,就可以对照时间,查找当时的异常情况了。感觉心里有底多了。

以上仅作记录,供有需求的人参考。

Guess you like

Origin blog.csdn.net/mainmaster/article/details/118852853