CC2540在扫描的时候能读取RSSI吗?
在central端,GAPCentralRole_StartRssi函数能读到RSSI的值,,但是这个需要连接之后才能读到。
现在想请问下,1,在扫描的时候,能够读到RSSI的值吗?
2,Packet Sniffer接收蓝牙信号后,每次跟着RSSI的值,请问,Packet Sniffer是怎么工作的,一直在扫描吗?扫描间隔呢?
顶起来啊,,没人回答我啊。。
你应该再仔细看下主从机的源码,有很多值得研究的地方,
主机Role Event Callback回调函数里GAP_DEVICE_INFO_EVENT里是告知主机接收到从机的Adv Data或者Scan Response,
pEvent->deviceInfo结构体成员里有很多重要的参数,其中就包括rssi值。大多数时候,别人比较关注他的:
uint8 *pEvtData; //!< Data field of advertisement or SCAN_RSP
当然,也有你要的rssi
ghostyu的回答给了我很大的启发!我想请问如果不扫描,simpleBLEPeripheral#1是否可以读取到simpleBLEPeripheral#2的rssi值。
你好有相关的例程吗,可以发送一段怎么调用的具体程序给我吗?
在不连接的情况下,我读取的pEvent->deviceInfo结构体里的rssi一直是4,这正常嘛?
另外, 应该怎么从uint8 *pEvtData;数据里找出rssi?
case GAP_DEVICE_INFO_EVENT:
{
simpleBLEAddDeviceInfo( pEvent->deviceInfo.addr, pEvent->deviceInfo.addrType );
int8 rssiAver;
int8 newRSSI = -(pEvent->deviceInfo.rssi);
按照如上红色字体 方法读取RSSI,就可以了。
谢谢,终于明白了。
先前我一直是在下面这个事件里找RSSI的,值始终不变。
case GAP_DEVICE_DISCOVERY_EVENT:
{
// discovery complete
simpleBLEScanning = FALSE;
}
仔细看这个宏的定义才发现一个是扫描过程执行,一个是扫描完成后执行。
十分感谢,ghostyu和Mr Tao ,想进一步问一下,现阶段测出点对点的rssi了,下一步您是如何推进的。谢谢了。
Mr Hu,我现在只是调研阶段,还未运用到实际的应用中,不过,初步设想可以用这个rssi测距,进而达到定位的效果。
十分感谢Mr Dong,我也在做室内定位,现在主要处于课题后期。关于rssi测距的精度建模上,还没有考虑。现在主要考虑节点的接入问题。
您客气了Mr Hu,精度于定位应该是一个比较关键也比叫棘手的问题,我这边还没有考虑关于精度的问题,不过,听说有一些可参考的指纹算法,具体我也不太清楚,有时间看一下。
我通过测试发现,这个值和sniffer抓取出来的相差10dbm,请问你遇到过吗?
我通过测试发现,这个值和sniffer抓取出来的相差10dbm,请问你遇到过吗?
你好,请问你这个问题现在解决了么?请教怎么解决的啊?
也没解决啊。我还丢包严重
你的这个构想有进展么,实现定位了么
我想读取多路的rssi,应该怎么弄个呢,在一个广播信道上怎么读取个个从设备的RSSI呢