大纲:
#产测工具的重要性
#产测条件与测试环境
#产测测试项明细
#产测测试项简介
#产测实现细节剖析
#产测工具的重要性
产测工具是检测产品质量以及提高量产速度很重要的一种手段。对于物联网产品来说,主要针对的测试模块是wifi模块。wifi性能的好坏,决定了整个物联网通信流程的顺畅程度。
#产测条件与测试环境
产测条件:
使用产测工具之前,需要准备一个前提条件。一是产品中的wifi模块已经烧好测试模式下的固件,能与PC产测工具进行局域网通信。[1]
测试环境:为了屏蔽干扰,wifi模块必须放入高密度屏蔽箱,PC与wifi模块之间的通信通过无线网卡的形式连接屏蔽箱内外的通信链路。
如图 1所示。
图1 产测工具示意图
#产测测试项明细
对于wifi模块,性能测试主要包括以下项目:
版本号
接收信号强度
吞吐率
#产测测试项简介
下面开始看看测试项:
版本号:
PC产测工具获得wifi模块的版本号原因是确定wifi模块的软件版本号。可以判断wifi当前的固件版本。
接收信号强度:
RSSI(接收信号强度)ReceivedSignal Strength Indicator
Rss=10logP,
只需将接受到的信号功率P代入就是接收信号强度(灵敏度)。
因为无线信号多为mW级别,所以对它进行了极化,转化为dBm而已,不表示信号是负的。1mW就是0dBm,小于1mW就是负数的dBm数。
对于屏蔽箱的测试环境,wifi的信号强度>=-30dbm就合格了。
吞吐率:
吞吐率原指一个业务系统在单位时间内提供的产量(或服务量)。在计算机或数据通信系统,指的是单位时间内通过某通信信道(a communication channel)或某个节点成功交付数据的平均速率,通常以每秒比特数(bps, bits per second )为单位。吞吐率表明了wifi发送以及接收数据的速率。
有开源的iperf的网络性能测试工具可供使用(可以测试吞吐率(带宽),时延,抖动和丢包率)。
但对于小型的嵌入式系统来说,iperf需要自己仿照实现,在项目中吞吐率的测试是基于C/S 的socket通信测试。
如:
如1k的数据量,,回环路径消耗时间是2ms,那么传输速率就是1k*8bit/((2/1000)s)
当测试上行(上传的速率)时,嵌入式端作为Client, PC产测端作为Server。测试时Client向Server发送数据。
当测试下行(下载的速率)时,嵌入式端作为Server, PC产测端作为Client。测试时Server接收Client发送的数据。
#产测实现细节剖析
在正式开始测试前,我们应该了解wifi模块是怎样与PC工具通信的呢?
局域网通信。为了检测wifi的性能,就要接助wifi自身的AP热点来进行通信。此时wifi模块和电脑无线网卡在同一个网络下,就可以用socket进行通信了。
你可能还会有个疑问,PC热点是怎样连上wifi模块的热点的?
按照常理来说,我们在PC上手动找到wifi模块的热点再连上,就好了。但是对于量产成千上万的模块来说,用这样的方式效率就有点低了。一般来说,wifi模块也是有一个身份证的,就是mac地址。量产时厂商都会给wifi模块贴一张二维码(wifi mac地址),通过扫码枪,就可以把wifi模块的mac地址读出来。mac地址有了就好办了。
还有个疑问,PC产测工具是如何通过mac地址找到wifi模块并连上其AP热点的?
有一种RARP反向地址转换协议,在局域网内可以做到根据mac地址找到对应IP地址。有了wifi的IP地址和已知端口好,就可以用TCP/UDP进行通信。
RARP反向地址转换协议
RARP反向地址转换协议,允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。网络管理员在局域网网关路由器里创建一个表以映射物理地址(MAC)和与其对应的 IP 地址。当设置一台新的机器时,其 RARP 客户机程序需要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器,此机器就会存储起来以便日后使用。 RARP 可以使用于以太网、光纤分布式数据接口及令牌环[3]
当然,我们也可以通过IP地址找到设备的mac地址,可以参考[2]
在wifi模块和PC工具的通信链路建立好以后,就可以愉快的进行测试了。
参考:
[1]产测工具在手,妈妈再也不用担心我的量产了。
http://club.gizwits.com/forum.php?mod=viewthread&action=printable&tid=1304
[2]ARP-NAT(MAC Address Translation)的原理
https://www.cnblogs.com/tanhangbo/p/7811067.html
[3]ARP和RARP各用在什么场合
https://zhidao.baidu.com/question/537551582.html