固定信道RSSI值的获取
时间:10-02
整理:3721RD
点击:
大家好:
想在我有个项目:具体是其中一个ble设备处于广播状态,而另一个做主机。我想从主机端这边获取三个广播信道中的其中一个信道的RSSI值。请问有办法吗?
谢谢!
Haizhi,
木有办法。
第一,在slave 端,每个广播频道都是在广播相同的数据,没有办法做到三个频道分别广播不同数据,所以首先master在应用层,就没有办法区分收到的广播包是来自哪个频道的。
第二,在master端,的确可以收到广播包和scan response 包的RSSI值,但是对master来说,在应用层不会区分来自哪个频道,所以也没有意义,协议是如此规定。
你是想做什么样的应用呢?应该想想其他方法。。。
或者你可以这样,固定37频道广播一段时间,取得RSSI值,再换38频道广播一段时间,同样取得RSSI值,最后39.。。
你好,Yan:
针对固定在某个广播频道进行广播是个非常好的想法,但是软件层面上可以具体怎样设置才能避免在三个广播频道上轮流广播呢?
万分感谢!此外CC254X是怎样测量RSSI值的,希望可以看到简要的说明图纸!
谢谢!
Haizhi,
我记得你可以在peripheral.c 中的 gaprole_init() 函数中设置初始广播频道, 可以固定在一个.
另外, 你可以通过GAPRole_SetParameter(GAPROLE_ADV_CHANEEL_MAP, 你要的频道); 这个函数来设置广播频道.
切记, 重新设置广播频道前,必须先停止广播. 设置完成之后,再广播.
测量RSSI 值涉及到射频的知识, 你有兴趣的话可以网上搜索一下 RSSI, 有很多讲解的, TI 用的也是一样的:)