为每个终端设备获取RSSI的正确方法是什么?
场景:在XBee Series 2无线模块,API模式下使用ZigBee固件,我有一个协调器和多个终端设备。每隔几秒钟,每个终端设备向协调器发送一个包含传感器信息的数据包,如温度......
我没有在要解析的任何API框架中看到RSSI字段。
如果我只是盲目地读取存储了最后一个收到的数据包的RSSI的pin6(或使用DB命令),我仍然不知道这个RSSI属于哪个终端设备。
答案 0 :(得分:2)
我不相信它可以作为你将要收到的任何API框架中的字段。您可以使用ATDB
命令获取RSSI值,但正如您所述,您不知道它与哪个远程设备相关联。
如果您真正使用终端设备(而不是路由器),那么您可以向每个设备发送一个远程ATDB
命令,响应将为您提供来自终端设备的父路由器的信号强度的指示,因为所有帧都来自该单个设备(作为最后一跳)。
即使使用路由器,您也可能保证获得远程AT请求帧的RSSI值 - 尽管您不知道网状网络上的哪个无线电是目标的最后一跳。
如果您有一个协调员和终端设备的网络,那么协调员就是父母,您将了解终端设备能够接收的程度 - 这对您的应用程序来说已经足够了。