This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2530:获取RSSI值

Guru**** 2534260 points
Other Parts Discussed in Thread: CC2530, CC2531, CC2531EMK

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/661397/cc2530-get-the-rssi-value

部件号:CC2530
主题中讨论的其他部件: CC2531CC2531EMK

如何使用CC2530获取父路由器中终端设备的值 ?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以使用API ZDP_MgmtLqiReq获取它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    使用ZDP_MgmtLqiReq,我们只获得链路质量,而不是RSSI值,LQI始终是一个恒定的值!! 我想知道传输的数据包的强度。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议使用Zigbee Standard中的标准方法,您可以将LQI转换回RSSI。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何将LQI转换为RSSI?? lqiReq中的目标地址是哪一个??(它是终端设备)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以使用等式“LQI = 255 *(RSI + 81)/91”进行转换。 目的是作为终端设备父设备的路由器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的,谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在LQI始终获得相同的值,值没有变化。为什么???
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何获得LQI?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用了此ZDP_MgmtLqiReq函数
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我是指您如何接收和分析LQI?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    zclSampleThermostat_ProcessZDOMsgs( zdoIncomingMsg_t *pMsg )

    zclEZMode_ActionData_t数据;
    ZDO_MatchDescRsp_t *pMatchDescRsp;
    if( pMsg->clusterID == Mgmt_LQI_rsp )

    字符sDisplayTemp[16];
    UINT16数据;
    UINT8状态;
    UINT8 startIndex = 0;
    UINT8邻居LqiCount =0;
    UINT8 eniLqiEntries =0;
    UINT8 *消息;

    MSG = pMsg->ASDU;

    状态=*msg++;
    如果( status == ZSuccessess )

    niersLqiEntries =*msg++;
    startIndex =*msg++;
    niersLqiCount =*msg++;
    _ltoa( nitiLqiCount,(void *)(&sDisplayTemp[0]), 16);
    HalLcdWriteString (sDisplayTemp,HAL_LCD_LINE_2);
    }
    UINT8 x;
    ZDP_MgmtLqiItem_t *plist;


    对于(x =0;x < ni不足 计数;x++)

    UINT8温度;

    plist->panID = 0;//这不在记录中,为什么它在结构中?
    OSAL_cpyExtAddr(plist->extPanID,msg);//复制扩展PAN ID
    MSG += Z_EXTADDR_LEN;

    OSAL_cpyExtAddr(plist->extAddr, msg);//复制扩展地址
    MSG += Z_EXTADDR_LEN;

    plist->nwkAddr = build_UINT16( msg[0],msg[1]);
    MSG +=2;
    data=plist->nwkAddr;
    _ltoa( data,(void *)(&sDisplayTemp[0],16),16);
    HalLcdWriteString (sDisplayTemp,HAL_LCD_LINE_3);
    data=plist->panID;
    _ltoa( data,(void *)(&sDisplayTemp[0],16),16);
    HalLcdWriteString (sDisplayTemp,HAL_LCD_LINE_1);

    tmp =*msg++;
    plist->devType = tmp & 0x03;
    plist->rxOnIdle =(tmp >>2)和0x03;
    plist->Relation =(tmp >>4)& 0x07;

    plist->permit =(*msg++)和0x03;

    plist->depth =*msg++;

    plist->LQI =*msg++;
    plist++;
    }
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议您使用Ubiqua Protocol Analyzer检查LQI响应中的内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我只有CC2531数据包嗅探器
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ubiqua协议分析仪可与CC2531EMK配合使用。 您可以从 www.ubilogix.com/.../下载Ubiqua Protocol Analyzer