CC2530定位rssi值
时间:10-02
整理:3721RD
点击:
现在在做cc2530 定位,组播通信方式,设置了两个路由器来转发终端发来的数据,然后在发给协调器,协调器通过pkt->rssi获取rssi值。
如果要定位设置参考节点(路由器)怎么在协调器上获取不同参考节点转发过来的数据包的rssi值来进行定位?
协调器上的接收数据函数:
void SDApp_MessageMSGCB( afIncomingMSGPacket_t *pkt ) { uint8 rssi_buf[3]; if(0x0001 == pkt->groupId) //组别为1 { if(10 == pkt->endPoint) //房间号为10 { switch(pkt->clusterId) //簇号为0001 { case 0x0001: rssi_buf[0] = pkt->rssi; Uart_Send_String(rssi_buf,1); HalLedBlink (HAL_LED_1, 5, 50, 1000); break; } } } }
你指的是定位算法吗?两个节点的话可能不够精确,一般做定位最好多设置几个参考节点。
RSSI定位算法TI没有理睬,你可以参考下第三方: https://wenku.baidu.com/view/54eaa942453610661fd9f430.html
不是,我的意思是现在我只能获取一个rssi值,多个参考节点应该会有多个rssi值嘛,代码上怎么接收到多个rssi值
你只要与你的参考点和你数据收集的节点进行通讯就能拿到RSSI。
协调器代码上是如何实现接收多个参考节点的rssi值?
pkt->rssi 也只能得到一个把
这就是你要实现的业务逻辑了。