现在在做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;}}} }
Viki Shi:
你指的是定位算法吗?两个节点的话可能不够精确,一般做定位最好多设置几个参考节点。
RSSI定位算法TI没有理睬,你可以参考下第三方: https://wenku.baidu.com/view/54eaa942453610661fd9f430.html
tao qin1:
回复 Viki Shi:
不是,我的意思是现在我只能获取一个rssi值,多个参考节点应该会有多个rssi值嘛,代码上怎么接收到多个rssi值
user4041165:
回复 tao qin1:
你只要与你的参考点和你数据收集的节点进行通讯就能拿到RSSI。
tao qin1:
回复 user4041165:
协调器代码上是如何实现接收多个参考节点的rssi值?
pkt->rssi 也只能得到一个把
user4041165:
回复 tao qin1:
这就是你要实现的业务逻辑了。
user5763553:
你好,请问此定位您是否实现,能否交流一下。谢谢。