nordic对苹果性能测试
环境:
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的最大速率值。
测试结果:
(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对苹果性能测试的更多相关文章
- 苹果 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 ...
- 苹果强制使用HTTPS传输了怎么办?——关于HTTPS,APP开发者必须知道的事
WeTest 导读 2017年1月1日起,苹果公司将强制使用HTTPS协议传输.本文通过对HTTPS基础原理和通信过程内容的讲解,介绍APP开发者在这个背景下的应对办法. 几周前,我们在<htt ...
- Nordic nRF51/nRF52开发环境搭建
本文将详述Nordic nRF51系列(包括nRF51822/nRF51802/nRF51422等)和nRF52系列(包括nRF52832/nRF52810/nRF52840)开发环境搭建. 1. 强 ...
- Locust性能测试学习总结
Locust学习总结分享 简介: Locust是一个用于可扩展的,分布式的,性能测试的,开源的,用Python编写框架/工具,它非常容易使用,也非常好学.它的主要思想就是模拟一群用户将访问你的网站.每 ...
- [原创]App性能测试指标篇
[原创]App性能测试指标篇 目前由于苹果,三星等大厂对智能手机的研发及投入,使的智能手机发展非常迅速,每个人手中都有一些离不开生活的App,如:微信,微博,百度或是各游戏App等,但是到底App性能 ...
- Android性能测试框架Emmagee
目前移动设备,尤其是Android设备,相对于过去的J2me时代,硬件有大幅度的提高,并且更新地非常快,可以安装和运行更多的应用. 但是目前安卓市场对于应用的要求并不如苹果商店那么严格,Android ...
- Nordic nRF5 SDK和softdevice介绍
SDK和Softdevice的区别是什么?怎么选择SDK和softdevice版本?芯片,SDK和softdevice有没有版本兼容问题?怎么理解SDK目录结构?SDK帮助文档在哪里?Softdevi ...
- Android性能测试 | 启动时间篇
[转载]原文地址:http://www.51testing.com/html/93/n-3724593.html 背景介绍 Android用户也许会经常碰到以下的问题: 1)应用后台开着,手机很快没电 ...
- 毕业两年做到测试经理的经历总结- 各个端的自动化,性能测试结合项目具体场景实战,分析客户反馈的Bug
前言 最近看到行业的前辈都分享一些过往的经历来指导我们这些测试人员,我很尊敬我们的行业前辈,没有他们在前面铺路,如今我们这帮年轻的测试人估计还在碰壁或摸着石头过河,结合前辈们的经验,作为年轻的测试人也 ...
随机推荐
- 二、多线程之Atomic包
一.简介 1.原子操作 我们在使用变量的时候,经常会出现资源竞争的情况,为了保证变量安全,我们就会对对应的方法添加"synchronized"同步锁来达到目的,以保证线程安全. 而 ...
- 06-码蚁JavaWeb之Servlet生命周期与基本配置
学习地址:[撩课-JavaWeb系列1之基础语法-前端基础][撩课-JavaWeb系列2之XML][撩课-JavaWeb系列3之MySQL][撩课-JavaWeb系列4之JDBC][撩课-JavaWe ...
- 如何解决本地mvn编译安装的jar包在IDEA的pom文件中找不到
在IDEA中maven作为一个内置的工具,不需要任何配置就可以使用,点开settings 可以看到有三个maven可以选择 C:/apache-maven-3.5.3这个maven当然是我自己安装的, ...
- 设置centos7.3的YUM源为国内阿里云源
CentOS系统更换软件安装源 第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cent ...
- maven 程序包com.sun.image.codec.jpeg
在 Pom.xml 增加 <build> <plugins> <plugin> <artifactId>maven-compiler-plugin< ...
- JavaScript函数与面向对象
一.JS面向对象 function Func(name,age){ //this = obj this.Name = name; this.Age = age; } obj = new Func('r ...
- MySQL mysqldump数据导出基本操作
mysqldump mysqldump命令是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中. 选项 --all-databases, -A:导 ...
- 解决react不能往setState中传key作为参数的办法(文章最后实现了传递key做参数的办法)
读者朋友可以直接看最后一个分割线下面的那部分!利用方括号语法来动态的访问对象的属性,实现当参数为属性名的传递; 有时候我们需要每次单独设置众多state中的一个,但是,都是进行相同的操作,这时候如果每 ...
- 解决ArcMap启动时只停留在初始化界面的方法
方法1 修改环境变量TEMP和TMP为C:\Temp 重启ArcMap. 方法2 关闭系统进程Print Spooler. 打开C:\WINDOWS\system32\spool\PRINTERS,删 ...
- 仿拉手团购App8-- 更多模块
1.获得缓存大小和清除缓存 应用内数据的所有路径: /data/data/com.xxx.xxx/cache - 应用内缓存(注:对应方法getCacheDir()) /data/data/com.x ...