1. 环境:

    app采用nrf connect或lightblue均可;

    nordic从端采用nrf52840开发板pca10056;

    说明与规定:

    (1)鉴于手机app无法主动连续快速发送多包数据,故只测试了上行数据,即nordic从端notify发送给苹果手机数据,连续发送1000包。但一般BLE上行和下行速率基本一致,所以手机发送的速率应和nordic发送给手机的速率应该是一致的。

    (2)苹果8及以上的手机支持蓝牙5.0,这之前的手机硬件不支持蓝牙5.0;

    (3)看最大通讯速率值时,不包括空闲部分的时间,例如下图:

    蓝色A到B的时间约为7.5ms,传输了297字节,所以速率为297/7.5=39.6KB/s;图中显示为41.1KB/s这是没问题的。

    至于粉色部分,为连接间隔30ms,也传输了297字节,所以通讯速率为297/30 = 9.9KB/s,但是图中也显示41.1KB/s,所以这里不是指的这30ms的平均速率

    ,而是指的那7.5ms的最大速率值。

  2. 测试结果:

    (1)苹果8,苹果X 和 苹果XS max在蓝牙4.0和蓝牙5.0下通信速率比较:

蓝牙4.0通讯时的截图(一个连接事件最大11包):

蓝牙5.0时的截图(一个连接事件最大6包):

蓝牙4.0截取较长一段时间的数据计算平均速率,约为8.42KB/s

蓝牙5.0截取较长一段时间的数据计算平均速率,约为32.4KB/s

(2)苹果6最大速率:

通讯截图(一个连接事件最大6包):

截取较长一段时间的测试数据(速率约为4.75KB/s):

综上所述:

苹果8以下的蓝牙4.0的手机实际平均速率约为:4.75KB/s;

苹果8及以上手机按照蓝牙4.0速率通讯时,实际平均速率约为:8.42KB/s,性能有所提高(一个连接事件增加了11-6=5包);

苹果8及以上手机按照蓝牙5.0速率通讯时,实际平均速率约为:32.4KB/s,性能有大幅提升;

测试中遇到的问题:

1. 使用nrf connect app测试,一旦启动从端发送,则app可能会崩溃或者闪退,需要重启app才能进行下一次测试。

2. iphone7无法通过nrf connect 读取设备的service list,故无法使用它完成测试。

nordic对苹果性能测试的更多相关文章

  1. 苹果 M1 芯片 OpenSSL 性能测试

    Apple M1(MacBook Air 2020) type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes md2 0.00 0.00 0.00 ...

  2. 苹果强制使用HTTPS传输了怎么办?——关于HTTPS,APP开发者必须知道的事

    WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输.本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法. 几周前,我们在<htt ...

  3. Nordic nRF51/nRF52开发环境搭建

    本文将详述Nordic nRF51系列(包括nRF51822/nRF51802/nRF51422等)和nRF52系列(包括nRF52832/nRF52810/nRF52840)开发环境搭建. 1. 强 ...

  4. Locust性能测试学习总结

    Locust学习总结分享 简介: Locust是一个用于可扩展的,分布式的,性能测试的,开源的,用Python编写框架/工具,它非常容易使用,也非常好学.它的主要思想就是模拟一群用户将访问你的网站.每 ...

  5. [原创]App性能测试指标篇

    [原创]App性能测试指标篇 目前由于苹果,三星等大厂对智能手机的研发及投入,使的智能手机发展非常迅速,每个人手中都有一些离不开生活的App,如:微信,微博,百度或是各游戏App等,但是到底App性能 ...

  6. Android性能测试框架Emmagee

    目前移动设备,尤其是Android设备,相对于过去的J2me时代,硬件有大幅度的提高,并且更新地非常快,可以安装和运行更多的应用. 但是目前安卓市场对于应用的要求并不如苹果商店那么严格,Android ...

  7. Nordic nRF5 SDK和softdevice介绍

    SDK和Softdevice的区别是什么?怎么选择SDK和softdevice版本?芯片,SDK和softdevice有没有版本兼容问题?怎么理解SDK目录结构?SDK帮助文档在哪里?Softdevi ...

  8. Android性能测试 | 启动时间篇

    [转载]原文地址:http://www.51testing.com/html/93/n-3724593.html 背景介绍 Android用户也许会经常碰到以下的问题: 1)应用后台开着,手机很快没电 ...

  9. 毕业两年做到测试经理的经历总结- 各个端的自动化,性能测试结合项目具体场景实战,分析客户反馈的Bug

    前言 最近看到行业的前辈都分享一些过往的经历来指导我们这些测试人员,我很尊敬我们的行业前辈,没有他们在前面铺路,如今我们这帮年轻的测试人估计还在碰壁或摸着石头过河,结合前辈们的经验,作为年轻的测试人也 ...

随机推荐

  1. 【转】IIS网站浏览时提示需要用户名密码登录-解决方法

    打开iis,站点右键----属性----目录安全性----编辑----允许匿名访问钩选 IIS连接127.0.0.1要输入用户名密码的解决办法原因很多,请尝试以下操作: 1.查看网站属性——文档看看启 ...

  2. 使用SQL语句创建数据库1

    创建一个数据文件和一个日志文件的数据库 user master --只想当前使用的数据库 GO --批处理标志 create database BOOK --创建book数据库 on primary ...

  3. 【11】Redis .net 实例 StackExchange.Redis框架

    1.创建测试项目并下载nuget包:StackExchange.Redis PM> Install-Package StackExchange.Redis 2.创建 RedisHelper类 p ...

  4. [编程] C语言结构体指针作为函数参数

    结构体指针作为函数参数:结构体变量名代表的是整个集合本身,作为函数参数时传递的整个集合,也就是所有成员,而不是像数组一样被编译器转换成一个指针.如果结构体成员较多,尤其是成员为数组时,传送的时间和空间 ...

  5. iptables-linux(ls)-inode-block

    Part1:iptables 环境:centos6.7 目前我只配置了INPUT.OUTPUT和FORWORD都是ACCEPT的规则 由于想要先实现防火墙规则,所以前面的内容讲的是方法,后面是详解ip ...

  6. MyBatis别名

    Spring的别名管理比较规范,有严格的接口规范,SimpleAliasRegistry实现 -> AliasRegistry接口,而且是线程安全的,Map也用的是ConcurrentHashM ...

  7. I/O处理小练习--保存用户账号密码

    I/O处理小练习--保存用户账号密码 用户输入姓名和密码,将每一个姓名和密码保存到文件中,输入done时程序结束 import java.io.*; public class Example { pu ...

  8. 1083 Cantor表

    题目描述 Description 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/1 1/2 1/3 1/4 1/5 … 2/1 2/ ...

  9. 军事机密(Secret.pas)

    军事机密(Secret.pas) [问题描述]        军方截获的信息由n(n<=30000)个数字组成,因为是敌国的高端秘密,所以一时不能破获.最原始的想法就是对这n个数进行小到大排序, ...

  10. 在主线程中慎用WaitForSingleObject (WaitForMultipleObjects)

    下面的代码我调试了将近一个星期,你能够看出什么地方出了问题吗?线程函数: DWORD WINAPI ThreadProc(    while(!bTerminate)    {        // 从 ...