1.是不是可以在一个定时周期里同时notify多个特征值,这样的话手机端能都记录下这些数据吗?
2.可不可以在一个定时周期里多次更新同一个特征值以提高传输速率?
3.请问传输连接间隔具体是怎么影响速率的?
Yan:
Devil,
你说的一个定时周期是指connection interval?
如果是connection interval,
1. 完全可以。
2. 这个很难保证。你更新特征值这件事情本身就要花费一定时间。
3. 看来你前面说的不是connection interval。你这里说的才是。connection interval越短,两次传输之间的间隔就越小,速度自然越快。顺便推翻前面的1和2结论,如果1和2你值的是定时器timer的周期的话,1和2是可以实现的。
Devil Sunny:
回复 Yan:
多谢解答
Devil Sunny:
回复 Yan:
你好Y:
我在一个2ms的定时器Timer周期里多次且每次同时更新了多个特征值并Notify出去,传输一定周期后不再传输。
手机用lightblue里的log菜单查看数据,因为里面有时间戳,所以我根据每个Notify出来的值的时间来计算传输速率,这样算出来的速率在150K-160KByte/s不等,connection interval为16ms,请问这样算出来的数据对吗?
allen xu:
回复 Yan:
在一个connection interval里可以Notify多个特征值吗? 不是每个connection event最多只能传20个字节数据吗?
Yan:
回复 Devil Sunny:
Devil,
2ms太快了,BLE的最短connection interval 为7.5ms。
还是如之前所说,iOS很难保证在一个connection event里面有多个notification可以发送出来,事实上可以说是几乎不可能。iOS只有它认为在“非常完美,干净”的2.4G信号环境中,才有可能在一个connection event里面允许多次数据交互,一般情况下就只允许交互一次。
所以你这个2ms洲际多次更新多个特征值并notify出去,应该是做不到的。
Devil Sunny:
回复 Yan:
你好Y:
多谢你的耐心解答
1.可能我对Notify的理解有错了,我觉得Notify的作用是从机发数据以后,如果IOS这端收到了数据就进行通知,但是这个通知是以提醒的方式给用户看的,那么这些Notify的数据只是说明IOS收到了,但是并没有保存到本地,是这样吗?
2.如果在手机端只是需要将数据存到本地的话,我需要做些什么呢?从机还是需要通过Notify的方式吗?
Devil Sunny:
回复 Yan:
另外,请问TI的吞吐量测试是怎么做的,有链接吗?